СОЗДАТЬ ТАБЛИЦУ КАК с геометрией в SpatiaLite
Я хочу создать новую таблицу SpatiaLite на основе команды.
Например, я хотел бы преобразовать таблицу в другую систему координат:
SELECT Transform(Geometry, 3068) FROM points_berlin;
Чтобы создать новую таблицу, я бы сделал это в PostGIS:
CREATE TABLE points_berlin_3068 AS
SELECT Transform(Geometry, 3068) FROM points_berlin;
Хотя при этом создается таблица, и в таблице столько же строк, сколько во входной таблице, это не пространственная таблица. Как сделать так, чтобы геометрия отображалась в новой таблице?
Ответы
SpatiaLite требует, чтобы вы явно регистрировали геометрические столбцы в своей экосистеме (обновление метаданных, добавление триггеров) с помощью предоставленных функций управления ; SQLite не поддерживает автоматическое обнаружение, как в системе модификаторов типов PostgreSQL .
Создав новую таблицу, как вы указали, вы должны иметь возможность «пространственно включить» ее с помощью
SELECT RecoverGeometryColumn('points_berlin_3068', 'geometry', 3068, 'POINT', 'XY');