ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

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

ArcGIS Online

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

ArcGIS Desktop

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

ArcGIS Enterprise

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

ArcGIS for Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

Справка

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

Использование сервисов геообработки в Python

  • Получение результата растрового типа из серверного инструмента
  • Получение изображения карты

Как и другие инструменты геообработки, серверные инструменты геообработки имеют фиксированный набор параметров, которые обеспечивают инструмент необходимой информацией. При использовании асинхронных серверных инструментов в скрипте, выходные данные могут быть получены с помощью применяемого в инструменте Результат (Result) метода Получить выходные данные (getOutput).

Подсказка:

Функция Является синхронным (IsSynchronous) может быть использована для определения режима работы инструмента: синхронного или асинхронного. Если инструмент является синхронным, результат возвращается автоматически, но, до завершения работы инструмента нельзя предпринимать никаких действий.

В следующем примере, функция Получить значение параметра (GetParameterValue) используется для получения объекта Набор объектов (FeatureSet) из серверного инструмента. Объект Набор объектов (FeatureSet) содержит схему входных параметров инструмента. Затем, объект Набор объектов (FeatureSet) загружается в класс пространственных объектов, а серверный инструмент выполняется на сервере. Скрипт заканчивается методом Получить выходные данные (getOutput), использующимся для получения выходных данных, которые затем сохраняются локально с помощью метода сохранения объекта Набор объектов (FeatureSet).

import arcpy
import time

# Add a toolbox from a server
#
arcpy.ImportToolbox("http://flame7/arcgis/services;GP/BufferByVal", "mytools")

# Use GetParameterValue to get a featureset object with the default 
#   schema of the first parameter of the tool 'bufferpoints'
#
inFeatureSet = arcpy.GetParameterValue("bufferpoints", 0)

# Load a shapefile into the featureset
#
inFeatureSet.load("c:/base/roads.shp")

# Run a server tool named BufferPoints with featureset created above
#
result = arcpy.BufferPoints_mytools(inFeatureSet, "5 feet")

# Check the status of the result object every 0.2 seconds until it has a value 
#    of 4 (succeeded) or greater
#
while result.status < 4:
    time.sleep(0.2)

# Get the output FeatureSet back from the server and save to a local geodatabase
#
outFeatSet = result.getOutput(0)
outFeatSet.save("c:/temp/base.gdb/towers_buffer")

Получение результата растрового типа из серверного инструмента

Результат в виде растра возвращается в формате Tagged Image File Format (TIFF). По умолчанию, при использовании метода Получить выходные данные (getOutput), файл TIFF записываются в папку TEMP вашей системы. Для управления местоположением файла TIFF необходимо задать соответствующую папку в качестве параметра среды scratchWorkspace.

import arcpy 
import time

# Set the scratchworkspace to a folder.
#
arcpy.env.scratchWorkspace = "c:/temp/rasteroutput"

# Add a toolbox from a server
#
arcpy.ImportToolbox("http://flame7/arcgis/services;SlopeByVal", "mytools")

dem = "c:/dems/k_ne_g"

# Run a server tool named RunSlope
#
result = arcpy.RunSlope_mytools(dem)

# Check the status of the result object every 0.2 seconds until it has a value 
#    of 4 (succeeded) or greater
#
while result.status < 4:
    print result.status
    time.sleep(0.2)

# Raster output will be written to the scratchworkspace    
#
outTIFF = result.getOutput(0)

Получение изображения карты

Сервисы геообработки могут иметь результат в виде сервиса карты, что позволяет создать картографическое изображение с результатами выполненной задачи. Цифровые карты содержат визуальное представление географических наборов данных. Цифровые карты передаются через интернет в виде изображений (таких как .jpeg). Изображение карты содержит более понятную для человека информацию, чем необработанные объекты в классе пространственных объектов. Изображениями карты также можно управлять — они легко сжимаются, их можно соединять в управляемые блоки, кроме того, имеются методы их транспортировки и просмотра через интернет.

Изображения карты создаются с помощью картографического сервиса ArcGIS for Server и являются результатом публикации документа ArcMap (.mxd). Учитывая характеристики изображения карты, может быть удобнее создать изображение по результатам работы инструмента геообработки и передать его через интернет, чем передавать полученный набор или наборы данных. Сервисы геообработки могут иметь результат в виде картографического сервиса, используемого ArcGIS for Server для создания изображений карты по выходным данным.

import arcpy
import time
import urllib

# Add a toolbox from a server
#
arcpy.ImportToolbox("http://flame7/arcgis/services;GP/BufferByVal", "mytools")

# Use GetParameterValue to get a featureset object with the default schema of the 
#   first parameter of the tool 'bufferpoints'
#
inFeatureSet = arcpy.GetParameterValue("bufferpoints", 0)

# Load a shapefile into the featureset
#
inFeatureSet.load("c:/base/roads.shp")

# Run a server tool named BufferPoints with featureset created above
#
result = arcpy.BufferPoints_mytools(inFeatureSet, "5 feet")

# Check the status of the result object every 0.2 seconds until it has a value 
#    of 4 (succeeded) or greater
#
while result.status < 4:
    time.sleep(0.2)
    print result.status

# Return a map service
#
mapimage = result.getMapImageURL(0)

# Use Python's urllib module's urlretrieve method to copy the image locally
#
urllib.urlretrieve(mapimage, "c:/base/road_buffer.jpg")

ArcGIS Desktop

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

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

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