Articles of gis

Эффективный сортированный запрос ограничивающей рамки

Как я могу создать индексы в PostgresSQL 8.3, которые бы сделали эффективный сортированный ограничивающий прямоугольник? В таблице, которую я запрашиваю, имеется довольно много строк. То есть я хочу, чтобы индексы создания делали следующий запрос максимально эффективным: SELECT * FROM features WHERE lat BETWEEN ? AND ? AND lng BETWEEN ? AND ? ORDER BY score […]

Проблемы с пространственной репликацией данных Spatial Data

Здравствуйте, я просто изучаю postGIS и, таким образом, postgresql (9.1), и пытаюсь сэкономить время на копирование одного и того же кода много раз, создав функцию sql для перепрограммирования некоторых пространственных данных. Create Function reproject_shapefile(text,text,numeric) returns void as $$ — Reprojects shapefiles given that they follow the pattern "gid * the_geom" CREATE TABLE $2 AS SELECT […]

Диапазоны сетки SQL

У меня есть список клиентов с координатой x и y для каждого между -50 и 50 для каждого. Мне нужно рассчитать количество клиентов в каждом квадрате сетки 10×10, но не знаю, как я могу группировать клиентов по диапазону в два столбца. Таблица Customer имеет столбец customerID, customer_x и customer_y. Мне удалось получить результат для одного […]

Как преобразовать данные многоугольника в сегменты линии с помощью PostGIS

У меня есть таблица данных многоугольника в PostgreSQL / PostGIS. Теперь мне нужно преобразовать данные Polygon в соответствующие сегменты линии. Может кто-нибудь сказать мне, как преобразовать его с помощью запросов PostGIS. Заранее спасибо

Показать нулевые значения для таблицы SQL в виртуальной таблице

Вчера я задал этот вопрос о том, как рассчитать количество клиентов в квадрате сетки, и я получил решение: SELECT 10 * (customer_x / 10), 10 * (customer_y / 10), COUNT (*) FROM t_customer GROUP BY customer_x / 10, customer_y / 10 ORDER BY 3 DESC; Теперь мне нужно представить квадраты сетки, содержащие нулевых клиентов, и […]

SQL-запрос для точки в полигоне с использованием PostgreSQL

У меня есть следующая простая таблица: CREATE TABLE tbl_test ( id serial NOT NULL, poly polygon NOT NULL ) WITH (OIDS=FALSE); Затем я пытаюсь вставить строку с полигоном: insert into tbl_test values(1, PolyFromText('POLYGON((0 0, 10 10, 10 0, 0 0))')) И столкнуться с этой ошибкой: column "poly" имеет тип polygon, но выражение имеет тип геометрии […]