Upload
kirestin-battle
View
173
Download
1
Embed Size (px)
DESCRIPTION
OpenGeo Suite 의 한국사용자를 위한 설정 및 활용. 가이아쓰리디 ㈜ 민경일. 1. PostGIS. PostGIS 좌표계 확인. PostGIS 의 좌표계 정 의 테이블확인 PostGIS 를 이용하여 DataBase 생성시 geometry_columns , spatial_ref_sys 테이블 생성 좌표계 관련 테이블 : spatial_ref_sys. PostGIS 좌표계 등록. insert into spatial_ref_sys values( 5181 ,'EPSG' - PowerPoint PPT Presentation
Citation preview
OpenGeo Suite 의 한국사용자를 위한 설정
및 활용가이아쓰리디㈜ 민경일
2
1. PostGIS
2012-10-12OpenGeo Suite 의 한국사용자를 위한 설정 및 활용
3
PostGIS 좌표계 확인• PostGIS 의 좌표계 정의 테이블확인• PostGIS 를 이용하여 DataBase 생성시 geometry_columns, spatial_ref_sys
테이블 생성• 좌표계 관련 테이블 : spatial_ref_sys
OpenGeo Suite 의 한국사용자를 위한 설정 및 활용 2012-10-12
4
PostGIS 좌표계 등록• INSERT 구분을 이용하여 좌표계 등록 ( 참고 사이트 : http://osgeo.kr/17)
insert into spatial_ref_sys values(5181,'EPSG',5181 ,'PROJCS["Korea 2000 / Central Belt", GEOGCS["Korea 2000", DATUM["Geocentric datum of Korea", SPHEROID["GRS 1980", 6378137.0, 298.257222101, AUTHORITY["EPSG","7019"]], TOWGS84[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], AUTHORITY["EPSG","6737"]], PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]], UNIT["degree", 0.017453292519943295], AXIS["Geodetic longitude", EAST], AXIS["Geodetic latitude", NORTH], AUTHORITY["EPSG","4737"]], PROJECTION["Transverse_Mercator", AUTHORITY["EPSG","9807"]], PARAMETER["central_meridian", 127.0], PARAMETER["latitude_of_origin", 38.0], PARAMETER["scale_factor", 1.0], PARAMETER["false_easting", 200000.0], PARAMETER["false_northing", 500000.0], UNIT["m", 1.0], AXIS["Easting", EAST], AXIS["Northing", NORTH], AUTHORITY["EPSG","5181"]]','+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=500000 +ellps=GRS80 +units=m
+no_defs')
OpenGeo Suite 의 한국사용자를 위한 설정 및 활용 2012-10-12
5
PostGIS 좌표계 변환• Spatial Function 을 이용하여 좌표변환
OpenGeo Suite 의 한국사용자를 위한 설정 및 활용 2012-10-12
6
2. GeoServer
OpenGeo Suite 의 한국사용자를 위한 설정 및 활용 2012-10-12
7
GeoServer 사용자 좌표계 등록
• GeoServer 에서 사용자 정의 좌표계를 사용하기 위한 설정• data_dir/user_projections/epsg.properties
OpenGeo Suite 의 한국사용자를 위한 설정 및 활용 2012-10-12
8
SQL View 를 이용한 Layer 등록
1. GeoServer 좌측메뉴의 Layers 선택 2. Add a new resource 선택3. PostGIS 가 등록된 Store 를 선택한 후 Configure new SQL view…
선택
OpenGeo Suite 의 한국사용자를 위한 설정 및 활용 2012-10-12
9
SQL View 를 이용한 Layer 등록
1. 속성값으로 사용할 컬럼과 geometry 컬럼이 포함되도로 select 구문 작성
2. Atrributes 부분의 Guess geometry type and srid 을 체크 한 후 Refesh 를 선택
3. 위의 view 생성구분에서 spatial fundtion 을 이용하여 좌표변환한 좌표가 SRID 로 등록되는 것을 확인
4. 저장
OpenGeo Suite 의 한국사용자를 위한 설정 및 활용 2012-10-12
10
SQL View 를 이용한 Layer 등록
1. Layer Edit 화면의 좌표계 설정 확인
2. Edit sql view 버튼을 선택하면 sql view 구문을 수정할 수 있음
OpenGeo Suite 의 한국사용자를 위한 설정 및 활용 2012-10-12
11
수집된 데이터의 좌표계와 클라이언트가 사용하는 좌표계가
다를 경우
OpenGeo Suite 의 한국사용자를 위한 설정 및 활용 2012-10-12
1. DB 에 클라이언트가 사용하는 좌표계로 변환된 데이터를 저장 후 사용
2. DB 에서 클라이언트가 사용하는 좌표계로 변환된 geometry 를 가진 View Table 을 생성하여 사용
3. GeoServer 에서 SQL View 를 사용하여 레이어를 등록 후 사용
4. 사용자가 GeoServer 에 원하는 좌표계를 요청하여 GeoServer 에서 좌표변환 후 사용
12
GeoServer Fonts
OpenGeo Suite 의 한국사용자를 위한 설정 및 활용 2012-10-12
• GeoServer 의 Server Status 페이지의 Full list of available fonts 선택
13
GeoServer Fonts
OpenGeo Suite 의 한국사용자를 위한 설정 및 활용 2012-10-12
• GeoServer 에서 사용할 수 있는 Fonts 리스트
14
3. OpenLayers
OpenGeo Suite 의 한국사용자를 위한 설정 및 활용 2012-10-12
15
OpenLayers 좌표계 등록
OpenGeo Suite 의 한국사용자를 위한 설정 및 활용 2012-10-12
• Proj4js 를 이용한 좌표계 설정
• Download => http://trac.osgeo.org/proj4js/wiki/Download
• 웹페지이에 라이브러리 등록
• Javascript 코드에 추가
<script type="text/javascript" src="../js/proj4js-compressed.js"></script>
Proj4js.defs["EPSG:7188"] = '+proj=lcc +lat_1=30 +lat_2=60 +Elat_0=38 +lon_0=126 +x_0=0 +y_0=0 +ellps=WGS84 +units=m +no_defs';
var EPGS_7188 = new OpenLayers.Projection("EPSG:7188");
16
OpenLayers 좌표 변환
OpenGeo Suite 의 한국사용자를 위한 설정 및 활용 2012-10-12
// pointList Object 는 X,Y 좌표와 Val, ID 값을 가지고 있다고 가정 for(var i in pointList){
var point= pointList[i];var pointGeometry = new OpenLayers.Geometry.Point(point.X,point.Y).transform(
new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:7188")
);
var pointFeature = new OpenLayers.Feature.Vector(pointGeometry , {value : point.Val} );pointFeature.id = ‘point.ID;pointFeatures.push(pointFeature);
} VecterLayer.addFeatures(pointFeatures);
• 포인트 좌표를 사용자가 지정한 좌표로 변환하여 Layer 에 등록 하는 Sample 코드
17
Openlayers 로 Daum / Naver 지도사용
OpenGeo Suite 의 한국사용자를 위한 설정 및 활용 2012-10-12
• Openlayers 의 OpenLayers.Layer.XYZ 를 이용• Tile image 의 위치를 x,y,z 값 즉 row, column, level 속성을 이용 하여 이미지를 요청
18
감사합니다 .
OpenGeo Suite 의 한국사용자를 위한 설정 및 활용 2012-10-12