要素服务在ArcGIS Online或ArcGIS Enterprise中托管,因此Survey123 Connect只能创建托管的要素图层。解决这个问题的方法是,使用ArcGIS Online或ArcGIS Enterprise作为托管位置来创建要素服务。以下是一个使用ArcGIS Online作为托管位置的示例代码:
arcpy.CreateFeatureclass_management('C:/data','cities.shp','POINT')
arcpy.AddField_management('cities.shp','NAME','TEXT')
arcpy.AddField_management('cities.shp','POPULATION','LONG')
arcpy.AddField_management('cities.shp','LOCATION','TEXT')
arcpy.AddField_management('cities.shp','COUNTRY','TEXT')
arcpy.AddField_management('cities.shp','POINTS','DOUBLE')
arcpy.AddField_management('cities.shp','TYPE','TEXT')
arcpy.AddField_management('cities.shp','STATUS','TEXT')
arcpy.AddField_management('cities.shp','CREATED_BY','TEXT')
feature_service_url = 'https://.maps.arcgis.com'
username = ''
password = ''
# Sign in to ArcGIS Online
gis = GIS(feature_service_url, username, password)
# Define the feature service name and item components
fs_name = 'myFeatureService'
fs_items = {
'metadata': {'title': fs_name, 'tags': ['Survey123', 'Python']},
'data': 'cities.shp',
'type': 'Shapefile'
}
# Publish the feature service
item_prop = gis.content.add(fs_items['metadata'], fs_items['data'])
fs_item = item_prop.publish()
fs = FeatureLayerCollection.fromitem(fs_item)
# Enable attachments and sync on the feature service
fs.manager.enable_attachments()
fs.manager.sync_enabled(True)
在这个示例代码中,首先创建了一个名为“cities.shp”的要素类。接下来,使用ArcGIS Online作为托管位置来创建要素服务,并定义了要素服务的名称、元数据和数据。最后,使用“FeatureLayerCollection”模块将要素服务
上一篇:arcgis数据库成图
下一篇:ArcGIS突出显示图形