PostgreSQL(+ PostGIS)

소개

PostgreSQL : PostgreSQL은 객체-관계형 데이터베이스 관리 시스템(ORDBMS)의 일종이다. BSD허가권으로 배포되며 오픈소스 개발자 및 관련 회사들이 개발에 참여하고 있다.

PostGIS :오픈소스인PostgreSQL DBMS기반에 지리적 객체(geographic object)의 지원을 더한GIS용DBMS.위성기하적 구조, GIS데이터를 편집하고 볼 수 있는 인터페이스와,웹기반 접근 도구를 서비스한다.

설치

※‘Ⅱ개발 환경 설정’참조

데이터 업로드(Shp파일)

데이터 베이스 생성

'PostgreSQL 9.6 > Database > postgis'가 연결 상태로 되어 있는 경우‘postgis'우클릭 후 연결을 해제한다.

PostgreSQL 9.6 .. > Database'우 클릭 후‘New Database‘를 클릭하면Database생성창이 나타난다.

Database생성창의'General'탭을 선택하고 항목을 입력한다.

Database : Database이름 입력- ‘test_db’Owner : Database관리자 선택- ‘postgres’

Database생성창의'Definition'탭을 선택하고 항목을 입력한다.

| | Encoding : Character Set선택- ‘UTF-8’Template : Database템플릿 선택- ‘postgis_23_sample‘Tablespace :테이블스페이스 선택- ‘pg_default’Collation :문자데이터 정렬 방식 선택- ‘Korean, Korea.949’Character type :문자 타입 선택- ‘Korean, Korea.949‘ |
| :--- | :--- |

입력을 완료한 뒤'OK'버튼을 클릭하면 다음과 같이Database가 생성된 것을 확인 할 수 있다.

데이터 업로드(Plugin사용)

지정된 경로로 이동하여shp2pgsql-gui.exe파일을 실행한다.<예시 경로:C:\Program Files\PostgreSQL\9.6\bin\postgisgui>

Shape file Import창이 나타나면View connection details버튼을 눌러 해당 항목들을 입력한다.

※기본적인 데이터는 입력되어 있으므로'Username', 'Password', 'Database'항목 정도만 입력한다.

Shape파일Import창에서 하단에'Options'버튼을 클릭하고Shape파일에 한글이 포함 될 경우,encoding을‘UTF-8'을'EUC-KR‘로 변경, Load data using COPY rather than INSERT를 해재하고'OK'버튼을 클릭한다.

※해당 플러그인을 통하여'UTF-8'로 데이터를Import하는 경우 오류 발생

Import란에SRID란을 더블클릭하여‘4326’으로 변경한 뒤‘Import’버튼을 클릭한다.

Shape File :업로드할Shp파일을 선택

Database :업로드할Database이름(예: test_db)

SRID :명시할 좌표 체계(예: 4326 ->※주: EPSG4326아님)

관리창의‘[database name] > Schemas > public > Tables'에서 테이블이 추가된 것을 확인 할 수 있다.

데이터 업로드(Command사용)

플러그인 방법 사용시 정상적인 데이터임에도 업로드시 오류가 발생하거나 다수의 데이터를 업로드할 경우Command창을 열어 명령어를 직접 입력한다.

먼저 윈도우 환경변수 중‘Path’변수에PostgreSQL의bin폴더 경로를 추가한다. (예: path = ‘C:\Program Files (x86)\PostgreSQL\9.6\bin\;’추가)

명령어를 입력하여 데이터를 업로드 한다.

명령어 형식

shp2pgsql–s <SRID> -W <Encode> -I–c <Shapefile> \ psql–d <DBName> -U <UserName>

Database :업로드할Database이름(예: test_db)

SRID :좌표 체계(예: 4326 ->※주: EPSG4326아님)

Encode :문자 인코딩 설정(예: EUC-KR)

Shapefile :업로드할Shape파일 경로

| :명령어 파이프라인

DBName :대상 데이터베이스명

UserName :대상 유저명

명령어 사용 예제

shp2pgsql -s 4326 -W EUC-KR -I–c ".\test_db\sigugun_tm.shp" \ psql -d test_db -U postgres

공간테이블 생성(SQL사용)

PostGIS “AddGeometryColumn"기능을 사용하여 해당테이블에 공간행을 추가할 수 있다.

AddGeometryColumn참고하기

AddGeometryColumn( ‘schema_name’,'table_name','colummn_name','srid’,'type','dimension’);

※현재 스키마를 사용할 때는‘schema_name’는 생략할 수 있다.

SQL을 사용하기위해서 상단 메뉴중Tools를 클릭한다.

아래와 같은 화면을 확인할 수 있다.

테이블을 생성하기 위해SQL문을 입력한다.

입력 후 실행 버튼이나F5를 누른다.

데이터 베이스 하위 테이블 목록에서parks테이블이 생성된 것을 확인할 수 있다.

테이블에Geometry값을 넣어주기 위해INSERT문을 사용한다.

테이블에서 값을 확인한다.

results matching ""

    No results matching ""