Добрый день, коллеги !
Помогите решить следующую проблему.
Скрипт выдаёт ошибку при попытке создания объектов в полигональном слое.
Ошибка следующая:
Traceback (most recent call last):
File "C:\ArcMapScripts\exportXmlToLayer\xmlToLayer.py", line 334, in <module>
cursor.insertRow (_contentToFields)
TypeError: cannot alter multipart geometry type
В скрипте создаю полигональный слой:
arcpy.CreateFeatureclass_management (a.env.workspace, lyrName, u'POLYGON', u'', u'DISABLED', u'DISABLED', _msk83)
Далее добавляю к нему поля:
arcpy.AddField_management (lyrName, u'CadastralBlockNumber', u'TEXT', u'', u'', 50, u'Кадастровый номер квартала', u'NULLABLE', u'NON_REQUIRED')
......
arcpy.AddField_management (lyrName, u'CadastralCostUnit', u'TEXT', u'', u'', 25, u'Единица измерения кадастровой стоимости', u'NULLABLE', u'NON_REQUIRED')
Далее в цикле выдергиваю из XML-файла значения этих полей и пытаюсь нарисовать полигон по координатам из этого же XML-файла и заполнить атрибутивную таблицу:
fields_list = [u'SHAPE@', u'CadastralBlockNumber', u'CadastralBlockArea', u'CadastralBlockAreaUnit', u'CadastralNumber', u'State', u'DateCreated', u'Area', u'Unit', u'Name', u'OKATO', u'KLADR', u'PostalCode', u'Region', u'District', u'Locality', u'Note', u'CategoryCode', u'Category', u'UtilizationCode', u'Utilization', u'CadastralCost', u'CadastralCostUnit']
_contentToFields = [] # данные атрибутивной таблицы
if list_coords:
cursor = arcpy.da.InsertCursor (lyrName, fields_list)
coordsArray = arcpy.Array ()
pointObject = arcpy.Point ()
arcpy.AddMessage (u"\n")
arcpy.AddMessage (u"Перечень координат: {0}".format (list_coords))
arcpy.AddMessage (u"\n")
for coords in list_coords:
pointObject.X = float (coords[0])
pointObject.Y = float (coords[1])
coordsArray.add (pointObject)
polygonObject = unicode (arcpy.Polygon (coordsArray, _msk83))
_contentToFields.insert (0, polygonObject)
for _contentToField in _contentToFields:
arcpy.AddMessage (u"{0}".format (_contentToField))
arcpy.AddMessage (u"\n")
cursor.insertRow (_contentToFields)
del cursor
Ниже скрин ошибки:
Буду категорично благодарен за помощь !!!
Проблема с Arcpy - TypeError: cannot alter multipart geometry type
-
- Новоприбывший
- Сообщения: 2
- Зарегистрирован: 13 окт 2016, 08:40
- Репутация: 0
-
- Участник
- Сообщения: 85
- Зарегистрирован: 21 ноя 2010, 17:36
- Репутация: 31
Re: Проблема с Arcpy - TypeError: cannot alter multipart geometry type
Зачем тут unuicode( ... ) ?
Код: Выделить всё
polygonObject = unicode (arcpy.Polygon (coordsArray, _msk83))
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 25 гостей