9월, 2011의 게시물 표시

스포츠정신 랜스 암스트롱

[원문출처: 풋살레볼루션 ]

[ArcObjects] Feature를 X, Y Offset만큼 이동하는 VBA 스크립트

이미지
▣ 미션  - ArcGIS를 사용하여 아래 그림과 같이 레이어의 모든 피쳐를 X 축의 방향으로 dX 만큼, Y 축의 방향으로 dY 만큼 이동하고 싶습니다. ▣ ArcObjects  ITransform2D .Move Method [이미지출처:  http://help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/index.html#/Move_Method/002m000003w4000000/ ] ▣ VBA Script  - Feature의 Geometry를 X, Y Offset만큼 이동  - Undo/Redo가 가능하도록 Editor를 사용  - 따라서 정상적으로 편집이 되었을 경우 Editor 툴바에서 저장할 것 Option Explicit Sub MoveGeometry ( ) ' get map Dim ipDoc As IMxDocument Dim focusMap As IMap Set ipDoc = ThisDocument Set focusMap = ipDoc . focusMap ' get featurelayer Dim featureLayer As IFeatureLayer Set featureLayer =  focusMap.Layer(0) ' start editing Dim pID As New esriSystem . UID pID . Value = "esriEditor.Editor" Dim editor As IEditor Set editor = Application . FindExtensionByCLSID ( pID ) If ( editor . EditState < > esriStateEditing ) T...

[ArcObjects] ArcObjects에서 필드의 통계정보 계산하기

ArcObjects에서 필드의 통계정보를 계산하는 IDataStatistics라는 인터페이스가 있습니다. 아래 C# 코드는 다음과 같습니다.  - IDataStatistics 인터페이스를 이용하여 하나의 필드를 계산  - ICursor 인터페이스를 이용하여 하나의 필드를 계산  - ICursor 인터페이스를 이용하여 여러 필드를 계산 ▣ ArcObjects   IDataStatistics ▣ Code Snippet using System ; using System . Diagnostics ; using ESRI . ArcGIS . Geodatabase ; using ESRI . ArcGIS . esriSystem ; using System . Collections . Generic ; ○  IDataStatistics 인터페이스를 이용하여 하나의 필드를 계산 public static void DataStatistics ( ) { IFeatureClass featureClass = OpenShapefile ( shapefilePath ) ; string fieldName = " POP2008 " ; IQueryFilter queryFilter = new QueryFilterClass ( ) ; queryFilter . SubFields = fieldName ; ICursor cursor = ( ICursor ) featureClass . Search ( queryFilter , true ) ; IDataStatistics dataStatistics = new DataStatisticsClass ( ) ; dataStatistics . Field = fieldName ; dataStatistics . Cursor = cursor ; ...

다양한 포맷을 지원하는 .NET C#용 GIS Viewer 프로그램 만들기

이미지
간단한 GIS Viewer 프로그램을 하나 만들면서 진행한 과정입니다. ▣ 미션  - WPS 결과물(Vector, Raster, Geometry)을 시각화하는 프로그램  - Vector = Shaepfile, GML2, GML3 등  - Raster = GeoTiff, Jpeg2000 등  - Geometry = GML, WKT, WKB, GeoJSON, KML 등 ▣ 요구사항  - Visual Studio 2008 C# .NET Framework 2/3.5 환경  - WPS 결과물로 리턴되는 다양한 GIS 포맷을 읽을 수 있어야 함  - 이미 만들어진 프로그램에 Map Control 2개만 들어가야 함 - Shapefile, Grid, Graphic 등을 사용자가 설정한 스타일에 맞게 렌더링  - 자체 뷰어를 만들기보다 오픈소스나 무료로 사용가능한 라이브러리 검토 ▣ 오픈소스 및 라이브러리 검토  ○ 검토대상 라이브러리     - MapWindow6     - SharpMap V2      - 김형준 GIS 연구소 (for Developers) - DuraMap-Xr  ○ 포맷변환  - GDAL/OGR CSharp bindings  ○ 검토결과  - MapWindow6, SharpMap 등은 .NET Framework4에서만 운영되며기본 포맷 외 확장 포맷 변환은 GDAL/OGR 라이브러리 사용 - 대상에서 제외  - 포맷 변환은 GDAL/OGR 사용  - DuraMap-Xr은 COM 기술로 제작되어 .NET Framework 제약을 받지 않음  - DuraMap-Xr은 Shapefile, Graphic(Geometry), GeoTiff 등을 직접 읽을 수 있음  - DuraMap-Xr의 ...