Добавление пользовательских EPSG/CRS-кодов в ArcGIS Server
-
- Новоприбывший
- Сообщения: 4
- Зарегистрирован: 19 июл 2009, 14:12
- Репутация: 0
Добавление пользовательских EPSG/CRS-кодов в ArcGIS Server
Всем привет!
Столкнулся со следующей проблемой. Есть ArcGIS Server 9.3.1, в котором опубликован картографический сервис, использующий проекцию Albers-Siberia (см. здесь). Есть приложение на базе .Net WEB.ADF, посредством которого этот сервис отображается. Возникла необходимость подключить к приложению дополнительно слой, выдаваемый внешним WMS-сервером (в данном случае версии 1.1.1).
Насколько мне известно, WMS-сервер может отдавать картинки только в ограниченном наборе проекций, заданных при конфигурации сервиса в виде цифровых кодов, чаще всего это EPSG-код. Для Albers-Siberia найти такой код не удалось, однако, WMS-сервер позволяет задать пользовательский код и соответственно проекцию. Это было сделано, после чего стало возможным получать от WMS-сервера картинку в проекции Albers-Siberia.
Однако, попытка научить ArcGIS Server этому новому коду к успеху пока не привела. Со стороны WMS-сервера был выбран уникальный код, например, EPSG:54006. Чтобы картинка с WMS-сервера отображалась, необходимо, чтобы основная проекция приложения имела точно такой же код. Одного совпадения WKT недостаточно. Если я задаю этот код вместе с WKT проекции программно через IDSpatialReferenceInfo, то получаю пустые картинки для всех сервисов, кроме WMS. Список кодов, поддерживаемых ArcGIS Server можно увидеть тут.
Есть ли все-таки возможность дополнить этот список своим кодом?
Столкнулся со следующей проблемой. Есть ArcGIS Server 9.3.1, в котором опубликован картографический сервис, использующий проекцию Albers-Siberia (см. здесь). Есть приложение на базе .Net WEB.ADF, посредством которого этот сервис отображается. Возникла необходимость подключить к приложению дополнительно слой, выдаваемый внешним WMS-сервером (в данном случае версии 1.1.1).
Насколько мне известно, WMS-сервер может отдавать картинки только в ограниченном наборе проекций, заданных при конфигурации сервиса в виде цифровых кодов, чаще всего это EPSG-код. Для Albers-Siberia найти такой код не удалось, однако, WMS-сервер позволяет задать пользовательский код и соответственно проекцию. Это было сделано, после чего стало возможным получать от WMS-сервера картинку в проекции Albers-Siberia.
Однако, попытка научить ArcGIS Server этому новому коду к успеху пока не привела. Со стороны WMS-сервера был выбран уникальный код, например, EPSG:54006. Чтобы картинка с WMS-сервера отображалась, необходимо, чтобы основная проекция приложения имела точно такой же код. Одного совпадения WKT недостаточно. Если я задаю этот код вместе с WKT проекции программно через IDSpatialReferenceInfo, то получаю пустые картинки для всех сервисов, кроме WMS. Список кодов, поддерживаемых ArcGIS Server можно увидеть тут.
Есть ли все-таки возможность дополнить этот список своим кодом?
-
- Новоприбывший
- Сообщения: 3
- Зарегистрирован: 16 июл 2009, 14:20
- Репутация: 0
Re: Добавление пользовательских EPSG/CRS-кодов в ArcGIS Server
не работал в ArcGIS Server, но в GeoServer есть возможность добавить пользовательскую проекцию, посредством редактирования файла \data_dir\user_projections\epsg.properties.
Просто описываете свою проекцию как Well-Known-Text (wkt). Пример:
Я уверен что в ArcGIS Server тоже есть такая возможность.
Просто описываете свою проекцию как Well-Known-Text (wkt). Пример:
Код: Выделить всё
900913=PROJCS["WGS84 / Google Mercator", GEOGCS["WGS 84", DATUM["World Geodetic System 1984", SPHEROID["WGS 84", 6378137.0, 298.257223563, AUTHORITY["EPSG","7030"]], AUTHORITY["EPSG","6326"]], PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]], UNIT["degree", 0.017453292519943295], AUTHORITY["EPSG","4326"]], PROJECTION["Mercator (1SP)", AUTHORITY["EPSG","9804"]], PARAMETER["semi_major", 6378137.0], PARAMETER["semi_minor", 6378137.0], PARAMETER["latitude_of_origin", 0.0], PARAMETER["central_meridian", 0.0], PARAMETER["scale_factor", 1.0], PARAMETER["false_easting", 0.0], PARAMETER["false_northing", 0.0], UNIT["m", 1.0], AUTHORITY["EPSG","900913"]]
-
- Новоприбывший
- Сообщения: 4
- Зарегистрирован: 19 июл 2009, 14:12
- Репутация: 0
Re: Добавление пользовательских EPSG/CRS-кодов в ArcGIS Server
Я был бы только рад, если бы у ArcGIS Server обнаружилась такая возможность. Однако, сам я ее обнаружить не смог, посему прошу совета на форуме.
-
- Новоприбывший
- Сообщения: 2
- Зарегистрирован: 25 авг 2009, 16:27
- Репутация: 0
Re: Добавление пользовательских EPSG/CRS-кодов в ArcGIS Server
Вам поможет эта ссылка:
http://edndoc.esri.com/arcsde/9.2/conce ... bjects.htm
Но учтите, что это серьезно замедлит работу ArcGIS.
Если все параметры прописаны правильно, то по идее все должно отображаться и без создания в ArcGIS нового идентификатора проекции.
http://edndoc.esri.com/arcsde/9.2/conce ... bjects.htm
Но учтите, что это серьезно замедлит работу ArcGIS.
Если все параметры прописаны правильно, то по идее все должно отображаться и без создания в ArcGIS нового идентификатора проекции.
-
- Новоприбывший
- Сообщения: 4
- Зарегистрирован: 19 июл 2009, 14:12
- Репутация: 0
Re: Добавление пользовательских EPSG/CRS-кодов в ArcGIS Server
Степан, спасибо!
Это именно то, что нужно. Нашел также аналогичную статью здесь, на гис-лабе: http://gis-lab.info/qa/newcs-ag.html
После задания проекции, как описано, все заработало.
Без кода проекции, к сожалению, не работает. Я так понимаю, причина в том, что внешний (не AGS) WMS-сервер отдает список доступных проекций только в кодах, без описаний. Если кто-нибудь знает способ, как получить картинку с WMS-сервера только по описанию проекции, буду признателен.
Это именно то, что нужно. Нашел также аналогичную статью здесь, на гис-лабе: http://gis-lab.info/qa/newcs-ag.html
После задания проекции, как описано, все заработало.
Без кода проекции, к сожалению, не работает. Я так понимаю, причина в том, что внешний (не AGS) WMS-сервер отдает список доступных проекций только в кодах, без описаний. Если кто-нибудь знает способ, как получить картинку с WMS-сервера только по описанию проекции, буду признателен.
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: Добавление пользовательских EPSG/CRS-кодов в ArcGIS Server
По стандарту WMS может работать только с цифровыми кодами EPSG.
лангольеры под окном жрали время ом-ном-ном
-
- Участник
- Сообщения: 91
- Зарегистрирован: 17 июл 2008, 11:27
- Репутация: 3
- Откуда: Омск
Re: Добавление пользовательских EPSG/CRS-кодов в ArcGIS Server
У меня та же проблема. Только надо научить ArcMap некой новой своей EPSG:30001. Я уже всё на два ряда обсмотрел в том числе указанные ссылки и нечего про добавление EPSG не нашел.
Надо добавить проекцию 63-го года w3. Шаблон сделал с 42-го года:
PROJCS["SK1963_w3",GEOGCS["GCS_Pulkovo_1942",DATUM["D_Pulkovo_1942",
SPHEROID["Krasovsky_1940",6378245,298.3]],PRIMEM["Greenwich",0],
UNIT["Degree",0.017453292519943295]],PROJECTION["Gauss_Kruger"],
PARAMETER["False_Easting",3500000],PARAMETER["False_Northing",-11057.626],
PARAMETER["Central_Meridian",72.05],PARAMETER["Scale_Factor",1],
PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","30001"]]
Так куда что писать?
Надо добавить проекцию 63-го года w3. Шаблон сделал с 42-го года:
PROJCS["SK1963_w3",GEOGCS["GCS_Pulkovo_1942",DATUM["D_Pulkovo_1942",
SPHEROID["Krasovsky_1940",6378245,298.3]],PRIMEM["Greenwich",0],
UNIT["Degree",0.017453292519943295]],PROJECTION["Gauss_Kruger"],
PARAMETER["False_Easting",3500000],PARAMETER["False_Northing",-11057.626],
PARAMETER["Central_Meridian",72.05],PARAMETER["Scale_Factor",1],
PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","30001"]]
Так куда что писать?
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 13 гостей