mapserver + google + моя карта
-
- Участник
- Сообщения: 83
- Зарегистрирован: 16 июн 2009, 10:38
- Репутация: 0
mapserver + google + моя карта
Начал разбираться с Mapserver, хочу с его помощью в сайте на базу google maps показывать объекты (tail).
Прочитал документацию на сайте, програмная часть мне в принципе понятна, примеры работают.
Во всех примерах используется уже известная система координат.
Пытаюсь подцепить к серверу свою карту, карта в некой местной системе координат (проекция Гаусса-Крюгера скорее всего). Прошу помощи в настройке карты для работы с wms. Для всех объектов карты я уже знаю метод вычисления координат WGS-84, надеюсь что это поможет.
Сразу скажу что очень плохо разбираюсь в теме (опыт - 1 мес), так что буду рад любым ссылкам или примерам.
Прочитал документацию на сайте, програмная часть мне в принципе понятна, примеры работают.
Во всех примерах используется уже известная система координат.
Пытаюсь подцепить к серверу свою карту, карта в некой местной системе координат (проекция Гаусса-Крюгера скорее всего). Прошу помощи в настройке карты для работы с wms. Для всех объектов карты я уже знаю метод вычисления координат WGS-84, надеюсь что это поможет.
Сразу скажу что очень плохо разбираюсь в теме (опыт - 1 мес), так что буду рад любым ссылкам или примерам.
-
- Участник
- Сообщения: 83
- Зарегистрирован: 16 июн 2009, 10:38
- Репутация: 0
Re: mapserver + google + моя карта
В догонку к сообщению прошу дать описание формата файла espg, насколько я понимаю, создав свою координатную систему, я смогу решить вопрос, но описания формата пока найти не могу.
-
- Гуру
- Сообщения: 810
- Зарегистрирован: 22 авг 2007, 14:58
- Репутация: 123
- Откуда: Казань
Re: mapserver + google + моя карта
Формат файла с описанием кодов epsg в MapServer - это формат библиотеки proj, посмотрите документацию, которая дана у них на сайте.AntonAD писал(а):прошу дать описание формата файла espg.
-
- Гуру
- Сообщения: 810
- Зарегистрирован: 22 авг 2007, 14:58
- Репутация: 123
- Откуда: Казань
Re: mapserver + google + моя карта
Если вы знаете координаты ваших объектов в WGS-84, то, может быть, проще будет перепроецировать данные непосредственно в эту систему? (тогда, в зависимости от того, с растром или вектором вы работаете, вам может понадобиться библиотека gdal или ogr - на сайте были примеры работы с этими библиотеками).AntonAD писал(а):Начал разбираться с Mapserver
Пытаюсь подцепить к серверу свою карту, карта в некой местной системе координат (проекция Гаусса-Крюгера скорее всего). Прошу помощи в настройке карты для работы с wms. Для всех объектов карты я уже знаю метод вычисления координат WGS-84, надеюсь что это поможет.
-
- Участник
- Сообщения: 83
- Зарегистрирован: 16 июн 2009, 10:38
- Репутация: 0
Re: mapserver + google + моя карта
Да примеры я внимательно изучил, в принципе все понятно, но все примеры показывают преобразования из одной стандартной сист. координат в другую. Я прихожу к мысли что надо описать свою сист координат, а вот примеров на это там нет, а сам я не силен в этом.KolesovDmitry писал(а): Если вы знаете координаты ваших объектов в WGS-84, то, может быть, проще будет перепроецировать данные непосредственно в эту систему? (тогда, в зависимости от того, с растром или вектором вы работаете, вам может понадобиться библиотека gdal или ogr - на сайте были примеры работы с этими библиотеками).
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9128
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: mapserver + google + моя карта
в proj легко добавить свою СК, описав ее в формате proj.4 в файле epsg
если СК вам не известна или она локальная, то это вам не поможет, определите сначала, точно ли вы можете описать СК
если СК вам не известна или она локальная, то это вам не поможет, определите сначала, точно ли вы можете описать СК
пристегивайтесь, турбулентность прямо по курсу
-
- Участник
- Сообщения: 83
- Зарегистрирован: 16 июн 2009, 10:38
- Репутация: 0
Re: mapserver + google + моя карта
Это локальная СК.sim писал(а):в proj легко добавить свою СК, описав ее в формате proj.4 в файле epsg
если СК вам не известна или она локальная, то это вам не поможет, определите сначала, точно ли вы можете описать СК
Как мне поступить в этом случае. Повторюсь что я могу для любой точки своей СК найти точку подходящую google.
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9128
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: mapserver + google + моя карта
в этом случае нужно сначала привязать карту из локальной в географическую или спроектированную СК, тогда можно будет спокойно выбрать нужный epsg-код. Привязывать можно растр и вектор, способов много, см. описания в статьях.
пристегивайтесь, турбулентность прямо по курсу
-
- Участник
- Сообщения: 83
- Зарегистрирован: 16 июн 2009, 10:38
- Репутация: 0
Re: mapserver + google + моя карта
Я привязал tiff используя статью описывающую привязку с использованием gdal. Привязал используя 5 опорных точек не задавая явно СК. При просмотре получается нечто похожее на правду.
Но при попытке открыть карты используя wms я получаю ошибку.
Вот мой map файл:
Очень прошу подсказать в чем дело и как можно решить проблему.
Но при попытке открыть карты используя wms я получаю ошибку.
Код: Выделить всё
<ServiceException code="LayerNotDefined">
msWMSLoadGetMapParams(): WMS server error. Invalid layer(s) given in the LAYERS parameter.
</ServiceException>
Код: Выделить всё
<!-- WARNING: Optional LatLonBoundingBox could not be established for this layer. Consider setting LAYER.EXTENT or wms_extent metadata. Also check that your data exists in the DATA statement -->
Код: Выделить всё
MAP
##########################################################################
NAME NU
STATUS ON
SIZE 1024 768
IMAGETYPE PNG24
EXTENT 76.5007941 66.0642443 76.8417906 66.1640712
IMAGECOLOR 255 255 255
##########################################################################
# WEB section
#
WEB
TEMPLATE "template.html"
IMAGEPATH "./tmp/"
IMAGEURL "/tmp/"
METADATA
"wms_title" "NU"
"wms_abstract" "NU Map"
"wms_onlineresource" "http://localhost:8080/cgi-bin/mapserv.exe?map=C:/ms4w/apps/nu/htdocs/nu.map"
"wms_srs" "EPSG:4326"
"wms_getfeatureinfo" "http://localhost:8080/cgi-bin/mapserv.exe?map=C:/ms4w/apps/nu/htdocs/nu.map"
"wms_featureinfoformat" "text/plain"
END
END
##########################################################################
# PROJECTION section
#
PROJECTION
"proj=latlong"
"ellps=WGS84"
"datum=WGS84"
END
##########################################################################
LAYER
NAME GTiff
DATA "../nu.tif"
STATUS DEFAULT
TYPE RASTER
PROCESSING "BANDS=1,2,3"
OFFSITE 10 10 10
METADATA
"wms_title" "GTiff"
"wms_abstract" "GTiff layer"
"wms_include_items" "all"
"wms_srs" "EPSG:4326 EPSG:54004"
END
END
#########################################################################
END # Map File
-
- Гуру
- Сообщения: 810
- Зарегистрирован: 22 авг 2007, 14:58
- Репутация: 123
- Откуда: Казань
Re: mapserver + google + моя карта
А в чем вы пытаетесь открыть wms? Попробуйте сначала посмотреть вашу карту без всякого wms, а стандартными средствами MapServer, передавая параметры через адресную строку - тогда по крайней мере будет понятно, ошибка в map-файле или в клиенте.AntonAD писал(а): Но при попытке открыть карты используя wms я получаю ошибку.
А вообще, у вас похоже "end"ов больше чем нужно, и до Layer MapServer просто не доходит.
И, наконец, это к проблеме вряд ли отностится, но, коли уж у вас проекция везде указывается кодом epsg, то и тут
Вот мой map файл:Код: Выделить всё
MAP ... WEB ... "wms_srs" "EPSG:4326" END <--- Этот "End" кажется лишний ... END <--- Сюда MapServer уже не попадает ########################################################################## # PROJECTION section .... END # Map File
Лучше указать код epsg - для единообразия.Код: Выделить всё
PROJECTION "proj=latlong" "ellps=WGS84" "datum=WGS84" END
-
- Участник
- Сообщения: 83
- Зарегистрирован: 16 июн 2009, 10:38
- Репутация: 0
Re: mapserver + google + моя карта
когда я пишу http://localhost:8080/cgi-bin/mapserv.e ... p&mode=map - то выводится карта повернутая на 15-20 градусов, вероятно это результат привязки карты. Т.е. так работает и не ругается.KolesovDmitry писал(а): А в чем вы пытаетесь открыть wms? Попробуйте сначала посмотреть вашу карту без всякого wms, а стандартными средствами MapServer, передавая параметры через адресную строку - тогда по крайней мере будет понятно, ошибка в map-файле или в клиенте.
Возможно мне стоило сказать что я привязывал карту по точкам из google maps. Может быть в этом случае я неправильно указываю CК?
Этот END относится к METADATA - так что не в этом дело.А вообще, у вас похоже "end"ов больше чем нужно, и до Layer MapServer просто не доходит.
Хорошо учту, это я брал из примера, там было так, пока пытаюсь заставить хоть как то работать.И, наконец, это к проблеме вряд ли отностится, но, коли уж у вас проекция везде указывается кодом epsg, то и тутЛучше указать код epsg - для единообразия.Код: Выделить всё
PROJECTION "proj=latlong" "ellps=WGS84" "datum=WGS84" END
-
- Гуру
- Сообщения: 810
- Зарегистрирован: 22 авг 2007, 14:58
- Репутация: 123
- Откуда: Казань
Re: mapserver + google + моя карта
Тогда получается, что ошибка не в map-файле, а в клиенте, которым вы пытаетесь смотреть карту или в связке клиент-MapServer. Покажите, как вы вызываете эту карту в вашем клиенте (кстати, а что за клиент, все-таки?).AntonAD писал(а):когда я пишу http://localhost:8080/cgi-bin/mapserv.e ... p&mode=map - то выводится карта повернутая на 15-20 градусов, вероятно это результат привязки карты. Т.е. так работает и не ругается.KolesovDmitry писал(а): А в чем вы пытаетесь открыть wms? Попробуйте сначала посмотреть вашу карту без всякого wms, а стандартными средствами MapServer, передавая параметры через адресную строку - тогда по крайней мере будет понятно, ошибка в map-файле или в клиенте.
Возможно мне стоило сказать что я привязывал карту по точкам из google maps. Может быть в этом случае я неправильно указываю CК?
(То, что карта повернута, это скорее всего означает ошибку привязки (ведь вы же привязывали в WGS-84, судя по всему?). И если бы все было нормально, то она и в клиенте должна была быть повернута так же, как и при вызове напрямую в MS.)
-
- Участник
- Сообщения: 83
- Зарегистрирован: 16 июн 2009, 10:38
- Репутация: 0
Re: mapserver + google + моя карта
В качестве клиента я использую Google maps. Пример использования взял с этого сайта.Тогда получается, что ошибка не в map-файле, а в клиенте, которым вы пытаетесь смотреть карту или в связке клиент-MapServer. Покажите, как вы вызываете эту карту в вашем клиенте (кстати, а что за клиент, все-таки?).
(То, что карта повернута, это скорее всего означает ошибку привязки (ведь вы же привязывали в WGS-84, судя по всему?). И если бы все было нормально, то она и в клиенте должна была быть повернута так же, как и при вызове напрямую в MS.)
Вот запрос в ответ на который ругается wms.
Код: Выделить всё
http://localhost:8080/cgi-bin/mapserv.exe?map=C:/ms4w/apps/nu/htdocs/nu.map&REQUEST=GetMap&SERVICE=WMS&VERSION=1.1.1&LAYERS=WMS&STYLES=&FORMAT=image/png&BGCOLOR=0xFFFFFF&TRANSPARENT=TRUE&SRS=EPSG:54004&BBOX=8542602.150002306,9856743.029425388,8543213.6462192,9857353.84835514&WIDTH=256&HEIGHT=256&reaspect=false"
-
- Участник
- Сообщения: 83
- Зарегистрирован: 16 июн 2009, 10:38
- Репутация: 0
Re: mapserver + google + моя карта
Всем большое спасибо, как оказалось все просто, сказалось отсутствие опыта.
viewtopic.php?f=19&t=3535
viewtopic.php?f=19&t=3535
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей