Определение пользовательской проекции для WMS сервиса.
Такой хорошо известный идентификатор EPSG, как EPSG:4326, всегда должен показывать поддерживаемые системы пространственной привязки в файлах функциональности WMS, либо направлять к документам карт запросы в определенных проекциях. В то же время, многие пользовательские системы пространственной привязки в действительности никак не связаны ни с каким официальным идентификатором EPSG ID.
WMS сервисы ArcGIS Server позволяют определить пользовательскую проекцию или стандартное текстовое (WKT) представление проекции в WMS Сервисе. Это может оказаться полезным в случае, если ваши пользовательские системы координат не связаны с официальным EPSG ID. К примеру, издатели и пользователи WMS сервисов могут следующее:
- Присваивать пользовательским проекциям идентификаторы и объявлять о них посредством файла функциональности WMS.
- Перезаписывать существующую проекцию стандартной текстовой строкой.
- Посылать запросы к карте в определенной проекции путем прямого указания стандартного текста.
Использование свойства listCustomCRS
Для того, чтобы задать и отобразить пользовательские системы пространственной привязки, вам потребуется добавить свойство listCustomCRS в WMS Сервис. Это можно сделать только в ArcGIS Server Administrator Directory. Подробные инструкции с описанием способов доступа к Administrator Directory и добавления этого свойства содержатся в разделе Доступные свойства WMS Сервиса (Available WMS service properties).
Задание пользовательской проекции по умолчанию
Для того, чтобы задать пользовательскую проекцию по умолчанию для WMS Сервиса, можно назначить любой идентификатор EPSG в качестве WKID вашей пользовательской проекции путем присоединения "EPSG:<ID>=DEFAULT" к свойству listCustomCRS. Например:
"properties": {
"listCustomCRS": "EPSG:200001=DEFAULT",
...
В этом примере EPSG:200001 было назначено идентификатором WKID EPSG для пользовательской проекции.
Задание пользовательской проекции с помощью WKT
Для того, чтобы задать пользовательскую проекцию для WMS Сервиса, можно назначить строке формата WKT (well-known text) вашей пользовательской проекции любой идентификатор EPSG путем присоединения "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