MapServer: вывод координат курсора в другой проекции
Добавлено: 14 янв 2013, 18:56
Здравствуйте уважаемые участники форума.
В информационной системе в качестве веб ГИС используется MapServer. Картографические слои представлены наборами файлов, содержащих векторные и растровые данные. Векторные слои формируются из файлов MapInfo. Проекция и система координат векторных слоёв: "Долгота-широта" - "WGS-84" (EPSG: 4326). В "MAP" файле указана такая же проекция.
В связи с тем, что применяется географическая проекция, векторный слой отображается с искажением – сжатие по вертикали (например, как в Quantum GIS). MapServer формирует сжатую картинку в соответствии с указанной проекцией – рисунок 1. При этом, в MapInfo тот же слой отображается привычно, без искажения – рисунок 2. Для того, чтобы добиться привычного отображения векторного слоя в MapServer, принято решение об изменении проекции. Векторный слой переведён в проекцию Меркатора с прямоугольной системой координат: "Меркатора WGS-84" (EPSG: 41001). В MapInfo проекция представлена так, как показано на рисунке 3. В "MAP" файле указана та же проекция:
Теперь MapServer отображает карту как положено, без искажения по вертикали, однако координаты отображаются уже не в градусах, а в метрах.
Требуется: векторные слои отображать без искажения (как в MapInfo), а координаты при этом выводить в формате "градусы, минуты, секунды".
Возникли следующие вопросы:
1. Возможно ли в MapServer выполнять динамический пересчёт проекции для отображения координат курсора в другой системе координат? В таком случае слои оставили бы в прямоугольной проекции Меркатора, а координаты курсора отображали в географической "Долгота-Широта".
2. Возможно ли в MapServer отключить опцию искажения векторных карт в случае использования географической проекции? То есть фактически надо выводить картинку и координаты как это делает MapInfo.
3. Существует ли другой способ для решения вопроса о динамическом преобразовании системы координат, например какие-нибудь плагины для MapServer и пр.?
Спасибо.
В информационной системе в качестве веб ГИС используется MapServer. Картографические слои представлены наборами файлов, содержащих векторные и растровые данные. Векторные слои формируются из файлов MapInfo. Проекция и система координат векторных слоёв: "Долгота-широта" - "WGS-84" (EPSG: 4326). В "MAP" файле указана такая же проекция.
В связи с тем, что применяется географическая проекция, векторный слой отображается с искажением – сжатие по вертикали (например, как в Quantum GIS). MapServer формирует сжатую картинку в соответствии с указанной проекцией – рисунок 1. При этом, в MapInfo тот же слой отображается привычно, без искажения – рисунок 2. Для того, чтобы добиться привычного отображения векторного слоя в MapServer, принято решение об изменении проекции. Векторный слой переведён в проекцию Меркатора с прямоугольной системой координат: "Меркатора WGS-84" (EPSG: 41001). В MapInfo проекция представлена так, как показано на рисунке 3. В "MAP" файле указана та же проекция:
Код: Выделить всё
PROJECTION
"proj=merc"
"lon_0=0"
"k=1"
"x_0=0"
"y_0=0"
"ellps=WGS84"
"datum=WGS84"
"units=m"
"no_defs"
"towgs84=0,0,0"
END
Теперь MapServer отображает карту как положено, без искажения по вертикали, однако координаты отображаются уже не в градусах, а в метрах.
Требуется: векторные слои отображать без искажения (как в MapInfo), а координаты при этом выводить в формате "градусы, минуты, секунды".
Возникли следующие вопросы:
1. Возможно ли в MapServer выполнять динамический пересчёт проекции для отображения координат курсора в другой системе координат? В таком случае слои оставили бы в прямоугольной проекции Меркатора, а координаты курсора отображали в географической "Долгота-Широта".
2. Возможно ли в MapServer отключить опцию искажения векторных карт в случае использования географической проекции? То есть фактически надо выводить картинку и координаты как это делает MapInfo.
3. Существует ли другой способ для решения вопроса о динамическом преобразовании системы координат, например какие-нибудь плагины для MapServer и пр.?
Спасибо.