Какое официальное решение ESRI для обслуживания статических изображений карты (например, png, jpg и т. Д.)? - PullRequest
5 голосов
/ 06 апреля 2011

Мне нужно написать картографический сервис, который возвращает одно статическое изображение карты (png, jpg и т. Д.). В старые времена (т. Е. До появления Google Maps) это было стандартным способом работы серверного программного обеспечения, такого как ArcIMS. Теперь эти пакеты по умолчанию обслуживают сервисы мозаичной карты, которые обычно являются подходящим решением в большинстве случаев. Однако в этом случае мои требования - вернуть одно изображение, к которому можно получить доступ по URL.

Я знаю, что решением Google Maps является их API статической карты . Это прекрасно работает, если вы создаете простую карту, но моя карта будет иметь наложения полигонов и точек, и, вероятно, будет добавлена ​​в качестве маркеров и закодированных полигонов с ограничением URL-адреса 1024 символов.

У меня есть доступ к ArcGIS Server, и я могу создать картографический сервис, который включает в себя вышеуказанные данные, но я не могу сказать, каков наилучший способ получить сервис для возврата одного изображения. Единственной вещью, которую я нашел в онлайн-справке ESRI, была возможность добавить возможности OGC Web Map Service (WMS) в картографический сервис. Вы можете запросить карту как изображение , но мне это кажется немного хаком.

Кто-нибудь знает, есть ли лучший / более официальный способ?

Ответы [ 2 ]

7 голосов
/ 11 апреля 2011

Если я понимаю, что вы хотите сделать правильно, вы можете использовать ArcGIS Server RESI API для этого. Используя REST API, вы можете запросить одиночное изображение из картографического сервиса ArcGIS Server и указать ограничивающий прямоугольник, размер изображения, тип файла изображения и множество других параметров - и вы получите одно изображение такого размера введите и т. д.

Возможно, картографический сервис был опубликован на вашем ArcGIS Server (9.3 или выше). Служба может быть кэшированной или динамической. Вы также можете использовать сервисы ArcGIS Online, даже чтобы почувствовать это. Например, перейдите по следующему адресу:

http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer

А в разделе «Поддерживаемые операции» в нижней части страницы перейдите в Экспорт карты. Введите размер в текстовом поле «Размер изображения» (например, 1200,1200) вместе с любыми другими параметрами и нажмите «Экспорт изображения».

Чтобы узнать точные аргументы URL, просмотрите итоговый URL для вашего запроса. Вы можете получить информацию о параметрах здесь (например, для операции экспорта): http://help.arcgis.com/en/arcgisserver/10.0/apis/rest/export.html

Теперь вы упомянули о создании веб-службы, поэтому, чтобы сделать это программно, вы можете просто нажать REST API напрямую. Или, возможно, вы захотите создать свой собственный сервис в качестве оболочки для этих вызовов REST API.

Надеюсь, это поможет, и я правильно понял ваш вопрос.

3 голосов
/ 22 июля 2015

Я только что создал:

  1. Пользовательский класс, позволяющий вам сделать это, вы можете посмотреть здесь: https://github.com/esri-es/Static-Maps-API-ArcGIS
  2. Скрипт NodeJS, который работает как Google StaticAPI Карт: https://github.com/esri-es/Static-Map-Service-ArcGIS

Приветствия, Рауль

...