Экспорт выбранных атрибутов в ArcGIS на новый слой с использованием Python (ArcMap 10.5.1)? - PullRequest
0 голосов
/ 30 мая 2018

У меня есть файл с данными за 25 разных лет, и мне нужно экспортировать данные каждого отдельного года в новый шейп-файл.Я уже написал способ выбора файлов, но теперь мне нужна помощь в экспорте данных за выбранный год в новый шейп-файл.Выбор года включает функцию SelectLayerByAttribute_management, если это помогает дать вам представление о том, как я кодировал выбор.В практических целях просто скажите, что основной файл, из которого я извлекаю данные, называется «Клиенты», и я хотел бы экспортировать отдельные годы в новые шейп-файлы, называемые «Клиенты_20xx».

>>> import arcpy
>>> arcpy.SelectLayerByAttribute_management("Customers", "NEW_SELECTION", "Year=1989")
<Result 'Customers'>

Эта частьработает.Когда я ввожу этот код, выбирается каждый набор данных, который был за 1989 год в файле «Клиенты».Теперь нужно просто экспортировать выбранные данные в новые файлы с именем «Customers_1989» - PythonPerson 2 часа назад

1 Ответ

0 голосов
/ 30 мая 2018

Взят прямо из http://pro.arcgis.com/en/pro-app/tool-reference/data-management/select-layer-by-attribute.htm

# Import system modules
import arcpy

# Set the workspace
arcpy.env.workspace = "c:/data/mexico.gdb"

# Make a layer from the feature class
arcpy.MakeFeatureLayer_management("cities", "lyr") 

# Select all cities which overlap the chihuahua polygon
arcpy.SelectLayerByLocation_management("lyr", "intersect", "chihuahua", 0, "new_selection")

# Within selected features, further select only those cities which have a population > 10,000   
arcpy.SelectLayerByAttribute_management("lyr", "SUBSET_SELECTION", '"population" > 10000')

# Write the selected features to a new featureclass
arcpy.CopyFeatures_management("lyr", "chihuahua_10000plus")

Последняя строка, возможно, та, которую вы ищете.Если вы запустите его на слое, который имеет выделение, будут экспортированы только выбранные объекты.Однако, если вы сделаете это для класса пространственных объектов или шейп-файла, все объекты будут скопированы.

Если вы не создали файл слоя из класса пространственных объектов или шейп-файла, то я предлагаю вам сделать это с помощью arcpy.MakeFeatureLayer_management("cities", "lyr") команда.

...