Сообщения

Показаны сообщения с ярлыком "postgresql"

Создание триггера с оверлейной операцией PostGIS

Задача - при добавлении точечного объекта в одной таблице определить, в пределах какого полигонального объекта другой таблицы точка находится. -- DROP FUNCTION public.process_realty_add(); CREATE OR REPLACE FUNCTION public.process_realty_add()   RETURNS trigger AS $BODY$ BEGIN raise notice 'point trigger starts now: %', now(); SELECT gis_county.county, gis_county.state  INTO NEW.t_county, NEW.t_state FROM gis_county WHERE ST_Intersects(NEW.geom, gis_county.geom); raise notice 'point trigger ends now: %', now(); RETURN NEW; END; $BODY$   LANGUAGE plpgsql VOLATILE   COST 100; Триггер: -- DROP TRIGGER realty_add ON public.gis_realty; CREATE TRIGGER realty_add   AFTER INSERT OR UPDATE   ON public.gis_realty   FOR EACH ROW   EXECUTE PROCEDURE public.process_realty_add();

Установка PostGIS 2, GeoServer 2.10 на Debian 7

GeoServer Java8 - http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html Добавить в /etc/environment строку "JAVA_HOME=/usr/lib/jvm/java-8-oracle"  Добавить в /etc/profile строку "export PATH=$PATH:/usr/lib/jvm/java-8-oracle" Tomcat 7 - нужно изменить /etc/init.d/tomcat7 строку с с подстановкой какой-нибудь 6-й OpenJDK на нужную. PostGIS - ссылка echo "deb http://apt.postgresql.org/pub/repos/apt/ wheezy-pgdg main" >> /etc/apt/sources.list wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add - sh -c 'echo "deb http://http.debian.net/debian wheezy-backports main" >> /etc/apt/sources.list' apt-get update apt-get install libjson-c2 apt-get install liblwgeom-2.1.4 apt-get install -y postgresql-9.3-postgis-2.1

postgis loose bbox. скрытая засада!

http://docs.geoserver.org/2.1.4/user/data/postgis.html#postgis-loose-bbox так вот, если использовать этот параметр, а он дефолтный, то в результате GetFeatureInfo вы можете получить не то что ожидаете! ЕСЛИ НУЖНО ПОЛУЧАТЬ ИНФУ ЧЕРЕЗ WMS ОТКЛЮЧАТЬ ЕГО!!!

Эксперименты с Mongo 2

Изображение
Начало эксперимента. После подключения к серверу базы PostgreSQL/PostGIS я сразу же начал сравнивать. Суть происходящего - скорость выборки пространственных данных из двух различных по идеологии СУБД: реляционной PostgreSQL/PostGIS и NoSQL-базы MongoDB. Так вот, и в реальном приложении PostgreSQL/PostGIS тоже оказалась быстрее.  Я понимаю, что нужно больше данных, что нужно горизонтальное масштабирование у MongoDB, что на вставке MongoDB по объективным причинам будет быстрее, но мне интересно было именно то что я делал - выборка по расположению и демонстрация выбранного на карте. Таблица 1. Время выполнения запросов: СУБД Масштаб карты Кол-во объектов Время, мс PostgreSQL/PostGIS 9 6 050 9 422 PostgreSQL/PostGIS 8 24 182 9 437 PostgreSQL/PostGIS 7 76 611 12 406 MongoDB 9 5 921 42 725 MongoDB 8 23 890 44 149 MongoDB 7 96 811 48 083 Таблица 2. Время выполнения запросов с ограничением: СУБД Масштаб ка...

Эксперименты с MongoDB

Изображение
Решил поэкспериментировать, что будет работать быстрее с пространственными данными: новомодная NoSQL MongoDB или "классика" PostgreSQL/PostGIS? NoSQL, в том числе, хороши в работе с большими объёмами данных. Правда с использованием кластера с несколькими инстансами СУБД. Всё что я смог создать большого это 10 миллионов точек в GRASS GIS: 30 секунд на настройку и несколько минут на создание набора точек. Затем экспорт этого набора в PostgreSQL 9.3/PostGIS 2.0.1, а от туда через GeoJSON в MongoDB 2.6. Файл с GeoJSON весит 1,6 Гб. Для обоих наборов были созданы пространственные индексы.

Что я ставил после установки Elementary OS

Всё описано тут - твикер и оформление Полезная софтина а-ля MacOS Synapse Indicator Потом кучу всего из стандартного репо Ububtu. Мне  нужно иногда записывать скринкасты и вот 2 отличные софтины Kazam (в репо) и Vocoscreen. Какая лучше пока не решил. Последняя PostgreSQL 9.3+PostGIS 2 QGIS 2: sudo gedit /etc/apt/sources.list вставляем в него: deb http://qgis.org/debian precise main deb-src http://qgis.org/debian precise main в Synaptic выбираем нужные пакеты. Я, например, не всегда ставлю GRASS и Globe Редактор векторной графики Inkscape отсутствует в стандартном репо  sudo add-apt-repository ppa:inkscape.dev/stable  sudo apt-get update  sudo apt-get install inkscape

Настройка после установки PostgrSQL на Linux

Изображение
из серии "чтобы не забыть" значит так, после установки сабжа из ppa-репо нужно изменить пароль постгресовского суперпользователя postgres. Делаем так: sudo -u postgres psql postgres нужно ввести пароль 2 раза и