چطور یک جدول مکانی جدید با SQL بسازم؟
پاسخ کوتاه
CREATE TABLE با ستون geometry(نوع, SRID) بسازید و بعد نمایه مکانی بگذارید. یا نتیجه یک کوئری را با CREATE TABLE AS ذخیره کنید و نوع و SRID ستون هندسه را صریح بنویسید.
جدول خالی
CREATE TABLE places (
gid serial PRIMARY KEY,
name text,
geom geometry(Point, 4326)
);
CREATE INDEX places_geom_idx ON places USING gist (geom);
INSERT INTO places (name, geom)
VALUES ('نمونه', ST_SetSRID(ST_MakePoint(51.389, 35.689), 4326));
ذخیره نتیجه کوئری
CREATE TABLE near_roads AS
SELECT gid, ST_Buffer(geom::geography, 100)::geometry(Polygon, 4326) AS geom
FROM roads;
ALTER TABLE near_roads ADD PRIMARY KEY (gid);
CREATE INDEX ON near_roads USING gist (geom);
Tip
ستون هندسه بدون نوع و SRID در QGIS و نقشه درست دیده نمیشود؛ همیشه geometry(نوع, SRID) بنویسید (انواع، SRID). بعد از ساخت، سلامت داده را ببینید.
آیا این مقاله به شما کمک کرد؟
هنوز جواب نگرفتید؟ به پشتیبانی بگویید.