I have a code (below) that accepts a geometry type and builds a shape dict to be added to my knowledge graphs. This works without issue if the geometry type is 'esriGeometryTypePoint', but any other type and I get the following error (shown after code):
def build_spatial_props(geo_type):
space_types = []
space_dict = {
"name": "shape",
"alias": "shape",
"fieldType": "esriFieldTypeGeometry",
"geometryType": geo_type,
"hasZ": False,
"hasM": False,
"editable": True,
"visible": True,
"required": False,
"IsSystemMaintained": False,
"role": "esriGraphPropertyRegular"
}
space_types.append(space_dict)
return space_types
spatial_poly = build_spatial_props("esriGeometryTypeMultipoint")
kg.graph_property_adds(type_name='Matthew_Flood_Impact', graph_properties=spatial_poly)
~\AppData\Local\ESRI\conda\envs\gf\Lib\site-packages\arcgis\graph\_service.py in graph_property_adds(self, type_name, graph_properties)
868 r_enc = _kgparser.GraphPropertyAddsRequestEncoder()
869 for prop in graph_properties:
--> 870 r_enc.add_property(prop)
871
872 r_enc.encode()
ValueError: Unexpected geometry type.
The following are listed as geometry types for properties: https://github.com/Esri/arcgis-python-api/blob/d89788423fdf430cf84a28614f3effed7bc8706a/guide/17-wor...
- esriFieldTypeGeometry
- with this type, you also need to define geometryType:
- esriGeometryTypePoint
- esriGeometryTypePolyline
- esriGeometryTypePolygon
- esriGeometryTypeMultipoint