Описание геометрии в PostGis

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

Описание геометрии в PostGis

Сообщение dobeer »

При загрузке шейпа в БД PostGis, в таблице имеется поле "the_geom" с описанием геометрии. Значение ячеек имеют вид типа: "01030000000100000005000000BDF489CEF8854F41D54253C22E615F41CE202BD33D864F4117856B4C1D615F4196CA5B4034864F410D24DB8F13615F413DBBFD9EEE854F41BCBE0FCE24615F41BDF489CEF8854F41D54253C22E615F41". Объекты имеют тип полигонов. Как имея эту строку с описанием геометрии нарисовать вектором этот самый полигон в OpenLayers?
Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Описание геометрии в PostGis

Сообщение Mavka »

Если есть возможность преобразовать в WKT, то элементарно:

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

var layer1 = new OpenLayers.Layer.Vector();

layer1.addFeatures([
    new OpenLayers.Feature.Vector(
        OpenLayers.Geometry.fromWKT("LINESTRING(0 0, 10 10, 20 20, 30 30)")
    )
]); 
Формат WKB в OpenLayers отсутствует. Можно попробовать JSTS Topology Suite, по аналогии с JTS там должен быть WKBReader.
Последний раз редактировалось Mavka 02 сен 2011, 15:54, всего редактировалось 1 раз.
лангольеры под окном жрали время ом-ном-ном
Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Описание геометрии в PostGis

Сообщение Mavka »

Не увидел шапку топика. Раз уж PostGIS то делайте ST_AsText(geometry)

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

Re: Описание геометрии в PostGis

Сообщение dobeer »

У меня PostGIS стоит на ПК. Я просто в него загоняю шейпы чтоб вытащить координаты охвата объектов, путем изменения типа с geometry на box2d. Но сейчас потребовалось рисовать на карте вектор по объекту. По ссылкам непонял что к чему))) Мнеб просто взять строку (или все сразу) и переконвертировать в WKT, можно и на ПК не обязательно на сайте скриптами.
Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Описание геометрии в PostGis

Сообщение Mavka »

Так устроит?

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

SELECT ST_AsText(the_geom) as geometry FROM mytable
Или написать php-скрипт который делает запрос в БД и возвращает WKT?

Можно и локально с помощью ogr2ogr:

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

ogr2ogr.exe ^
    -f "GeoJSON" output.json ^
    PG:"host='localhost' port='5432' dbname='postgis' user='x' password='y'" mytable
Дальше см. "OpenLayers: создание векторного слоя из локального файл"
лангольеры под окном жрали время ом-ном-ном
Ответить

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

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

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