전에 PostgreSQL을 설치하면서 PostGIS도 같이 설치를 하였는데 이번에는 PostgreSQLDatabase를 생성하여 PostGIS를 이용해 shp(shapefile)를 업로드 하는 작업을 해봅니다.

 

설치관련 내용은 아래 링크를 참조 하세요.

Windows 10 Postgresql 13.2 과 PostGIS 3.1 설치

 

1. PostGISDB 생성

 

shp 파일 내용을 저장할 databasePostgreSQL에 생성하기 위해 윈도우 시작 버튼을 클릭 하고

 

 

pgAdmin 4를 선택 합니다.

 

pgAdmin 좌측의 Servers를 확장하여 GIS용 데이터 베이스를 하나 새로 생성을 해서 진행을 하도록 하겠습니다.

 

 

Databases에 마우스를 놓고 우클릭 하여 Create > Database... 를 선택 합니다.

 

 

 

 

Database 이름을 적당히 입력해 주고 [Save] 버튼을 클릭 합니다.

 

 

 

TestDB1 데이터베이스가 생성 되었습니다. 

새로 생성된 TestDB1을 선택한 상태에서 상단 아이콘에서 디스크 모양의 Query Tool 아이콘을 클릭 하면 쿼리 입력 창이 나타납니다.

 

 

 

쿼리 입력 창에서 선택된 데이터베이스에 확장 기능을 추가해 주어야 GIS 정보를 담을 수 있는 데이터베이스가 됩니다.

CREATE EXTENSION postgis;

명령어를 입력 하고 실행 버튼 또는 F5 키를 이용하여 쿼리를 실행해 줍니다.

 

postgis 기능 반영이 잘 되었는지는 다음 명령어를 입력해서 실행해 봅니다.

SELECT postgis_full_version();

 

 

 

쿼리 결과도 잘 나오고 좌측 Extensions에도 postgis가 추가 된 것을 확인 할 수 있습니다.

 

 

2. SHP 파일 업로드

 

 

shp 파일 업로드는 PostGIS를 통해서 PostgreSQL에 입력합니다.

 

 

 

시작 버튼에서 PostGIS를 확장하여

PostGIS Bundle 3 for PostgreSQL ... Shapefile... 을 클릭 합니다.

 

 

 

파일을 찾기 위하여 [Add File]을 클릭 합니다.

 

 

 

좌측과 상단에 있는 폴더 기능을 이용하여 SHP 파일이 위치한 곳을 찾아 선택 한 후 [Open] 버튼을 클릭하여 추가해 줍니다.

 

 

 

선택한 파일이 추가 되면 만약 파일에 한글이 들어있는 경우 [Options...] 버튼을 클릭 합니다.

 

 

 

여기에서 UTF-8EUC-KR로 변경해 주어야 한글이 입력 됩니다.

 

 

 

한글이 없다면 상단의 [View connection details...] 버튼을 클릭 합니다.

 

 

 

shp파일을 저장할 PostgreSQL에 접속하는 정보를 입력하는 창으로 Database와 기타 필요한 정보를 입력하고 [OK] 버튼을 클릭 합니다.

 

 

 

하단 Log Window에 연결이 성공 되었다고 나오는 군요.

 

이제 마지막 작업으로 [Import] 버튼을 클릭 합니다.

잠시 후 Log Window[Shapefile import completed.] 가 나오면 입력 성공입니다.

 

다시 PostgreSQL로 돌아가 DB에서 Table을 확장하면

 

 

 

테이블이 새로 생성이 되고 데이터가 추가 된 것을 확인 할 수 있습니다.

import시 오류가 발생 한다면 shp 파일이 위치한 폴더 명에 한글이 있거나 shp 파일 명에 한글이 있는 경우 오류가 발생 하니 꼭 영문으로 해야 하고 shp 파일 내부에 한글이 있다면 options에서 EUC-KR로 해주면 별 문제없이 import 할 수 있습니다.

 

- copy coding -


GeoServerJava로 개발된 오픈 소스로 GIS 지리공간 데이터를 편집하고 웹으로 서비스할 수 있는 서버 입니다지도 서비스에 관심은 있지만 구글, 네이버, 다음에서 제공하는 기능만을 사용하는 경우에는 그다지 유용하지 않을 수 있지는데 자신만의 데이터를 사용하여 새로운 기능을 추가하여 만들고 싶다면 한번쯤은 관심을 가져야 하는 프로그램 중 하나로 생각 됩니다.

GeoServer 설치는 간단히 살펴 보고 어떤 식으로 사용을 하는지 사용방법도 하나를 알아 보도록 하겠습니다.

 

1. GeoServer 다운로드


설치 파일을 다운로드 하기 위해 사이트에 접속 합니다.

http://geoserver.org/download/


geoserver install shapefile

둘 중 아무거나 설치해도 되는데 2.18.1 버전을 설치해 보겠습니다.  Stable쪽을 클릭해서 들어가면


geoserver install shapefile


예전 버전에는 Windows용 설치 파일이 별도로 있었는데 이제는 binary 파일로 제공을 하고 있습니다. War 버전도 있는데 Tomcat등 자신이 좋아하는 WAS를 이용하여 사용할 수 있습니다여기서는 binary 파일로 설치를 진행 합니다.

 

다운받은 파일(geoserver-2.18.1-bin.zip)의 압축을 풀어 줍니다저는 C:\에 압축을 풀었더니 폴더 명이 geoserver-2.18.1-bin 이렇데 되어 있는데 뒷부분을 삭제 하여 geoserver 이렇게 만들었습니다폴더를 열어보면 파일 구성을 볼 수 있습니다.


geoserver install shapefile


2. 설정 및 기동

 

geoserver 폴더에 있는 start.ini  RUNNING.txt 파일을 읽어보면 쉽게 사용이 가능 합니다.

먼저 Java가 설치 되어 있는지 확인을 하고 없다면 설치를 해야 합니다.  GeoServerjava로 만들어서 사용하려면 꼭 필요 합니다.


geoserver install shapefile


Oracle Java가 없다면 openjdk(http://openjdk.java.net/)를 설치해도 됩니다.

 

start.ini 파일에는 설정을 하는 내용이 있고 RUNNING.txt 파일은 설치 방법이 순서대로 적혀 있습니다.

 

대부분 기본 설정 값을 사용해도 되고 start.ini 파일에서 GeoServer를 사용할 Port를 변경 합니다디폴트로 8080으로 설정되어 있지만 이 8080을 탐내는 프로그램들이 많아서 대부분 다른 프로그램이 사용을 하고 있을 것이므로 충돌이 나지 않도록 저는 9999로 변경 하기로 했습니다. start.ini 파일을 열고


geoserver install shapefile


jetty.port=8080

이 부분을 찾아

jetty.port=9999

이렇게 수정하고 저장 했습니다다른 포트로 설정해도 됩니다.

 

그리고 JAVA_HOME


geoserver install shapefile


GEOSERVER_HOME도 설정해 줍니다.


geoserver install shapefile


Port 변경, JAVA_HOME, GEOSERVER_HOME 추가. 이렇게 3개만 작업하면 됩니다.

이제 사용을 해볼까요명령 프롬프트를 하나 열고 명령어를 입력해 실행 합니다.

 

C:\geoserver\bin\startup


geoserver install shapefile


GeoServer가 스타드 되었습니다확인을 위해 웹브라우저를 아무거나 하나 실행 해서 URL을 입력해 봅니다.

 

http://localhost:9999/geoserver/web/


geoserver install shapefile


마치 Tomcat을 설치하고 있는 기분이 드는데 요즘에는 이런 프로그램이 많아져서 편합니다.

 

3. 로그인 및 테스트

 

이제 login을 해봅니다.


geoserver install shapefile


초기 관리자 ID와 비밀번호는

admin/geoserver

입니다.


geoserver install shapefile


로그인을 하니 좌측에 메뉴들이 많아졌습니다데이터 항목의 첫번째에 있는 [레이어 미리보기]를 선택해 봅니다.


geoserver install shapefile


그러면 우측에 미리보기 용 레이어 리스트가 나오는데 여기에서 제목이 USA Population을 찾아서 공통 포맷 중 OpenLayers를 클릭해 봅니다.


geoserver install shapefile


이렇게 지도 데이터를 웹으로 제공이 가능합니다그럼 바로 이전 [레이어 미리보기]의 리스트로 돌아가서 이름 항목을 보면 [topp:states] 두개가 합쳐저 있는데 이것이 나타내는 건 [작업공간:저장소] 입니다좌측 메뉴에서 저장소를 선택해 보면 알 수 있습니다.


geoserver install shapefile


리스트에서 유형 항목을 보면 Shapefile로 되어 있는데 만일 어느 지역의 Shapefile을 가지고 있다면 GeoServer에 등록해서 웹으로 서비스가 가능하다는 말이 되므로 Shapefile은 인터넷에 널려 있으니 다운로드 받아서 한번 작업을 해 봅니다저장공간과 저장소 두가지를 만들어 shp 파일을 등록만 하면 레이어로 서비스가 되겠군요.

 

4. 신규 레이어 생성

 

- 작업공간 생성


작업공간을 생성 하기 위해 좌측에서 [작업공간] 메뉴를 선택 합니다.


geoserver install shapefile


[새로운 작업공간 추가하기]를 선택 합니다.


geoserver install shapefile


이름과 uri를 아무렇게나 입력하는데 나중에 찾아볼 수 있게는 해야 합니다.

[본 작업공간으로 설정하기]를 체크 하고 저장 버튼을 클릭 합니다.


geoserver install shapefile


저장이 되고 [작업공간] 리스트에 추가된걸 확인할 수 있습니다.

 

- 저장소 생성

 

이번에는 좌측 메뉴에서 [저장소]를 클릭 합니다.


geoserver install shapefile


동일한 방법으로 [새로운 저장소 생성하기]를 클릭하고


geoserver install shapefile


저장소 종류가 참 많은데 여기서는 Shapefile을 사용하기로 하였으니 벡터 데이터 저장소 항목 중

Shapefile ESRI(tm) Shapefiles (*.shp)

를 찾아서 클릭 합니다.


geoserver install shapefile


대충 입력할 항목을 채우고 shp 파일을 추가하기 위해 [탐색]을 클릭 합니다.


geoserver install shapefile


파일이 저장된 위치를 찾아 선택해 줍니다.


geoserver install shapefile


그러면 [새로운 레이어]에 추가가 된걸 확인할 수 있습니다이번에는 [동작] 항목에서 


발행하기


를 클릭 합니다.


geoserver install shapefile

geoserver install shapefile


공간 좌표계는 다운로그 받은 파일 중에 (입력하려는파일명).prj 이런 파일이 있으면 자동으로 입력이 되고 아니면 직접 입력 합니다.

레이어 최소 경계 영역은 [데이터로부터 계산하기]와 [원본 영역으로부터 계산하기] 글자를 클릭 해주면 자동으로 입력이 됩니다.

 

입력이 끝나면 [저장] 버튼을 클릭 합니다.


geoserver install shapefile


레이어에 추가가 되었습니다이렇게 레이어 생성이 완료가 되었습니다.

 

구경 한번 해봐야죠?  좌측메뉴 [레이어 미리보기]를 선택 하고


geoserver install shapefile


새로 생성한 레이어의 [OpenLayers]를 클릭 합니다.


geoserver install shapefile


다운받은 파일이 뭔지 몰랐는데 이거였군요.

위에서 [새로운 데이터 저장소]의 종류가 많았는데 하나씩 추가해 보면서 테스트를 해보세요.


- copy coding -


확장자가 shp인 파일은 GIS에서 사용하는 Shapefile로 지리 공간에 대한 벡터 데이터를 담고 있는 파일 입니다바탕이 되는 지도 이미지에 레이어로 추가해서 정보를 보여주기 위해 사용을 하는데 QGIS를 설치하고 파일을 열어보는 부분까지 설명을 합니다.

 

https://www.qgis.org/en/site/forusers/download.html

 

다운로드 하기 위해서는 위에 있는 주소에 들어가보면


QGIS shp shapefile


운영체제 별로 프로그램이 준비되어 있습니다설치하려는 OS를 선택합니다저는 Windows를 선택했습니다.


QGIS shp shapefile


운영체제가 몇 bit로 작동하는지 그리고 어떤 버전을 사용할 것인가를 결정하고 파일을 선택합니다저는 최신 버전인 3.16(64bit)를 선택 했습니다.

설치는 다운로드 받은 파일을 실행해서 진행하고 특별한 변경사항이 없다면 그냥 끝까지 Next 버튼을 클릭하면 완료 됩니다화면 캡쳐 이미지만 나열해 보았습니다.


QGIS shp shapefile



QGIS shp shapefile



QGIS shp shapefile



QGIS shp shapefile



QGIS shp shapefile



QGIS shp shapefile


설치가 완료 되었습니다.

QGIS를 실행해 봅니다.


QGIS shp shapefile


처음이자 마지막으로 볼 수 있는 화면으로 [시작합시다!]를 클릭 합니다.


QGIS shp shapefile


QGIS가 실행된 모습입니다프로젝트 하나를 열어보겠습니다. QGIS는 프로젝트 단위로 관리를 합니다.


QGIS shp shapefile


보유하고 있는 프로젝트가 있으면 메뉴에서 프로젝트>열기를 선택해서 프로젝트를 가져옵니다.


QGIS shp shapefile


만일 프로젝트가 아닌 shp 파일만 가지고 있다면


QGIS shp shapefile


메뉴에서 프로젝트>새로 생성을 선택 합니다.


QGIS shp shapefile


그리고 메뉴에서 레이어>레이어 추가>벡터 레이어 추가를 선택 합니다.


QGIS shp shapefile


레이어를 추가하는 팝업을 볼 수 있는데 여기에서 원본 항목에 [...] 버튼을 이용하여 shp 파일을 선택해 주고 추가 버튼을 클릭 합니다.


QGIS shp shapefile


선택한 shp 파일을 볼 수 있습니다. 컴퓨터가 너무 오래돼서 사이즈가 큰 벡터이미지를 불러오면 버퍼링이 발생하는 군요벡터이미지로 할게 있는데 느긋한 마음으로 작업을 해야겠습니다.


- copy coding -


1

+ Recent posts