라벨이 Subtype인 게시물 표시

[Tips]Modifying schema objects

이미지
이 문서는 ArcGIS 9.3. 버전을 기준으로 작성되었으며, .NET C#( 3.0) 샘플 코드 실행을 위해서는 다음의 어셈블리를 참조해야 한다. - ESRI.ArcGIS.ADF - ESRI.ArcGIS.Geodatabase - ESRI.ArcGIS.System (ESRI.ArcGIS.esriSystem) 이 문서는 Geodatabase API를 사용하는 개발자들에게 CheatSheet(커닝페이퍼?)을 제공할 목적으로 작성되었으며 주요 내용은 성능향상, 범하기 쉬운 실수 등을 제공한다. 예제 코드는 특정 상황에 대한 샘플 코드로서 패턴을 제공하고, 상황에 따라 오류를 비교하기 위해 임의의 오류를 포함하고 있으므로 이 코드를 재활용해서는 안된다. ⑩ Modifying schema objects API 내에 Geodatabase 객체( datasets, domains, fields 등) 의 모든 Type은 그에 대응하는 클래스가 있다. 개발자는 이들 클래스들의 작동이 2가지로 구분된다는 것을 알아야 한다.  - 지오데이터베이스에 자동으로 물리적인 변경을 가하는 클래스: Class, Table 등  - 지오데이터베이스에 물리적인 변경을 가하지 않는 클래스: Fields, Domains, Indexes 등   이에 대한 기본적인 예제는 IClass.AddField와 IFieldsEdit.AddField이 있다.  - IClass.AddField: 테이블에 실제 필드를 추가한다.  - IFieldsEdit.AddField: 필드 컬렉션(IFields)에 메모리상으로만 추가되고 실제 테이블을 변경하지 않는다. 이 문서에 보면 수많은 개발자들이 테이블을 열고 필드를 얻어 새로운 필드를 추가해도 물리적으로 테이블에 반영되지 않는다는 것을 개고생( hard way, ㅋㅋ)을 통해서 알았다는 군요...   기타 유효하지 않은( invalid) 작업은 다음과 같다.:  - IFieldEdit 인터페이스를 이용하여...