Mapserver+Postgis ошибка отрисовки карты

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
Lianik
Новоприбывший
Сообщения: 11
Зарегистрирован: 16 апр 2011, 13:28
Репутация: 0

Mapserver+Postgis ошибка отрисовки карты

Сообщение Lianik » 22 авг 2011, 20:26

Товарищи, в очередно раз проблема и опять мне нужна ваша помощь)
Пытаюсь подключить бд Postgres к Mapserverу, но чт-то никак... Получаю ошибку:

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

msDrawMap(): Image handling error. Failed to draw layer named 'buildings'. msPostGISLayerWhichShapes(): Query error. Error (ERROR: column "NAME" does not exist LINE 1: select "NAME",encode(AsBinary(force_collection(force_2d("geo... ^ ) executing query: select "NAME",encode(AsBinary(force_collection(force_2d("geometrycolumn")),'NDR'),'hex') as geom,"gid" from buildings where geometrycolumn && GeomFromText('POLYGON((31.981 46.9588028785982,31.981 46.9771971214018,32.004 46.9771971214018,32.004 46.9588028785982,31.981 46.9588028785982))',find_srid('','buildings','geometrycolumn'))
.map файл:

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

LAYER
		NAME 'buildings'
		CONNECTIONTYPE postgis
		CONNECTION "user=postgres password=pswd dbname=map host=localhost"
		DATA "the_geom from buildings"
		TYPE POLYGON
		TOLERANCE 5
		HEADER '/usr/map/marker/templates/templ_head.html'
		FOOTER '/usr/map/marker/templates/templ_footer.html'		
		TEMPLATE '/usr/map/marker/templates/templ_query.html'
		DUMP true

		METADATA
			'ows_title' 'buildings'
			wms_title "Marker test WMS"
			wms_abstract "This is the WMS test demo from Marker"
			wms_srs "EPSG:4326"
			wms_include_items "all"
		END
		STATUS OFF
		TRANSPARENCY 100
			PROJECTION
				'proj=longlat'
      		'ellps=WGS84'
      		'datum=WGS84'
      		'no_defs'
      	END
Карту проверял, в qgis она нормально отображается и редактируется.
Только на вас надежда)
Заранее спасибо!

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

Re: Mapserver+Postgis ошибка отрисовки карты

Сообщение Mavka » 22 авг 2011, 22:36

Элементарно, откройте pgAdmin и сделайте запрос:

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

select "NAME",encode(AsBinary(force_collection(force_2d("geometrycolumn")),'NDR'),'hex') as geom,"gid" from buildings where geometrycolumn && GeomFromText('POLYGON((31.981 46.9588028785982,31.981 46.9771971214018,32.004 46.9771971214018,32.004 46.9588028785982,31.981 46.9588028785982))',find_srid('','buildings','geometrycolumn'))
Как разберетесь с ошибками там - возвращайтесь в UMN MapServer.

На вскидку:
  • странное название "geometrycolumn" - в зависимости от способа загрузки это, обычно, или "the_geom" или "wkb_geometry"
  • find_srid(...) - обычно UMN сразу просит в определенной СК, проверьте строку подключения и на всякий случай загляните в таблицу geometry_columns; вроде должно и так работать, но все равно необычно
лангольеры под окном жрали время ом-ном-ном

Lianik
Новоприбывший
Сообщения: 11
Зарегистрирован: 16 апр 2011, 13:28
Репутация: 0

Re: Mapserver+Postgis ошибка отрисовки карты

Сообщение Lianik » 23 авг 2011, 17:00

Да, извините, ошибся, в начале в коде я написал название столбца "geometrycolumn", в реальности то он называется "the_geom", это я когда искал ошибку, менял названия... Уже исправил)
Сделал запрос в pgAdmin, получил ошибку:
ERROR: column "NAME" does not exist
СТРОКА 1: SELECT "NAME",encode(AsBinary(force_collection(force_2d("the...
^


********** Ошибка **********

ERROR: column "NAME" does not exist
SQL state: 42703
Character: 8
Получается, Postgis не хватает колонки "NAME"...добавил колонку и запрос обработался, и в UMN всё заработало.
Спасибо! А то я и не додумался запрос напрямую в pgAdmin оправить.)

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

Re: Mapserver+Postgis ошибка отрисовки карты

Сообщение Mavka » 24 авг 2011, 08:44

А что за "NAME"? Используется для подписей или в классах?
лангольеры под окном жрали время ом-ном-ном

Lianik
Новоприбывший
Сообщения: 11
Зарегистрирован: 16 апр 2011, 13:28
Репутация: 0

Re: Mapserver+Postgis ошибка отрисовки карты

Сообщение Lianik » 25 авг 2011, 22:57

Как оказалось, я не задумываясь использовал "NAME" в классах...

Ответить

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

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

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