wms, непонятный ответ на GetCapatibility
-
- Новоприбывший
- Сообщения: 5
- Зарегистрирован: 16 июл 2007, 17:14
- Репутация: 0
wms, непонятный ответ на GetCapatibility
Работая со своим wms клиентом я обнаружил одну вещь, которую не понимаю. Вначале я дам исходную информацию для запроса , а потом опишу проблему.
1. http://dk.nunagis.gl/wms?servicename=wms_n_baggrund - сервер, на который я посылаю GetCapatibility запрос;
2. Изучаю ответ, меня интересует слой с именем Land_g2mill, проекция EPSG:32624. Здесь меня должен интересовать параметр <BoundingBox SRS="EPSG:32624">,
он такой:
<BoundingBox SRS="EPSG:32624"
minx="-3.40282e+038" miny="-3.40282e+038" maxx="3.40282e+038" maxy="3.40282e+038" />
3. Посылаю запрос getMap - получаю плохой результат.
Самое интересное , что MapInfo справляется с этим и дает корректный результат. Используя его, я смог приблизительно определить праматры
для BBOX: -7600000,-10000000,8600000,9900000. Если я использую их то все Окей. Если я работаю с другими слоями (EPSG:32624) , то все хорошо
( если у него нету <BoundingBox SRS="EPSG:32624"> и поэтому ему приходиться брать его у родительского слоя).
В чем тут может быть дело?
1. http://dk.nunagis.gl/wms?servicename=wms_n_baggrund - сервер, на который я посылаю GetCapatibility запрос;
2. Изучаю ответ, меня интересует слой с именем Land_g2mill, проекция EPSG:32624. Здесь меня должен интересовать параметр <BoundingBox SRS="EPSG:32624">,
он такой:
<BoundingBox SRS="EPSG:32624"
minx="-3.40282e+038" miny="-3.40282e+038" maxx="3.40282e+038" maxy="3.40282e+038" />
3. Посылаю запрос getMap - получаю плохой результат.
Самое интересное , что MapInfo справляется с этим и дает корректный результат. Используя его, я смог приблизительно определить праматры
для BBOX: -7600000,-10000000,8600000,9900000. Если я использую их то все Окей. Если я работаю с другими слоями (EPSG:32624) , то все хорошо
( если у него нету <BoundingBox SRS="EPSG:32624"> и поэтому ему приходиться брать его у родительского слоя).
В чем тут может быть дело?
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: wms, непонятный ответ на GetCapatibility
BBOX ни разу ни правильный.kata писал(а):<BoundingBox SRS="EPSG:32624" minx="-3.40282e+038" miny="-3.40282e+038" maxx="3.40282e+038" maxy="3.40282e+038" />
пристегивайтесь, турбулентность прямо по курсу
-
- Новоприбывший
- Сообщения: 5
- Зарегистрирован: 16 июл 2007, 17:14
- Репутация: 0
Re: wms, непонятный ответ на GetCapatibility
Конечно неправильный - о том и речь. Однако MapInfo справляется.
-
- Участник
- Сообщения: 91
- Зарегистрирован: 17 июл 2008, 11:27
- Репутация: 3
- Откуда: Омск
Re: wms, непонятный ответ на GetCapatibility
Во первых дайте ссылку на его ответ - посмотрим, самому составлять ламово. Априорно - либо надо смотреть BBOX у родителя, есть ещё вариант что вы и mapinfo представляетесь разными версиями WMS клиента (1.0 ... 1.3) На сколько мне известно там синтаксис несколько разный, может тот сервер только на определенной версии диалекта глючит.
-
- Новоприбывший
- Сообщения: 5
- Зарегистрирован: 16 июл 2007, 17:14
- Репутация: 0
-
- Участник
- Сообщения: 91
- Зарегистрирован: 17 июл 2008, 11:27
- Репутация: 3
- Откуда: Омск
Re: wms, непонятный ответ на GetCapatibility
Там же вроде как написано:
<LatLonBoundingBox minx="-7.18554e+205" miny="-90" maxx="7.18554e+205" maxy="90"/>
<BoundingBox SRS="EPSG:32624" minx="-3.40282e+038" miny="-3.40282e+038" maxx="3.40282e+038" maxy="3.40282e+038"/>
MapInfo, как умная Маша, игнорирует параметр BoundingBox, а использует только LatLonBoundingBox (Box в градусах) и сама пересчитывает их в нужную проекцию, собственно BoundingBox - необязательный параметр. LatLonBoundingBox- конечно тоже не правильный, но здесь есть хотя бы 2 относительно правильных величины(miny="-90" maxy="90"), по ним она и позиционирует окно (как видно по Y карта гораздо меньше и таки укладывается в земной шар
) Она и с позиционировала как поняла (я так понял там Гренландия изображена).
<LatLonBoundingBox minx="-7.18554e+205" miny="-90" maxx="7.18554e+205" maxy="90"/>
<BoundingBox SRS="EPSG:32624" minx="-3.40282e+038" miny="-3.40282e+038" maxx="3.40282e+038" maxy="3.40282e+038"/>
MapInfo, как умная Маша, игнорирует параметр BoundingBox, а использует только LatLonBoundingBox (Box в градусах) и сама пересчитывает их в нужную проекцию, собственно BoundingBox - необязательный параметр. LatLonBoundingBox- конечно тоже не правильный, но здесь есть хотя бы 2 относительно правильных величины(miny="-90" maxy="90"), по ним она и позиционирует окно (как видно по Y карта гораздо меньше и таки укладывается в земной шар

-
- Новоприбывший
- Сообщения: 5
- Зарегистрирован: 16 июл 2007, 17:14
- Репутация: 0
Re: wms, непонятный ответ на GetCapatibility
То что MapInfo умна я согласен. Идея тоже хорошая - но думаю, это можно считать только предположением. Вообще это некрасиво, что сервер возвращает такие данные - придется придумывать некую проверку, но строгий алгоритм думаю не предложить.
-
- Участник
- Сообщения: 91
- Зарегистрирован: 17 июл 2008, 11:27
- Репутация: 3
- Откуда: Омск
Re: wms, непонятный ответ на GetCapatibility
Всё говорит в пользу этого предположения. У мапинфо просто нет другой информации. А на всякую пользовательскую абракадабру затыков не придумаешь. А если и в градусах будет косяк? Выдать юзеру окно с просьбой ввести Bounds? Я бы предложил поступать также как мапинфо и не париться.
ПС: где вы только такой кривой WMS откопали...
ПС: где вы только такой кривой WMS откопали...
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя