캠핑과 개발

dxf file format

DEVELOPMENT2012. 8. 16. 13:30

dxf file format


dxf_Format-ddingdol33.doc


[출처] dxf file format|작성자 띵돌


[출처] dxf file format|작성자 띵돌

'DEVELOPMENT' 카테고리의 다른 글

windows에 있는 AppData 폴더란?  (0) 2015.07.30
Git  (0) 2013.12.30
XSLT 빠른 가이드  (0) 2012.01.13
Oracle, MSSQL, MySql 요약 설명서  (0) 2010.05.18
Maven 빌드 라이프 사이클(Lifecycle)  (0) 2009.11.19

우리나라의 좌표계


[출처] 좌표계의 기초|작성자 띵돌


1.      지구타원체

-         지구를 타원형의 구체로 모델링하여 사용한다이 때 타원체 모양의 설정값에 따라 여러가지 종류가 사용한다.

 

1) Bessel 1884 타원체 :

 

   중위도지역에서 실제 지구모양과 유사하여 중위도 지방의 국가에서 많이 사용하였음

   현재 우리나라의 TM좌표계에서 사용

 

2) WGS84타원체 :

 

기존 타원체 모델이 지구타원체 형상을 위주로 모델링하였으나이 타원체는 지구의 무게중심을 기준으로 모델링하였다인공위성의 궤도는 지구의 무게중심을 기준으로 일정 반경상에서 회전하므로 GPS를 기초한 위치 측정에 유리현재는 세계적 표준으로 사용되고 있음.

 

2.      Projection(좌표계)

 

1) TM

-         횡메르카르도 도법

-         기준 경위도를 중심으로 상대적인 거리를 표현하는 방법으로 타원체를 평면에 투영하여 표현하는 방식으로 표현범위가 작은 경우에 사용

-         종류 : TM, MTM. UTM등이 있음

 

-         위의 그림처럼 TM UTM은 평면에 투영하는 수준이 다르다그래서 오차에 대한표현범위가 다르다..

i)  TM 범위  : 경도 2

ii)UTM범위 : 경도 6

-         UTM은 전세계를 표현하기 위해서 6x 6도로 나누어 표현한다.

-         우리나라의 수치지형도에서는 TM을 사용하기 때문에 2도마다 다른 기준점을 사용하는 좌표계가 필요하다수치지도는 지역별로 동부TM, 중부TM, 서부TM으로 분류되어 제작된다.

 

2) Korea TM

-         타원체 : Bessel 1884 반지름(6377397.0), 평면율(299.1528128)

-         기준 경위도 :

125W 38N(서부) : 범위 124W - 126W

127W 38N(중부) : 범위 126W - 128W

129W 38N(동부) : 범위 128W - 130W

-         UNIT : meter

-         Shift  : 200000, 500000

 

3) KOREA UTM

-         51S zone(일부), 52S zone(대부분)

 

3.      전국 대상 지도 관리

-         전국대상을 하는 경우 우리나라TM체계는 제주도기준을 포함하여 4가지종류의 좌표계를 사용하므로 서로 다른 좌표계를 사용하게 문제가 있다è 한가지 종류의 좌표계로 통일해야한다.

-         통일하는 좌표계는 여러종류가 있을 수 있다. :

    ) Bessel  TM중부,  WGS84 UTM 52zone,  WGS84 경위도좌표계

-         TM은 범위가 2도이므로 전국을 표현할 때는 오차가 커질 수 있으므로, UTM이 바람직하다.

-         타원체는  GPS와 연동 및 세계적 표준화와 고려하면 WGS84가 유리하다.

-         결론적으로 우리나라 전국 대상인 경우 단일 표준 좌표체계는 WGS84 UTM 52 Zone을 사용하는 것이 바람직하다.

 

4.      KATECH 좌표

 

-         TM128좌표는 KATECH좌표라고도 부르는데 일반적인 TM투영과 원점원점가산값원점축척계수를 제외하고는 동일한 변환식과 Parameter(타원체 장반경단반경 등)값을 사용합니다.

-         원점으로 위도 38경도 128도의 단일원점을 사용하기 때문에 TM128좌표라는 명칭

-         우리나라에서 사용중인 TM좌표계는 3개의 원점을 사용합니다서부중부동부원점이죠따라서 우리나라 지도상의 좌표에는 동일한 TM좌표값을 갖는 점이 3개씩 존재하게 됩니다근래들어 3개의 원점을 사용하는 것이 문제가 되는 이유가 좌표의 불연속점이 발생하므로써 CNS(Car Navigation System)에서 사용하는 전자지도나 한반도 전체에 대하여 인공위성영상을 Mosaic할 때 좌표의 불연속으로 인하여 지도나 좌표를 포함하고 있는 영상을 접합(?)시키는 작업이 곤란하게 되기 때문이죠따라서 한반도 전체를 하나의 좌표계로 통일하기 위하여 나온 것이 TM128좌표계입니다.

-         하지만 TM128좌표계는 공식적인(?) 좌표계가 아닙니다사용자들의 편의에 의하여 비공식적으로 나온 좌표계입니다, TM128좌표계상의 좌표는 공식적인 성과로써 사용할 수가 없습니다참고로 국립지리원에서도 단일원점에 대한 필요성을 절실하게 느껴서 현재 단일원점 좌표계를 사용하기로 결정하고 그 정확도 문제 및 원점을 어디로 할것인지에 대한 연구가 활발히 진행중입니다. 3개의 원점을 사용하는 이유는 원점에서 멀어질 수록 왜곡율이 커지는 것을 어느정도 범위내에서 제한하기 위함입니다.(자세한 내용은 측량/측지 관련 서적을 참고하시기 바랍니다.)

 

TM좌표계의 원점 및 원점 가산값원점 축척계수는 다음과 같습니다.

서부원점 : 위도 38경도 125 10.405

중부원점 : 위도 38경도 127 10.405

동부원점 : 위도 38경도 129 10.405

원점가산값 : X(남북방향)=500,000, Y(동서방향)=200,000

원점축척계수 : 1.0000

 

TM128(KATECH)좌표계의 원점 및 원점 가산값원점 축척계수는 다음과 같습니다.

원점 : 위도 38경도 128

원점가산값 : X(남북방향)=600,000, Y(동서방향)=400,000

원점축척계수 : 0.9999


[출처] 좌표계의 기초|작성자 띵돌  

[출처] 좌표계의 기초|작성자 띵돌

'DEVELOPMENT > GIS' 카테고리의 다른 글

GPS의 기초  (0) 2012.08.16
최근 영상 압축 기법  (0) 2012.08.16
cns 교통 지도 구축을 위한 단일 좌표계의 정의  (0) 2012.08.16
Shape file format  (0) 2012.08.16
geo tiff file spec  (0) 2012.08.16

Shape file format

[출처] Shape file format 구조|작성자 띵돌


'DEVELOPMENT > GIS' 카테고리의 다른 글

GPS의 기초  (0) 2012.08.16
최근 영상 압축 기법  (0) 2012.08.16
cns 교통 지도 구축을 위한 단일 좌표계의 정의  (0) 2012.08.16
좌표계의 기초  (0) 2012.08.16
geo tiff file spec  (0) 2012.08.16

geo tiff file의 헤더 구조에 대한 설명

[출처] geo tiff file spec.|작성자 띵돌

geotiff-ddingdol33.rtf


'DEVELOPMENT > GIS' 카테고리의 다른 글

GPS의 기초  (0) 2012.08.16
최근 영상 압축 기법  (0) 2012.08.16
cns 교통 지도 구축을 위한 단일 좌표계의 정의  (0) 2012.08.16
좌표계의 기초  (0) 2012.08.16
Shape file format  (0) 2012.08.16

db-oracle: Oracle database bindings for Node.js

For detailed information about this and other Node.js database bindings visit the Node.js db-mysql homepage.

INSTALL

OCI libraries

Before proceeding with installation, you need to have the OCI instant client libraries and include files. For example, you download theinstantclient-basic-linux.x64-11.2.0.3.0.zip library file, and the instantclient-sdk-linux.x64-11.2.0.3.0.zip SDK file, and save them in your $HOME/Downloads directory. You would then uncompress both files, and move the generated directory to your/opt path:

$ cd $HOME/Downloads
$ unzip instantclient-basic-linux.x64-11.2.0.3.0.zip
$ unzip instantclient-sdk-linux.x64-11.2.0.3.0.zip 
$ sudo mv instantclient_11_2/ /opt/instantclient

After uncompressing you will probably need to create symbolink links:

$ cd /opt/instantclient
$ sudo ln -s libocci.so.11.1 libocci.so
$ sudo ln -s libclntsh.so.11.1 libclntsh.so

You will also need libaio. In Arch Linux this can easily be installed with:

$ sudo pacman -S libaio

On Debian based distros:

$ sudo apt-get install libaio

Configuring OCI

Once you have the library and include files installed, and in order for the installation script to locate them properly, you'll need to set theOCI_INCLUDE_DIR and OCI_LIB_DIR environment variables. For example:

$ export OCI_INCLUDE_DIR=/opt/instantclient/sdk/include/
$ export OCI_LIB_DIR=/opt/instantclient

Install

Once the environment variables are set, install with npm:

$ npm install db-oracle

You should also add the OCI library path to your LD_LIBRARY_PATH environment:

export LD_LIBRARY_PATH=/opt/instantclient

QUICK START

var oracle = require('db-oracle');
new oracle.Database({
    hostname: 'localhost',
    user: 'root',
    password: 'password',
    database: 'node'
}).connect(function(error) {
    if (error) {
        return console.log("CONNECTION ERROR: " + error);
    }

    this.query().select('*').from('users').execute(function(error, rows) {
        if (error) {
            return console.log('ERROR: ' + error);
        }
        console.log(rows.length + ' ROWS');
    });
});

LICENSE

This module is released under the MIT License.

centos Subversion

 

1. 설치
# yum install subversion
1.4.x버전이 실행된다.

 


2. Repository 생성 (cent유저로 생성)
# mkdir /home/svn
# chown -R cent.cent /home/svn
# cd /home/svn
# svnadmin create --fs-type fsfs project
project명으로 프로젝트 생성
위치 /home/svn/project

 

 

3. 기본적인 환경설정 (뛰어쓰기 필수)
# cd /home/svn/project/conf/
# ls
authz  passwd  svnserve.conf


# vi svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd


# vi passwd
[users]
# harry = harryssecret
# sally = sallyssecret
seban = seban00


# vi authz
[groups]
[project:/]
* = rw


기본적인 svn 설정완료

 

 

4. subversion 실행을 위한 config 세팅
config 설정 파일(생성)
# vim /etc/sysconfig/subversion

# To pass additional options (for instace, -r root of directory to # server) to the svnserve binary at startup, set OPTIONS here.
OPTIONS="--threads --root /home/svn"

 

 

5. init.d 자동실행될 파일 생성
# vim /etc/init.d/subversion
아래 내용 추가
#!/bin/bash
#
#   /etc/rc.d/init.d/subversion
#
# Starts the Subversion Daemon
#
# chkconfig: 2345 90 10
# description: Subversion Daemon

# processname: svnserve

source /etc/rc.d/init.d/functions

[ -x /usr/bin/svnserve ] || exit 1

### Default variables
SYSCONFIG="/etc/sysconfig/subversion"

### Read configuration
[ -r "$SYSCONFIG" ] && source "$SYSCONFIG"

RETVAL=0
prog="svnserve"
desc="Subversion Daemon"

start() {
        echo -n $"Starting $desc ($prog): "
   daemon $prog -d $OPTIONS
   RETVAL=$?
   [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
   echo
}

stop() {
   echo -n $"Shutting down $desc ($prog): "
   killproc $prog
   RETVAL=$?
   [ $RETVAL -eq 0 ] && success || failure
   echo
   [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
   return $RETVAL
}

case "$1" in
  start)
   start
   ;;
  stop)
   stop
   ;;
  restart)
   stop
   start
   RETVAL=$?
   ;;
  condrestart)
        [ -e /var/lock/subsys/$prog ] && restart
   RETVAL=$?
   ;;
  *)
   echo $"Usage: $0 {start|stop|restart|condrestart}"
   RETVAL=1
esac

exit $RETVAL

 

 

6. subversion 실행
# cd /etc/init.d/
# chmod 755 /etc/init.d/subversion
# /etc/init.d/subversion start
리스타트는
# /etc/init.d/subversion restart
정상적으로 subversion 실행됨
종료는
# ps -ef | grep svnserve

 

 

7. 테스트
# svn checkout svn://192.168.0.5/project
체크아웃된 리비전 0.
# svn checkout svn://centhost/project
svn checkout svn://ip혹은도메인/(프로젝트명) ex) project


정상적으로 나오는결과물은 passwd 에 설정된 아이디 패스워드 입력창이 나오거나 체크아웃된 리비전 0.

 

 

8. 방화벽 오픈 
# vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 3690 -j ACCEPT
# service iptables restart

 

 

9. Booting시 자동 실행
# vi /etc/inittab
우선 서버의 실행 Level을 확인해야 하는데 /etc/inittab의 18번째 줄 내용을 확인한다.
id:5:initdefault:
본 id와 initdefault사이의 값인 5값을 확인한다. (X11로 booting한다는 의미)
# cd /etc/rc5.d
# vi S99local
/etc/init.d/subversion start &
적당한 줄에 상기 내용을 추가

다른 방법
# vi /etc/rc.d/rc.local
아래 내용 추가
svnserve -d -r /home/svn --listen-host=0.0.0.0


[출처] http://seban21.blog.me/70084873748

[출처] centos 5.3 svn 설치|작성자 세바니

  • Papervision3D - 간단한 큐브같은 도형부터 복잡한 3d모델과 재질까지 지원하는 3D엔진. 가장 유명한 플래시 3D엔진이며 아직 베타버전이지만 실제로 사용된 많은 사례가 존재한다.

  • Away3D - 또다른 플래시 3D엔진. 페이퍼비젼보단 인기가 덜하지만 정식릴리즈 되어있다. 그리고 페이퍼비전 코드를 토대로 만들어진 엔진이다. 데모보기

  • WOW Engine - AS3 3D 물리엔진. Papervision3D나 Away3D와 같이 사용하면 금상첨화.

  • FIVe3D - AS2와 AS3를 지원하는 3D 에니메이션 엔진

  • Ribbit - 마이크를 사용해서 웹상에서 전화를 걸 수 있는 대단한 기술임. 플래시를 사용해서 전화를 받을 수 있도록 하였고 컴포넌트로 만들어져있기 때문에 사용하기 간편함.

  • WiiFlash - 닌텐도 Wii 컨트롤러를 플래시에서 사용할 수 있게 한 라이브러리. 

  • APE (Actionscript Physics Engine) - 플래시용 물리엔진. 아직은 좀 부족하다.

  • AMFPHP - 데이터베이스와 플래시를 연동하기 위해 가장 추천하는 라이브러리. PHP기반이기 때문에 속도도 빠르고 사용하기도 쉽다.

  • Flickr Library - 플리커 서비스의 API를 래핑한 라이브러리

  • RSS Library - RSS 피드를 플래시에서 핸들링 하기 위한 라이브러리 

  • YouTube - 마찬가지로 YouTube의 API를 래핑한 라이브러리

  • FZip - 서버사이드의 도움없이 압축파일을 풀거나 압축할 수 있는 라이브러리

  • AS3SoundEditorLib - mp3파일의 스펙트럼 을 보여주거나 큐포인트를 보여주고 네비게이션 할 수 있게 하는 라이브러리

  • Facebook-AS3 - 페이스북 플랫폼의 REST API를 AS3로 래핑한 라이브러리 (와우!!!)

  • AS3Crypto - 여러가지 압축알고리즘을 제공하는 라이브러리

  • AlivePDF - 오픈소스 라이브러리로 PDF파일을 서버사이드 도움없이 컨트롤 할 수 있음

  • ASSQL - 액션스크립트에서 MySQL로 직접 통신하는 라이브러리(웹서버 거치지 않고)

  • Yahoo! Maps Communication Kit - GeoRSS 피드나, 커스텀 마커 등 야후 맵에서 제공하는 여러기능들을 사용할 수 있음.

  • AS3CoreLib - 이 라이브러리는 어도비에서 제공하는 것으로 여러가지 유틸리티 클래스들을 담고 있음(MD5, SHA-1, 이미지 인코더, JSON 라이브러리...)


// 무비클립을 탄력적으로 움직이게 하는 메서드

// a는 -2부터 2사이의 실수 (-2<a<2)

// b는 -1부터 0사이의 실수(-1<b<0)

// a*a+4b는 -4부터 0사이의 실수(-4<a*a+4b<0)

// b가 -1에 가까울수록 진동폭이 큼

// a가 -2에 가까울수록(작을수록) 속도가 빠름

// tx와 ty는 이동할 최종 위치


MovieClip.prototype.elasticMove = function(a, b, tx, ty){

     var tempx = this._x;

     var tempy = this._y;

     this._x = a*(this._x - tx) + b*(this.prevx - tx) + tx;

     this._y = a*(this._y - ty) + b*(this.prevy - ty) + ty;

     this.prevx = tempx;

     this.prevy = tempy;

};


[출처] http://blog.naver.com/sync6324/110033835026

// 부드러운 움직임

MovieClip.prototype.smoothMove = function(speed, targetx, targety){

    this._x += speed*(targetx - this._x);

    this._y += speed*(targety - this._y);

};



_root.무비클립인스턴스.smoothMove(0.2, _xmouse, _ymouse);


[출처] http://blog.naver.com/sync6324/110033835026

'DEVELOPMENT > IOS' 카테고리의 다른 글

아이폰 OS 개발 자료 총정리  (0) 2012.05.17
iPhone용 Open Source 모음  (0) 2012.05.17

// (x1, y1)에서 (x2, y2)까지의 거리를 구해서 정수값을 반환하는 함수

function distance(x1, y1, x2, y2) {

    var diffX = x2-x1;

    var diffY = y2-y1;

    var r = Math.sqrt(diffX*diffX+diffY*diffY);

    return r;

}


[출처] http://blog.naver.com/sync6324/110033835026