2014-09-12 5 views
0

ArcMap으로 가져 오려는 XY 데이터의 여러 열이 있습니다. 수동으로 수행하려면 변환 도구에서 Excel To Table 스크립트를 실행 한 다음 테이블을 마우스 오른쪽 단추로 클릭하고 XY 데이터 표시를 선택하여 각 XY 값 쌍에 대해 반복합니다. "Excel to Table"스크립트의 출력을 "Make XY Event Layer"도구의 입력에 공급하는 모델을 만들었습니다. 문제는 스프레드 시트를 가져 오지 않고 처음부터 X 필드 또는 Y 필드를 선택할 수 없다는 것입니다. 그러나 실행할 때 "X 필드 값 없음"및 "Y 필드 값 없음"오류가 발생합니다. 그런 다음 XY 데이터를 표시하기 위해 작성한 스크립트에 "Excel to Table"스크립트의 출력을 제공하는 모델을 만들었습니다. 이 모델을 실행하면 "ExecuteError : 실행하지 못했습니다. 매개 변수가 유효하지 않습니다."오류 000728 : 필드 Latitude_decimal_degrees_가 테이블 내에 존재하지 않습니다. " 이 프로세스를 파이썬이나 모델 빌더로 할 수 있습니까? 그렇다면 어떻게해야합니까?Python 또는 Model Builder를 사용하여 XY 레이어 만들기

+0

스크립트가 어떻게 보이며 '내가 원하는 방식대로 작동하지 않습니다'라는 의미는 무엇입니까? – GISGe

+0

필드 이름이 실제로 유효하고 유효하고 (공백없이 숫자로 표시되어 있음), Excel 필드 형식이 ArcGIS에 숫자로 읽혀 있는지 확인하십시오. 고유 한 ID로 파일을 추가하면 가끔 도움이됩니다. – GISGe

+0

원본 데이터가 제공되는 Excel의 버전은 무엇입니까? 또한 어떤 ArcMap 버전을 사용하고 있습니까? Excel 파일의 버전에 따라 ArcMap이 지원할 수도 있고 지원하지 않을 수도 있습니다. ArcMap 10.1 이상에서는 2007 년 이후의 Excel 파일이 지원되지 않습니다. – Ashatz11

답변

0

제 생각에는 여러 개의 좌표 필드가있는 단일 지오 데이터베이스 테이블이나 DBF가 있고 각 XY 좌표 쌍에 대해 여러 개의 지형지 물 레이어를 만들고 싶습니다. 그렇다면 ArcMap의 Python Window에서이를 실행하면 트릭을 수행해야합니다.

import arcpy 
Table= r"C:\SomeDataPath\MyTable" 
# Replace 'X' and 'Y' in each sublist with the name of the respective X and Y 
# field for each coordinate pair in the table and replace 'lyrName' with the 
# name you want to give to the FeatureLayer to be created. 
# Expand with more sublists as needed 
CoordinateFields = [ 
        ["X", "Y", "lyrName"], 
        ["X", "Y", "lyrName"], 
        ["X", "Y", "lyrName"] 
        ] 
SR = arcpy.SpatialReference("Name of the Projection used by coordinates") 
for CoordinatePair in CoordinateFields: 
    arcpy.MakeXYEventLayer_management(Table, 
             CoordinatePair[0], 
             CoordinatePair[1], 
             CoordinatePair[2], 
             SR) 

Enjoy!