글로벌매퍼에서 피처를 선택하는 메뉴는 다양한 형태의 확장된 선택기능(Advanced Selections Otions)을 지원한다.
하지만, 버전 22.1까지 스크립트(Script)에서는 COMPARE 옵션에서 속성 값과 일치하는 피처를 지정하는 방법 이외에는 선택하는 명령어가 없기 때문에 스크립트 작업에 제한이 많다.
여기서는 기존에 글로벌매퍼에서 지원하는 다른 명령어를 이용하여 피처를 선택하는 방법을 제시한다.
글로벌매퍼의 확장 선택 기능에서 지정한 영역 안에 속해 있거나 인접해 있는 면이나 선, 점 피처들을 선택하는 명령어들이 다양한 옵션과 함께 지원한다.
이들 선택 메뉴의 일부는 이와 동일하게 동작하는 명령을 스크립트에서 구현이 가능하다.
스크립트의 COPY_ATTRS 명령어는 AREA_COVERAGE 옵션의 조건에 따라서 면 피처에서 면이나 선, 점 피처로 지정한 속성을 복사한다.
또는, 선이나 점으로 면, 선, 점으로 복사도 가능하다.
지정한 면 피처 안에 속해 있는 점 피처를 선택한다면, 면 피처 고유의 속성이나 "select=yes"와 같이 임시 속성을 만들어서 복사를 한다.
// 선택하는 면 피처에 고유 속성을 생성 EDIT_VECTOR FILENAME="select_layer" ATTR_VAL="select=yes" // 지정한 영역에 속하는 점 피처에 속성을 복사 COPY_ATTRS LAYER1_FILENAME="select_layer" FROM_TYPE="AREAS" LAYER2_FILENAM="target_layer" \ TO_TYPE="POINTS" ATTR_TO_COPY="select" AREA_COVERAGE="CENTROID" // 타겟 레이어에 복사된 속성을 갖는 점들을 선택 EDIT_VECTOR FILENAME="target_layer" COMPARE="select=yes" |
속성 "select=yes"가 복사된 점 피처는 지정한 면 영역에 속해 있는 점 피처만 해당이 되므로 이를 EDIT_VECTOR 명령어로 선택하여 작업을 한다.
여기서 주의할 사항은 글로벌매퍼의 스크립트 명령어에는 많은 버그가 있는데, COPY_ATTRS 명령어도 동일한 조건에서 일부 피처에 속성이 복사가 안되는 버그가 있다.
또한, AREA_COVERAGE 옵션도 부정확하게 동작을 한다.
따라서, 데이터의 신뢰나 빠른 처리속도를 원한다면 ArcGIS, QGIS를 사용하는것이 바람직하다.