Описание геометрии в PostGis
- dobeer
- Активный участник
- Сообщения: 199
- Зарегистрирован: 25 дек 2009, 21:54
- Репутация: 1
- Откуда: Чита
- Контактная информация:
Описание геометрии в PostGis
При загрузке шейпа в БД PostGis, в таблице имеется поле "the_geom" с описанием геометрии. Значение ячеек имеют вид типа: "01030000000100000005000000BDF489CEF8854F41D54253C22E615F41CE202BD33D864F4117856B4C1D615F4196CA5B4034864F410D24DB8F13615F413DBBFD9EEE854F41BCBE0FCE24615F41BDF489CEF8854F41D54253C22E615F41". Объекты имеют тип полигонов. Как имея эту строку с описанием геометрии нарисовать вектором этот самый полигон в OpenLayers?
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: Описание геометрии в PostGis
Если есть возможность преобразовать в WKT, то элементарно:
Формат WKB в OpenLayers отсутствует. Можно попробовать JSTS Topology Suite, по аналогии с JTS там должен быть WKBReader.
Код: Выделить всё
var layer1 = new OpenLayers.Layer.Vector();
layer1.addFeatures([
new OpenLayers.Feature.Vector(
OpenLayers.Geometry.fromWKT("LINESTRING(0 0, 10 10, 20 20, 30 30)")
)
]);
Последний раз редактировалось Mavka 02 сен 2011, 15:54, всего редактировалось 1 раз.
лангольеры под окном жрали время ом-ном-ном
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: Описание геометрии в PostGis
лангольеры под окном жрали время ом-ном-ном
- dobeer
- Активный участник
- Сообщения: 199
- Зарегистрирован: 25 дек 2009, 21:54
- Репутация: 1
- Откуда: Чита
- Контактная информация:
Re: Описание геометрии в PostGis
У меня PostGIS стоит на ПК. Я просто в него загоняю шейпы чтоб вытащить координаты охвата объектов, путем изменения типа с geometry на box2d. Но сейчас потребовалось рисовать на карте вектор по объекту. По ссылкам непонял что к чему))) Мнеб просто взять строку (или все сразу) и переконвертировать в WKT, можно и на ПК не обязательно на сайте скриптами.
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: Описание геометрии в PostGis
Так устроит?
Или написать php-скрипт который делает запрос в БД и возвращает WKT?
Можно и локально с помощью ogr2ogr:
Дальше см. "OpenLayers: создание векторного слоя из локального файл"
Код: Выделить всё
SELECT ST_AsText(the_geom) as geometry FROM mytable
Можно и локально с помощью ogr2ogr:
Код: Выделить всё
ogr2ogr.exe ^
-f "GeoJSON" output.json ^
PG:"host='localhost' port='5432' dbname='postgis' user='x' password='y'" mytable
лангольеры под окном жрали время ом-ном-ном
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость