uDig에서 한글 문제 해결을 위한 팁
▣ 메뉴 영문/한글 변경
※ 영문 : Windows -> Preferences 메뉴를 실행 후 General -> Runtime preferences 탭으로 이동하여 Locale for user interface를 ko로 선택 후 탭 중간의 Restart with the above settings 버튼을 실행하여 재시작
※ 한글 : 창 -> 환경설정 실행 후 일반 -> Runtime preferences 탭으로 이동하여 Locale for user interface를 ko로 선택 후 탭 중간의 Restart with the above settings 버튼을 실행하여 재시작
※ 이 외에도 Runtime preferences 탭에서는 자바 힙 메모리를 설정하거나 기본 Workspace(환경설정, 프로젝트, 지도 레이어 정보 등이 저장되는 작업공간)를 변경할 수 도 있음.
▣ Shapefile 등 데이터 소스의 인코딩 문제
※ 영문 : Windows -> Preferences 메뉴를 실행 후 General -> uDig UI 탭에서 Default Character Set을 x-windows-949로 설정 후 재시작
※ 한글 : 창 -> 환경설정 실행 후 일반 -> uDig UI 탭에서 디폴트 케렉터 셋트를 x-windows-949로 설정 후 재시작
※ 만약 파일 데이터 소스의 경우 한글이 깨진 경우 카탈로그 뷰에서 모두 제거 후 케렉터셋 설정하고 다시 불러오면 됨
▣ Ubuntu 12.04 LTS 버전에서 shapefile을 불러온 모습
2012년 12월 24일 월요일
2012년 12월 18일 화요일
프로그램 언어(또는 스크립트)를 배워야 하는 이유
약 1년 전 백수(?) 시절 지인의 소개로 했던 아르바이트. 만약 이걸 수작업으로 한다면 얼마나 소요될까요?
▣ 도구 및 기간
- 프로그램 도구: eclipse + open source libraries
- 소요기간: 프로그래밍 하루, DB 생성시간 1시간.
- 절차: 센터라인 추출 --> 센터라인의 중심점을 기준으로 양방향으로 일정간격으로 세그멘테이션 --> 속성정보 쿼리 및 갱신
▣ DB 구축 제약사항
- 약 3,000개의 실폭 도로구간이 있으며, 다음의 규칙에 따라 작업할 것
1. 도로의 종류에 따라 60 또는 100미터 간격으로 섹터를 구분
2. 각 섹터별로 섹터 중심점 x, y좌표값 및 고유번호(키 + 일련번호)를 생성
3. 도로 정보 및 행정구역 코드는 특정 레이어를 검색하여 가져올 것
▣ 도구 및 기간
- 프로그램 도구: eclipse + open source libraries
- 소요기간: 프로그래밍 하루, DB 생성시간 1시간.
- 절차: 센터라인 추출 --> 센터라인의 중심점을 기준으로 양방향으로 일정간격으로 세그멘테이션 --> 속성정보 쿼리 및 갱신
▣ DB 구축 제약사항
- 약 3,000개의 실폭 도로구간이 있으며, 다음의 규칙에 따라 작업할 것
1. 도로의 종류에 따라 60 또는 100미터 간격으로 섹터를 구분
2. 각 섹터별로 섹터 중심점 x, y좌표값 및 고유번호(키 + 일련번호)를 생성
3. 도로 정보 및 행정구역 코드는 특정 레이어를 검색하여 가져올 것
원본 도로구간 |
섹터 구분 결과 |
속성정보 |
2012년 12월 14일 금요일
Polar Grids 만들기
▣ Polar Grids 만들기 - 프로그램
- GXT Online: GXT Toolbox for uDig
▣ Polar Grid from Geometry
다음 화면은 위 그림에서 3번째 polar grids를 생성하는 옵션이다.
- Number of sides가 8 이므로 360/8 = 45도 간격으로 생성.
- Radius 옵션은 100미터 간격으로 1km까지 즉 10개의 링을 구성.
- Radius 옵션에 1000 과 같은 단일 값을 입력하면 위 그림에서 1번째 polar grids를 생성. - Radial Type이 BASE 이면 위 그림에서 2번째 polar grids를 생성.
- Number of sides가 16이면 위 그림에서 4번째 polar grids를 생성.
▣ Polar Grid from FeatureCollection
다음 화면은 레이어(FeatureCollection)로부터 polar grids를 생성하는 옵션이다.
▣ 활용 사례
- 생성 후 Point In Polygon(Spatial Join) 분석 등을 이용하여 포인트의 패턴 분석
▣ 참고
- GIS - Stack Exchange: Polar grids in ArcGIS
- 임은선 외. 2009. 도시재생사업에 따른 저소득층의 이주패턴 및 정착방안 연구. 경기: 국토연구원
- GXT Online: GXT Toolbox for uDig
▣ Polar Grid from Geometry
▣ Polar Grid from Geometry
다음 화면은 위 그림에서 3번째 polar grids를 생성하는 옵션이다.
- Number of sides가 8 이므로 360/8 = 45도 간격으로 생성.
- Radius 옵션은 100미터 간격으로 1km까지 즉 10개의 링을 구성.
- Radius 옵션에 1000 과 같은 단일 값을 입력하면 위 그림에서 1번째 polar grids를 생성. - Radial Type이 BASE 이면 위 그림에서 2번째 polar grids를 생성.
- Number of sides가 16이면 위 그림에서 4번째 polar grids를 생성.
▣ Polar Grid from FeatureCollection
다음 화면은 레이어(FeatureCollection)로부터 polar grids를 생성하는 옵션이다.
레이어(FeatureCollection)로부터 polar grids를 생성한 결과는 다음과 같다.
▣ 활용 사례
- 생성 후 Point In Polygon(Spatial Join) 분석 등을 이용하여 포인트의 패턴 분석
도시재생사업에 따른 저소득층의 이주패턴 및 정착방안 연구 |
- GIS - Stack Exchange: Polar grids in ArcGIS
- 임은선 외. 2009. 도시재생사업에 따른 저소득층의 이주패턴 및 정착방안 연구. 경기: 국토연구원
2012년 12월 12일 수요일
Clipping Contest 후기
약 한달전 FOSS4G 분야를 뜨겁게 달구었던 이슈가 하나 있었다.
바로 대용량 데이터 Clipping Contest!
다양한 상업 및 오픈소스 GIS 프로그램들이 참여(?)했으며, 수많은 댓글이 달렸다.
자세한 내용은 아래 참조 사이트들을 방문해 보면 된다.
ESRI의 경우 이에 이의(?)를 제기하고 10.1 버전에 반영하겠다고도 하니 집단 지성의 힘은 참으로 대단하다.
▣ 샘플 데이타 개요
- Contours20Ft : 52,521개로 구성된 등고선 라인 데이터
- StudyArea1MileBuffer : 938개의 버텍스로 구성된 단일 폴리곤 데이터
▣ 정리
- GIS엔진에서 Clip 성능에 영향을 주는 요인들
: Spatial Indexing
: Geometry Engine & Robustness
: Spatial Data I/O
: Clip 전략 및 방법
- 주요 Geometry(Topology) Engine들
: Open Source Java 계열: JTS Topology Suite(GeoTools/uDig/gvSIG...)
: Open Source C 계열: GEOS, 자체(GRASS 등)
: 상용: ESRI(ArcGIS Topology Engine), 기타 자체 엔진
- JTS Topology Suite/GEOS는 이미 충분히 검증됨
- Clip function에 대한 이해
: 다음과 같이 1개 이상 피쳐로 구성된 원본데이터(위 샘플데이터에 의하면 등고선), 여러개의 폴리곤 피쳐로 구성된 클립 영역 데이터가 있다고 가정하자.
: ArcGIS의 경우에는 아래 그림의 왼쪽과 같이 한 개의 라인이 생성
: 몇몇 GIS 프로그램에서는 아래 그림의 오른쪽과 같이 한개 이상의 라인이 생성
: 판단은 각자가 알아서 하시길.
▣ 그렇다면 망고시스템의 GXT Engine은?
- GXT Engine 시 JTS/GeoTools 기반하에 운영되므로 위 jgrasstools & uDig 벤치마킹과 크게 다르지 않다. 또한, 위 [Clip function에 대한 이해]의 그림으로 본다면 ArcGIS 방식을 따른다. 데이터 로딩 시간 약 1분, Clipping 시간 2(1:50 +- 10)분 소요되며, 실제 Clip된 데이터의 사이즈는 약 346MB 이다.
GXT의 경우 Shapefile을 쓸 때, GeoTools(대용량의 데이터를 저장하는 경우 문제가 있음)를 확장하여 사용한다.
* Hardware
* Software
- GXT 1.0.0
▣ Clipping Contest Reference
- Round 2 in which ArcGIS throws in the towel.
- ArcGIS vs QGIS etc Clipping Contest Rematch revisited
- GIS clipping benchmark: jgrasstools & uDig (on JTS & geotools)
- Benchmark contest data set: 878MB ZIP file (ContourClipTest.zip)
바로 대용량 데이터 Clipping Contest!
다양한 상업 및 오픈소스 GIS 프로그램들이 참여(?)했으며, 수많은 댓글이 달렸다.
자세한 내용은 아래 참조 사이트들을 방문해 보면 된다.
ESRI의 경우 이에 이의(?)를 제기하고 10.1 버전에 반영하겠다고도 하니 집단 지성의 힘은 참으로 대단하다.
▣ 샘플 데이타 개요
- Contours20Ft : 52,521개로 구성된 등고선 라인 데이터
- StudyArea1MileBuffer : 938개의 버텍스로 구성된 단일 폴리곤 데이터
▣ 정리
- GIS엔진에서 Clip 성능에 영향을 주는 요인들
: Spatial Indexing
: Geometry Engine & Robustness
: Spatial Data I/O
: Clip 전략 및 방법
- 주요 Geometry(Topology) Engine들
: Open Source Java 계열: JTS Topology Suite(GeoTools/uDig/gvSIG...)
: Open Source C 계열: GEOS, 자체(GRASS 등)
: 상용: ESRI(ArcGIS Topology Engine), 기타 자체 엔진
- JTS Topology Suite/GEOS는 이미 충분히 검증됨
- Clip function에 대한 이해
: 다음과 같이 1개 이상 피쳐로 구성된 원본데이터(위 샘플데이터에 의하면 등고선), 여러개의 폴리곤 피쳐로 구성된 클립 영역 데이터가 있다고 가정하자.
: ArcGIS의 경우에는 아래 그림의 왼쪽과 같이 한 개의 라인이 생성
: 몇몇 GIS 프로그램에서는 아래 그림의 오른쪽과 같이 한개 이상의 라인이 생성
: 판단은 각자가 알아서 하시길.
▣ 그렇다면 망고시스템의 GXT Engine은?
- GXT Engine 시 JTS/GeoTools 기반하에 운영되므로 위 jgrasstools & uDig 벤치마킹과 크게 다르지 않다. 또한, 위 [Clip function에 대한 이해]의 그림으로 본다면 ArcGIS 방식을 따른다. 데이터 로딩 시간 약 1분, Clipping 시간 2(1:50 +- 10)분 소요되며, 실제 Clip된 데이터의 사이즈는 약 346MB 이다.
GXT의 경우 Shapefile을 쓸 때, GeoTools(대용량의 데이터를 저장하는 경우 문제가 있음)를 확장하여 사용한다.
* Hardware
* Software
- GXT 1.0.0
▣ Clipping Contest Reference
- Round 2 in which ArcGIS throws in the towel.
- ArcGIS vs QGIS etc Clipping Contest Rematch revisited
- GIS clipping benchmark: jgrasstools & uDig (on JTS & geotools)
- Benchmark contest data set: 878MB ZIP file (ContourClipTest.zip)
피드 구독하기:
글 (Atom)