Python in ArcGIS. Урок 4. arcpy: scripts and toolboxes

preview_player
Показать описание
Эта видеозапись входит в серию видеозаписей о программировании в программе ArcGIS for Desktop. В ней будет разобрано создание собственных инструментов и привязывание к ним питоновских скриптов.
Рекомендации по теме
Комментарии
Автор

Здравствуйте! А что делать с русскими шрифтами?
Например на выражение
myshp)
Питон ругается:
Traceback (most recent call last):
File "D:\pyton\python02.py", line 4, in <module>
myshp)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd1 in position 0: ordinal not in range(128)

ИгорьАгапов-зб
Автор

Народ, кто как решил домашнее задание?



myshp = arcpy.GetParameterAsText(0) # Get the name of shape-file
myfolder = arcpy.GetParameterAsText(1) # Get the name of destination folder

arcpy.AddMessage(myshp)
arcpy.AddMessage(myfolder)

rowsCount = # Total count of rows (objects) in attribute table
arcpy.AddMessage(rowsCount)

arcpy.MakeFeatureLayer_management(myshp, 'layer') # Create layer from shape-file

for x in range(rowsCount): # Iterate through all rows
arcpy.AddMessage(x)
row = arcpy.SelectLayerByAttribute_management('layer', "NEW_SELECTION", 'FID in (%s)'%x) # Select a row with FID==x

curs = arcpy.da.SearchCursor(row, ["Id"]) # Create a cursor for "Id" field in selected row
for cell in curs:
name = int(cell[0]) # Create a name from the value of selected cell
adress = # Create an adress and name for destination file
arcpy.AddMessage(adress)
arcpy.CopyFeatures_management('layer', adress) # Create a new shape-file from selected row

andreykelip
Автор

Спасибо вам!!! Можете сделать урок ExcelToGdb на Python-е?

NurgisaRametov
Автор

Почему в справке ArcGis 10.8.1 я нахожу arcpy.CopyFeatures вместо
И то с трудом нахожу. Раздел arcpy.CopyFeatures_management она не находит а находит Копировать объекты (Data Management) . Поди догадайся

ИгорьАгапов-чр
Автор

Здраствуйте, извените что побеспокоил.

Я "ArcMap"пе хочу создать модель бульдер который будет выполнять калькуляцию геометрию объекта.

Мне необходимо найти тулс, который позволяет ввести текстовые и числовые значение в столбец слоя.

Вопрос как называется данный тулс?

akbarxojaabduraximov
Автор

Здравствуйте!
С использованием примера из справки CheckGeometry_management сделал скрипт, который проверяет шейп-файлы в папке. Если есть ошибки, то вызывается Repair Geometry. После чего файл опять проверяется. Как правило, остается одна ошибка типа
OBJECTID, CLASS, FEATURE_ID, PROBLEM -1, hdrlin.shp, -1, невозможно найти пространственный индекс .
Эта ошибка никак не ремонтируется. Её можно исправить

ИгорьАгапов-чр
Автор

Здраствуйте, множите пожалуста подсказать как устаноаить shutil.py

akbarxojaabduraximov
Автор

С новым годом!
В прошлом году не ответили на вопрос:
А что делать с русскими шрифтами?
Например на выражение
myshp)
Питон ругается:

ИгорьАгапов-чр
Автор

Доброе время суток. Я новичок, поэтому мой вопрос многим покажется глупым, но это не повод для остроумия. Пытался повторить урок вот, что получается в итоги:
Выполнение: Script "E:\test\Пробник№5\Новая персональная база E:\test\python
Время старта: Wed Jun 01 16:34:34 2016
Запуск скрипта Script...
E:\test\Пробник№5\Новая персональная база
E:\test\python
233
Failed script Script...

Traceback (most recent call last):
File "E:\test\python\mysript.py", line 11, in <module>
arcpy.SelectLayerByAttribute_management('myLyr', "NEW_SELECTION", """FID in (%s)"""%x)
File "c:\program files (x86)\arcgis\desktop10.3\arcpy\arcpy\management.py", line 7221, in SelectLayerByAttribute
raise e
ExecuteError: ERROR 000358: Неправильное выражение
Не удалось выполнить (SelectLayerByAttribute).


Не удалось выполнить (Script).
Не удалось на Wed Jun 01 16:34:35 2016 (Затраченное время: 0, 53 сек.)

В прошлом уроки тоже были проблемы когда упоминалось о похожей конструкции «arcpy.SelectLayerByAttribute_management('myLyr', "NEW_SELECTION", """FID in (%s)"""%x)»
вот скрипт:
myshp = arcpy.GetParameterAsText(0)
myfolder = arcpy.GetParameterAsText(1)

arcpy.AddMessage(myshp)
arcpy.AddMessage(myfolder)
kolvo =
arcpy.AddMessage(kolvo)

arcpy.MakeFeatureLayer_management(myshp, 'myLyr')
for x in range(kolvo):
arcpy.SelectLayerByAttribute_management('myLyr', "NEW_SELECTION", """FID in (%s)"""%x)
arcpy.CopyFeatures_management('myLyr', myfolder+'/myexport'+str(x)+'.shp')



В чём я ошибся?=)

АндрейГуд-рш
join shbcf.ru