180 likes | 745 Views
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'
E N D
OpenGeo Suite 의 한국사용자를 위한 설정 및 활용 가이아쓰리디㈜ 민경일
1. PostGIS OpenGeo Suite 의 한국사용자를 위한 설정 및 활용
PostGIS좌표계확인 PostGIS의 좌표계정의 테이블확인 PostGIS를 이용하여 DataBase생성시 geometry_columns, spatial_ref_sys테이블 생성 좌표계 관련 테이블 : spatial_ref_sys OpenGeo Suite 의 한국사용자를 위한 설정 및 활용
PostGIS좌표계등록 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' ) INSERT 구분을 이용하여 좌표계 등록 ( 참고사이트 : http://osgeo.kr/17) OpenGeo Suite 의 한국사용자를 위한 설정 및 활용
PostGIS좌표계 변환 Spatial Function을 이용하여 좌표변환 OpenGeo Suite 의 한국사용자를 위한 설정 및 활용
2. GeoServer OpenGeo Suite 의 한국사용자를 위한 설정 및 활용
GeoServer사용자 좌표계 등록 GeoServer에서 사용자 정의 좌표계를 사용하기 위한 설정 data_dir/user_projections/epsg.properties OpenGeo Suite 의 한국사용자를 위한 설정 및 활용
SQL View를 이용한 Layer 등록 GeoServer좌측메뉴의 Layers 선택 Add a new resource 선택 PostGIS가 등록된 Store를 선택한 후 Configure new SQL view… 선택 OpenGeo Suite 의 한국사용자를 위한 설정 및 활용
SQL View를 이용한 Layer 등록 속성값으로 사용할 컬럼과geometry 컬럼이포함되도로select 구문 작성 Atrributes부분의 Guess geometry type and srid을체크 한 후 Refesh를 선택 위의 view 생성구분에서 spatial fundtion을이용하여 좌표변환한 좌표가 SRID로 등록되는 것을 확인 저장 OpenGeo Suite 의 한국사용자를 위한 설정 및 활용
SQL View를 이용한 Layer 등록 Layer Edit 화면의좌표계 설정 확인 Edit sql view 버튼을 선택하면 sql view구문을 수정할 수 있음 OpenGeo Suite 의 한국사용자를 위한 설정 및 활용
수집된 데이터의 좌표계와 클라이언트가 사용하는 좌표계가 다를 경우 OpenGeo Suite 의 한국사용자를 위한 설정 및 활용 DB 에클라이언트가 사용하는 좌표계로 변환된 데이터를 저장 후 사용 DB 에서 클라이언트가 사용하는 좌표계로 변환된 geometry를 가진 View Table을 생성하여 사용 GeoServer에서 SQL View를 사용하여 레이어를 등록 후 사용 사용자가 GeoServer에 원하는 좌표계를 요청하여 GeoServer에서 좌표변환 후 사용
GeoServer Fonts OpenGeo Suite 의 한국사용자를 위한 설정 및 활용 GeoServer의 Server Status 페이지의 Full list of available fonts 선택
GeoServer Fonts OpenGeo Suite 의 한국사용자를 위한 설정 및 활용 GeoServer에서 사용할 수 있는 Fonts 리스트
3. OpenLayers OpenGeo Suite 의 한국사용자를 위한 설정 및 활용
OpenLayers좌표계 등록 • 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"); OpenGeo Suite 의 한국사용자를 위한 설정 및 활용
OpenLayers좌표 변환 • 포인트 좌표를 사용자가 지정한 좌표로 변환하여 Layer에 등록 하는 Sample 코드 • // pointList Object 는 X,Y 좌표와 Val, ID 값을 가지고 있다고 가정 • for(vari in pointList){ • varpoint= pointList[i]; • varpointGeometry = new OpenLayers.Geometry.Point(point.X,point.Y).transform( • new OpenLayers.Projection("EPSG:4326") • , new OpenLayers.Projection("EPSG:7188") • ); • varpointFeature = new OpenLayers.Feature.Vector(pointGeometry, {value : point.Val} ); • pointFeature.id = ‘point.ID; • pointFeatures.push(pointFeature); • } • VecterLayer.addFeatures(pointFeatures); OpenGeo Suite 의 한국사용자를 위한 설정 및 활용
Openlayers로 Daum / Naver지도사용 • Openlayers의 OpenLayers.Layer.XYZ를 이용 • Tile image의 위치를 x,y,z값 즉 row, column, level 속성을 이용 하여 이미지를 요청 OpenGeo Suite 의 한국사용자를 위한 설정 및 활용
감사합니다. OpenGeo Suite 의 한국사용자를 위한 설정 및 활용