ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

AsShape

  • Сводка
  • Описание
  • Синтаксис
  • Пример кода

Сводка

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

Описание

Примечание:

AsShape не поддерживает объекты в системе привязки координат GeoJSON; пространственная привязка объекта геометрии, созданного на базе GeoJSON, будет Unknown (Неизвестна).

Синтаксис

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

geojson_struct включает type и coordinates.

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

Dictionary
esri_json

Задает, является ли входной JSON Esri JSON или GeoJSON. Если True, входные данные оцениваются как Esri JSON.

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

Boolean

Значение отраженного сигнала

Тип данныхОбъяснение
Geometry

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

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

Если Esri JSON является набором объектов, то AsShape будет возвращать FeatureSet. Спецификация ArcGIS REST API определяет набор объектов как коллекцию объектов с определенным типом геометрии, полями и пространственной привязкой. Можно использовать инструмент JSON в пространственные объекты, чтобы конвертировать Esri JSON напрямую в класс пространственных объектов.

Пример кода

AsShape пример 1

Создает объект PointGeometry с помощью объекта GeoJSON.

import arcpy
geojson_point = {
    "type": "Point", 
    "coordinates": [5.0, 5.0]}
point = arcpy.AsShape(geojson_point)
AsShape пример 2

Создает объект 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
point = arcpy.AsShape(esri_json, True)
AsShape пример 3

Создает объект Multipoint с помощью объекта GeoJSON.

import arcpy
geojson_multipoint = {
    "type": "MultiPoint",
    "coordinates": [[5.0, 4.0], [8.0, 7.0]]}
multipoint = arcpy.AsShape(geojson_multipoint)
AsShape пример 4

Создает объект 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)
AsShape пример 5

Создает объект Polyline с помощью объекта GeoJSON.

import arcpy
geojson_linestring = {
    "type": "LineString",
    "coordinates": [[5.0, 4.0], [8.0, 7.0]]}
polyline = arcpy.AsShape(geojson_linestring)
AsShape пример 6

Создает объект 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)
AsShape пример 7

Создает составной объект 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)
AsShape пример 8

Создает объект 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)
AsShape пример 9

Создает объект Polygon with a hole (полигон с отверстием) с помощью объекта 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)

Связанные разделы

  • FromWKB
  • FromWKT

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2021 Esri. | Конфиденциальность | Правовая информация