Как мне опубликовать FeatureLayer, используя ArcGIS for python? - PullRequest
0 голосов
/ 28 февраля 2019

Я хочу опубликовать векторный слой, используя arcgis для python.В качестве первого шага я хочу создать шейп-файл в соответствии с документацией (https://esri.github.io/arcgis-python-api/apidoc/html/arcgis.gis.toc.html?highlight=import_data#arcgis.gis.ContentManager.import_data):

import os
import json
from IPython.display import display
from arcgis.gis import GIS
from arcgis.geometry import Point, Geometry
from arcgis.features import SpatialDataFrame

# Create an anonymous connection to ArcGIS Online
gis = GIS()

# create geometry ========================================================
geo = [Point({"x" : -118.15, "y" : 33.80, "spatialReference" : {"wkid" : 4326}})]

# create spatialdataframe ========================================================
df = SpatialDataFrame(geometry=geo);

# create feature layer from spatialdatafrme ============================
featureLayer = gis.content.import_data(df)

Теперь проблема с запуском этого кода заключается в том, что он выдает следующую ошибку:

~\AppData\Local\Continuum\anaconda3\lib\site-packages\shapefile.py in record(self, *recordList, **recordDict)
   1067         fieldCount = len(self.fields)
   1068         # Compensate for deletion flag
-> 1069         if self.fields[0][0].startswith("Deletion"): fieldCount -= 1
   1070         if recordList:
   1071             record = [recordList[i] for i in range(fieldCount)]

IndexError: list index out of range

После копания в коде я чувствую, что это ошибка. Однако мой вопрос: как мне опубликовать векторный слой с нуля, используя arcgis для python? Я понимаю, что есть решения для использования arcpy (например, createновый шейп-файл в arcmap с использованием python ), но, насколько я понимаю, arcpy в какой-то момент будет заменен arcgis для python.

1 Ответ

0 голосов
/ 28 февраля 2019

Вот хороший пример здесь

Вы можете загрузить свой список точек в AGOL, а затем использовать .publish () для векторного слоя

...