AsShape (arcpy)

Резюме

Конвертирует объекты Esri JSON и GeoJSON в объекты геометрии ArcPy. GeoJSON – это обменный формат геопространственных данных для кодирования структур географических данных.

Синтаксис

AsShape (geojson_struct, {esri_json})
ПараметрОбъяснениеТип данных
geojson_struct

geojson_struct содержит свойства type и coordinates.

Следующие строки включены для type: Point, LineString, Polygon, MultiPoint и MultiLineString.

Dictionary
esri_json

Свойства и пространственная привязка геометрии esri_json.

Свойства геометрии включают points, paths и rings. Поддерживаются следующие типы геометрии: точки (Point), полилинии (Polyline), полигоны (Polygon), составные объекты и наборы объектов (Feature Set), а также наборы записей (Record Set).

(Значение по умолчанию — False)

Boolean
Возвращено значение
Тип данныхОбъяснение
Geometry

AsShape возвращает объект геометрии (PointGeometry, Multipoint, Polyline или Polygon) в зависимости от входного объекта GeoJSON или esriJSON.

import arcpy
gjPoint = {"type": "Point", "coordinates": [5.0, 5.0]}
ptGeometry = arcpy.AsShape(gjPoint)

Пример кода

Создает объект PointGeometry с помощью объекта GeoJSON.
import arcpy
gjPoint = {"type": "Point", "coordinates": [5.0, 5.0]}
ptGeometry = arcpy.AsShape(gjPoint)
Создает объект PointGeometry с помощью объекта Esri JSON.
import arcpy
esri_json = {"x": -122.65, "y": 45.53, "spatialReference": {"wkid": 4326}}
# Set the second parameter to True to use an esri JSON
ptGeometry = arcpy.AsShape(esri_json, True)
Создает объект Multipoint с помощью объекта GeoJSON.
import arcpy
gjMultiPoint = {
    "type": "MultiPoint",
    "coordinates": [[5.0, 4.0], [8.0, 7.0]]}
multiPoint = arcpy.AsShape(gjMultiPoint)
Создает объект 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 use an esri JSON
multiPoint = arcpy.AsShape(esri_json, True)
Создает объект Polyline с помощью объекта GeoJSON.
import arcpy
gjLineString = {
    "type": "LineString",
    "coordinates": [[5.0, 4.0], [8.0, 7.0]]}
polyLine = arcpy.AsShape(gjLineString)
Создает объект 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 use an esri JSON
polyLine = arcpy.AsShape(esri_json, True)
Создает составной объект Polyline с помощью объекта GeoJSON.
import arcpy
gjMultiLineString = {
    "type": "MultiLineString",
    "coordinates": [
        [[5.0, 4.0], [8.0, 7.0]],
        [[4.0, 5.0], [7.0, 8.0]]]}
mpPolyLine = arcpy.AsShape(gjMultiLineString)
Создает объект Polygon с помощью объекта GeoJSON.
import arcpy
gjPolygon = {
    "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(gjPolygon)
Создает объект Polygon with a hole (полигон с отверстием) с помощью объекта GeoJSON.
import arcpy
gjPolygonWithHole = {
    "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]]]}
polygonWithHole = arcpy.AsShape(gjPolygonWithHole)

Связанные темы

9/10/2013