AsShape
Краткая информация
Функция AsShape конвертирует геометрию Esri JSON или GeoJSON в геометрию ArcPy, а наборы объектов Esri JSON в наборы объектов ArcPy. GeoJSON – это обменный формат геопространственных данных для кодирования структур географических данных.
Обсуждение
Пространственной привязкой для объекта геометрии, созданного из GeoJSON, будет WGS84.
Примечание:
Объекты геометрии имеют свойство JSON, которое возвратит геометрию Esri JSON.
Синтаксис
AsShape(geojson_struct, {esri_json})
| Параметр | Объяснение | Тип данных |
|---|---|---|
|
geojson_struct |
The The following strings are included for |
Dictionary |
|
esri_json |
Specifies whether the input JSON is evaluated as Esri JSON or GeoJSON. If (Значение по умолчанию — False) |
Boolean |
Возвращаемое значение
| Тип данных | Объяснение |
|---|---|
|
Geometry |
Возвращает объект геометрии (
Если Esri JSON является набором объектов, то |
Пример кода
Создает объект PointGeometry с помощью объекта GeoJSON.
import arcpy
geojson_point = {
"type": "Point",
"coordinates": [5.0, 5.0]}
point = arcpy.AsShape(geojson_point)
Создает объект PointGeometry с помощью объекта Esri JSON.
import arcpy
esri_json = {
"x": -122.65,
"y": 45.53,
"spatialReference": {
"wkid": 4326}}
# Set the second parameter to True to evaluate as Esri JSON
point = arcpy.AsShape(esri_json, True)
Создает объект Multipoint с помощью объекта GeoJSON.
import arcpy
geojson_multipoint = {
"type": "MultiPoint",
"coordinates": [[5.0, 4.0], [8.0, 7.0]]}
multipoint = arcpy.AsShape(geojson_multipoint)
Создает объект Multipoint с помощью объекта Esri JSON.
import arcpy
esri_json = {
"points" : [
[-97.06138, 32.837],
[-97.06133, 32.836],
[-97.06124, 32.834],
[-97.06127, 32.832]],
"spatialReference" : {"wkid" : 4326}}
# Set the second parameter to True to evaluate as Esri JSON
multipoint = arcpy.AsShape(esri_json, True)
Создает объект Polyline с помощью объекта GeoJSON.
import arcpy
geojson_linestring = {
"type": "LineString",
"coordinates": [[5.0, 4.0], [8.0, 7.0]]}
polyline = arcpy.AsShape(geojson_linestring)
Создает объект Polyline с помощью объекта Esri JSON.
import arcpy
esri_json = {
"paths" : [
[[-97.08, 32.8], [-97.05, 32.6], [-97.06, 32.7],
[-97.07, 32.6]],
[[-97.4, 32.5], [-97.2, 32.75]]],
"spatialReference" : {"wkid" : 4326}}
# Set the second parameter to True to evaluate as Esri JSON
polyline = arcpy.AsShape(esri_json, True)
Создает составной объект Polyline с помощью объекта GeoJSON.
import arcpy
geojson_multilinestring = {
"type": "MultiLineString",
"coordinates": [
[[5.0, 4.0], [8.0, 7.0]],
[[4.0, 5.0], [7.0, 8.0]]]}
polyline = arcpy.AsShape(geojson_multilinestring)
Создает объект Polygon с помощью объекта GeoJSON.
import arcpy
geojson_polygon = {
"type": "Polygon",
"coordinates": [
[[10.0, 0.0], [20.0, 0.0], [20.0, 10.0], [10.0, 10.0],
[10.0, 0.0]]]}
polygon = arcpy.AsShape(geojson_polygon)
Создает объект Polygon с отверстием с помощью объекта GeoJSON.
import arcpy
geojson_polygon = {
"type": "Polygon",
"coordinates": [
[[10.0, 0.0], [20.0, 0.0], [20.0, 10.0], [10.0, 10.0],
[10.0, 0.0]],
[[12.0, 2.0], [18.0, 2.0], [18.0, 8.0], [12.0, 8.0],
[12.0, 2.0]]]}
polygon = arcpy.AsShape(geojson_polygon)