Skip To Content

Определение пользовательской проекции для WMS сервиса

Такой хорошо известный идентификатор EPSG ID, как EPSG:4326, всегда должен присутствовать в сервисах WMS. Этот ID демонстрирует поддерживаемые системы пространственной привязки в файлах функциональности WMS и используется для запросов карт в определенных проекциях. В то же время, многие пользовательские системы пространственной привязки никак не связаны ни с каким официальным идентификатором EPSG ID.

WMS сервисы ArcGIS Server позволяют определить пользовательскую проекцию или стандартное текстовое (WKT) представление проекции в сервисе WMS. Это может оказаться полезным в случае, если ваши пользовательские системы координат не связаны с официальным EPSG ID. К примеру, издатели и пользователи WMS сервисов могут выполнять следующие действия:

  • Присваивать пользовательским проекциям идентификаторы и объявлять о них посредством файла функциональности WMS.
  • Перезаписывать существующую проекцию стандартной текстовой строкой.
  • Посылать запросы к карте в определенной проекции путем прямого указания стандартного текста.

Задавать пользовательскую проекцию с помощью свойства listCustomCRS

Для того, чтобы задать и отобразить пользовательские системы пространственной привязки, вам потребуется добавить свойство listCustomCRS в сервис WMS. В 10.7 можно настроить с использованием Manager.

До 10.7 это свойство можно было настроить только с использованием ArcGIS Server Administrator Directory. Для настройки этого свойства выполните следующие действия:

  1. Откройте Administrator Directory в браузере и войдите в систему. Обычно URL-адрес директории ­ https://gisserver.domain.com:6443/arcgis/admin/.
  2. Щелкните сервисы.
  3. На странице Папка – / щелкните имя сервиса WMS, доступного для редактирования. Если сервис не показан в списке, он может находиться во вложенной папке корневой директории .
  4. Прокрутите вниз страницу Service – <service name> (MapServer) и щелкните редактировать (edit).
  5. В диалоговом окне Свойства сервиса найдите секцию "typeName": "WMSServer".
  6. В секции "properties": { добавьте свойство listCustomCRS и определите пользовательскую проекцию или стандартное текстовое (WKT) представление проекции.

Здесь можно задать EPSG ID по умолчанию для пользовательской проекции или назначить определенный EPSG ID в строку WKT.

Задание пользовательской проекции по умолчанию

Для того, чтобы задать пользовательскую проекцию по умолчанию для вашего сервиса WMS, можно назначить любой EPSG ID в качестве хорошо известного ID вашей пользовательской проекции путем присоединения "EPSG:<ID>=DEFAULT" к свойству listCustomCRS.

"properties": {
    "listCustomCRS": "EPSG:200001=DEFAULT",
    ...

В этом примере EPSG:200001 было назначено идентификатором хорошо известным EPSG ID для пользовательской проекции.

Задание пользовательской проекции с помощью WKT

Для того, чтобы задать пользовательскую проекцию для cервиса WMS, можно назначить в строке формата WKT вашей пользовательской проекции любой EPSG ID путем присоединения "EPSG:<ID>=<custom projection WKT>" к свойству listCustomCRS. Идентификатор EPSG:<ID> демонстрируется в файле функциональности сервиса WMS. Такой же подход можно использовать для перезаписи существующей проекции.

В следующем примере пользовательской проекции, представленной строкой WKT, присвоен идентификатор EPSG:200002, который замещает определение EPSG:3857, заданное с помощью другой строки WKT:

"properties": {
    "listCustomCRS":"EPSG:3857=PROJCS[\"International_1924_UTM_Zone_30N\",GEOGCS    [\"GCS_International_1924\",DATUM[\"D_International_1924\",SPHEROID    [\"International_1924\",6378388.0,297.0]],PRIMEM[\"Greenwich\",0.0],UNIT    [\"Degree\",0.0174532925199433]],PROJECTION[\"Transverse_Mercator\"],PARAMETER    [\"False_Easting\",500000.0],PARAMETER[\"False_Northing\",0.0],PARAMETER    [\"Central_Meridian\",-3.0],PARAMETER[\"Scale_Factor\",0.9996],PARAMETER    [\"Latitude_Of_Origin\",0.0],UNIT[\"Meter\",1.0]];EPSG:200002=GEOGCS    [\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM    [\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433],METADATA    [\"World\",-180.0,-90.0,180.0,90.0,0.0,0.0174532925199433,0.0,1262]]"
    ...

Запрос определенной проекции с помощью WKT

Следующий пример иллюстрирует, как сделать запрос к WMS Сервис показать карту в определенной проекции посредством указания стандартного текстового представления (WKT) этой проекции в запросе GetMap.

Образец запроса GetMap

http://gisserver.domain.com:6080/arcgis/services/service/MapServer/WmsServer?VERSION=1.3.0&REQUEST=GetMap&CRS=PROJCS["International_1924_UTM_Zone_30N",GEOGCS["GCS_International_1924",DATUM["D_International_1924",SPHEROID["International_1924",6378388.0,297.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-3.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]&BBOX=-116627.343234,3913652.137231,1206619.240498,4885411.347159&WIDTH=1024&HEIGHT=752&LAYERS=Color,Trama,Contactos&STYLES=,,&EXCEPTIONS=xml&FORMAT=image/png&BGCOLOR=0xFEFFFF&TRANSPARENT=TRUE