MapServer+PostGIS+WMS
-
- Активный участник
- Сообщения: 114
- Зарегистрирован: 20 апр 2010, 17:33
- Репутация: 0
MapServer+PostGIS+WMS
Приветствую всех!
Пытаюсь посмотреть через WMS в Mapserver слой, данные которого помещены в PostGIS\PostGreSQL. Открываю в браузере страницу с ссылкой на MAP-файл типа: http://localhost/cgi-bin/mapserv.exe?MA ... L&MODE=map, но ничего не выводится.
(MAP-файл прилагаю)
ПРобовал подключать базу через QGIS добавлением слоя PostGis карта появляется.
Что я делаю не так? И можно ли как-нибудь проверить соединение с бд PostGreSQL через MAP файл?
Пытаюсь посмотреть через WMS в Mapserver слой, данные которого помещены в PostGIS\PostGreSQL. Открываю в браузере страницу с ссылкой на MAP-файл типа: http://localhost/cgi-bin/mapserv.exe?MA ... L&MODE=map, но ничего не выводится.
(MAP-файл прилагаю)
ПРобовал подключать базу через QGIS добавлением слоя PostGis карта появляется.
Что я делаю не так? И можно ли как-нибудь проверить соединение с бд PostGreSQL через MAP файл?
- Вложения
-
- osm-bing.map
- (84.94 КБ) 686 скачиваний
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: MapServer+PostGIS+WMS
1. Попробуйте без WMS:
3. Вам не кажется, что если оставить только один слой в map-файле, то искать ошибку будет проще? Если разговор идет о слое 'landuse_layer1', то его данные в epsg:900913. В описании слоя раздел PROJECTION отсутствует, а проекция карты отличается от "Google mercator".
2. Уровень отладки максимальный - 5, укажите файл для лога:
Код: Выделить всё
CONFIG "MS_ERRORFILE" "C:/OSGeo4W/apps/israel/dbg.log"
DEBUG 5
лангольеры под окном жрали время ом-ном-ном
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: MapServer+PostGIS+WMS
Вот, если вдруг не читали.
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Активный участник
- Сообщения: 114
- Зарегистрирован: 20 апр 2010, 17:33
- Репутация: 0
Re: MapServer+PostGIS+WMS
Попробовал как Вы сказали на примере одного слоя:
выдается следующая ошибка
Map файл прилагаю
выдается следующая ошибка
Код: Выделить всё
[Thu Dec 09 13:29:04 2010].945000 CGI Request 1 on process 3064
[Thu Dec 09 13:29:05 2010].8000 msDrawMap(): Layer 1 (places), 0.063s
[Thu Dec 09 13:29:05 2010].8000 msDrawLabelCache(): labelcache_map_edge_buffer = -10
[Thu Dec 09 13:29:05 2010].8000 msDrawMap(): Drawing Label Cache, 0.000s
[Thu Dec 09 13:29:05 2010].8000 msDrawMap() total time: 0.063s
[Thu Dec 09 13:29:05 2010].8000 msSaveImage() total time: 0.000s
[Thu Dec 09 13:29:05 2010].8000 mapserv request processing time (loadmap not incl.): 0.063s
[Thu Dec 09 13:29:05 2010].8000 msFreeMap(): freeing map at 013457C8.
- Вложения
-
- osm-bing.map
- (2.71 КБ) 731 скачивание
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: MapServer+PostGIS+WMS
В логах нормальное поведение, MapServer считает что карту он нарисовал за 63 мс.
У слоя projection указан epsg:4326, а в базе запрашивается "using srid=900913".
Уберите scaledenom, оставьте только один стиль и без EXPRESSION.
P.S. Почему в файле настроек такое ужасное оформление? Вы его через какой то автомат получаете?
Можно не прикреплять файл, а вставить его в текст, заключив в тэги:[/code]
У слоя projection указан epsg:4326, а в базе запрашивается "using srid=900913".
Уберите scaledenom, оставьте только один стиль и без EXPRESSION.
P.S. Почему в файле настроек такое ужасное оформление? Вы его через какой то автомат получаете?
Можно не прикреплять файл, а вставить его в текст, заключив в тэги:
Код: Выделить всё
[code]
лангольеры под окном жрали время ом-ном-ном
-
- Активный участник
- Сообщения: 114
- Зарегистрирован: 20 апр 2010, 17:33
- Репутация: 0
Re: MapServer+PostGIS+WMS
1)
Убрал, логи выдаются теже.
MAp файл:
2)using srid=900913" означает что берется строка 900913 из таблицы spatial_ref_sys в которой прописано
чтото типа
900913
==============
spatialreferencing.org
====================
======================================
+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +units=m +k=1.0 +nadgrids=@null +no_defs
3)Я использую как раз mapserver utils: http://code.google.com/p/mapserver-utils/updates/list
Убрал, логи выдаются теже.
MAp файл:
Код: Выделить всё
MAP
OUTPUTFORMAT
NAME "Israel"
DRIVER 'GD/PNG'
MIMETYPE 'image/png'
IMAGEMODE RGBA
EXTENSION 'png'
END
FONTSET "fonts.lst"
IMAGEQUALITY 90
IMAGETYPE png
MAXSIZE 4000
SIZE 800 800
#EXTENT -20037508.3428 -15496570.7397 20037508.3428 18764656.2314
EXTENT 377005 3463832 4196975 4055751
UNITS meters
WEB
IMAGEPATH '/tmp/'
IMAGEURL '/tmp/'
METADATA
'ows_title' 'world'
'ows_srs' 'EPSG:3395'
'labelcache_map_edge_buffer' "-10"
END
METADATA
wms_title "WMS demo"
wms_abstract "This is the WMS demo from AMC"
wms_extent "377005 3463832 4196975 4055751"
wms_onlineresource "http://localhost/cgi-bin/mapserv.exe?MAP=C:/OSGeo4W/apps/israel/osm-bing.map&SERVICE=WMS&"
wms_srs "EPSG:4326"
wms_getfeatureinfo "http://localhost/cgi-bin/mapserv.exe?MAP=C:/OSGeo4W/apps/israel/osm-bing.map&SERVICE=WMS&"
labelcache_map_edge_buffer "-10"
END
END
DEBUG 5
CONFIG "MS_ERRORFILE" "C:/OSGeo4W/apps/israel/dbg.log"
PROJECTION
'proj=merc'
'lon_0=0'
'k=1'
'x_0=0'
'y_0=0'
'ellps=WGS84'
'datum=WGS84'
'units=m'
'no_defs'
END
LAYER
STATUS ON GROUP "default" PROJECTION "init=epsg:4326" END CONNECTIONTYPE postgis CONNECTION "dbname='postgis' host=localhost port=5432 user='postgres' password='Admin12' sslmode=disable" PROCESSING "CLOSE_CONNECTION=DEFER" minscaledenom 10000010
TYPE ANNOTATION
NAME "places"
DATA "way from (select way,osm_id ,place , capital, name from planet_osm_point where capital='yes' or place='country') as foo using unique osm_id using srid=900913"
LABELITEM 'name'
CLASSITEM 'place'
CLASS
LABEL
FONT scb
TYPE TRUETYPE
SIZE 8
COLOR "#777777"
WRAP ' '
# MAXLENGTH 8
# ALIGN CENTER
PRIORITY 9
BUFFER 1
PARTIALS FALSE
POSITION auto
END
END
END
END
чтото типа
900913
==============
spatialreferencing.org
====================
Код: Выделить всё
PROJCS["Popular Visualisation CRS / Mercator (deprecated)",GEOGCS["Popular Visualisation CRS",DATUM["Popular_Visualisation_Datum",SPHEROID["Popular Visualisation Sphere",6378137,0,AUTHORITY["EPSG","7059"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6055"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.01745329251994328,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4055"]],UNIT["metre",1,AUTHORITY["EPSG","9001"]],PROJECTION["Mercator_1SP"],PARAMETER["central_meridian",0],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0],AUTHORITY["EPSG","3785"],AXIS["X",EAST],AXIS["Y",NORTH]]
======================================
+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +units=m +k=1.0 +nadgrids=@null +no_defs
3)Я использую как раз mapserver utils: http://code.google.com/p/mapserver-utils/updates/list
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: MapServer+PostGIS+WMS
Если "using srid=900913", то в слое проекция должная быть такая же:
Код: Выделить всё
LAYER
...
CONNECTIONTYPE postgis
CONNECTION "dbname=postgis host=localhost user=postgres password=***"
DATA "way from ... using srid=900913"
PROJECTION "init=epsg:900913" END
...
END
Последний раз редактировалось Mavka 10 дек 2010, 14:21, всего редактировалось 1 раз.
лангольеры под окном жрали время ом-ном-ном
-
- Активный участник
- Сообщения: 114
- Зарегистрирован: 20 апр 2010, 17:33
- Репутация: 0
Re: MapServer+PostGIS+WMS
Как раз после того как убрал PROJECTION "init=epsg:900913" END
чтото появилось
А не подскажете , как EXTENT точный задать, открываю в QGIS и беру оттудова координаты, но отображается немного не то что хочу увидеть
чтото появилось
А не подскажете , как EXTENT точный задать, открываю в QGIS и беру оттудова координаты, но отображается немного не то что хочу увидеть
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: MapServer+PostGIS+WMS
Вы же планировали использовать WMS, тогда зачем точно настраивать? Главное что нужная область попадает в экстент.
Правило такое:
1. Задается проекция PROJECTION.
2. Экстент дается в той же проекции и единицах измерения.
Можете взять WGS84:
Экстент посмотрите в Google или любом другом месте.
P.S. Аналог mapserver-utils - OSM-in-a-Box (GeoServer).
Правило такое:
1. Задается проекция PROJECTION.
2. Экстент дается в той же проекции и единицах измерения.
Можете взять WGS84:
Код: Выделить всё
PROJECTION
"init=epsg:4326"
END
EXTENT -180 -90 180 90
P.S. Аналог mapserver-utils - OSM-in-a-Box (GeoServer).
лангольеры под окном жрали время ом-ном-ном
-
- Активный участник
- Сообщения: 114
- Зарегистрирован: 20 апр 2010, 17:33
- Репутация: 0
Re: MapServer+PostGIS+WMS
Спасибо за помощь!
Скажите, не существует ли уже готовых openstreetmap map-файлов? Чтоб как раз миновать процесс сборки через утилиты.
Скажите, не существует ли уже готовых openstreetmap map-файлов? Чтоб как раз миновать процесс сборки через утилиты.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя