UMN MapServer - разные версии [РЕЦЕПТ]

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

UMN MapServer - разные версии [РЕЦЕПТ]

Сообщение Mavka » 20 сен 2010, 15:27

Существует три дистрибутива UMN MapServer для Windows: В первом и втором номера версии могут совпадать, но при этом программа будет работать по разному. В основном это приходится на мелкие пакостные баги, из-за которых долго ломаешь голову - "должно работать, но не хочет". И бывает достаточно взять версию из другого пакета, как все сразу начинает работать.

В FWTools же включена версия MapServer 5.7-dev (ака будущая стабильная 6.0) в которой много нового и интересного, а в добавок исправлены некоторые фундаментальные проблемы. Пользуясь случаем отмечу, что планы на выпуск версии 6.0 расписаны на конец января 2011 года (см. здесь и здесь).

Теперь, как легко переключаться между различными версиями. Устанавливаем нужные дистрибутивы. Допустим что у вас работает сервер Apache из комплекта OSGeo4W. Открываем файл настроек (httpd.conf) и добавляем ALIAS для папки со скриптами.

Код: Выделить всё

# было
ScriptAlias /cgi-bin/ "C:\OSGeo4W/bin/"
# добавили
ScriptAlias /cgi2/ "c:\Program Files/FWTools2.4.7/bin/" 
Не забываем дать права доступа в папку:

Код: Выделить всё

<Directory "c:\Program Files/FWTools2.4.7/bin/">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory> 
Все. Переходим к проверке работы. Делаем два запроса:

Код: Выделить всё

http://localhost/cgi-bin/mapserv.exe?
map=c:/work/test.map&REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.3.0

Код: Выделить всё

http://localhost/cgi2/mapserv.exe?
map=c:/work/test.map&REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.3.0
Получаем два ответа: "MapServer version 5.6.4" и "MapServer version 5.7-dev".
Последний раз редактировалось Mavka 18 окт 2010, 18:31, всего редактировалось 1 раз.
лангольеры под окном жрали время ом-ном-ном

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: UMN MapServer - разные версии [РЕЦЕПТ]

Сообщение Mavka » 27 сен 2010, 11:59

Поиск в Google по слову 'mapserver' показывает gis-lab.info на втором месте, сразу после оф. сайта...
лангольеры под окном жрали время ом-ном-ном

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9129
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 748
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: UMN MapServer - разные версии [РЕЦЕПТ]

Сообщение Максим Дубинин » 28 сен 2010, 04:28

У меня четвертая (2 офиц. сайт и википедия), но я все равно прослезился.
пристегивайтесь, турбулентность прямо по курсу

Аватара пользователя
dobeer
Активный участник
Сообщения: 199
Зарегистрирован: 25 дек 2009, 21:54
Репутация: 1
Откуда: Чита
Контактная информация:

Re: UMN MapServer - разные версии [РЕЦЕПТ]

Сообщение dobeer » 28 сен 2010, 07:25

Яндекс выдает на втором месте gis-lab.info, после оффициального :D

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: UMN MapServer - разные версии [РЕЦЕПТ]

Сообщение Mavka » 20 окт 2010, 13:06

Поскольку в Windows нет понятия "постоянная прописка" для библиотек, то не всегда можно вырвать программу из среды обитания. Скажем, MapScript из FWTools невозможно использовать, работая в Apache из OSGeo4W. Поэтому воспользуемся включенным в комплект маленьким http-сервером, написанным на python.

Запускается он из консоли FWTools:

Код: Выделить всё

bin\httpd.bat
или составить свой bat-файл (положить в корень FWTools), чтобы не лезть в консоль каждый раз:

Код: Выделить всё

@call .\setfw.bat
@call .\bin\httpd.bat 81
Где 81 - порт для сервера, т.к. 80 у меня уже занят Apache.

Теперь о грустном. Имеется в наличии конфликт имен (#2268)
pymod\mapscript.py
bin\mapscript.dll
При импорте python выдает загадочную ошибку т.к. пытается загрузить dll и ничего не понимает:
ImportError: dynamic module does not define init function (initmapscript)
Решатся сие переименованием mapscript.py в mapscript_.py и, соответственно, импортом:

Код: Выделить всё

import mapscript_ as mapscript
лангольеры под окном жрали время ом-ном-ном

Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя