OGC定义的几何要素
OGC定義了兩種描述幾何對象的格式,分別是WKB(Well-Known Binary)和WKT(Well-Known Text)。 在SQL語句中,用以下的方式可以使用WKT格式定義幾何對象:
幾何類型 WKT格式
點 POINT(0 0)
線 LINESTRING(0 0,1 1,1 2)
面 POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1, 2 1, 2 2, 1 2,1 1))
多點 MULTIPOINT(0 0,1 2)
多線 MULTILINESTRING((0 0,1 1,1 2),(2 3,3 2,5 4))
多面 MULTIPOLYGON(((0 0,4 0,4 4,0 4,0 0),(1 1,2 1,2 2,1 2,1 1)), ((-1 -1,-1 -2,-2 -2,-2 -1,-1 -1)))
幾何集合 GEOMETRYCOLLECTION(POINT(2 3),LINESTRING((2 3,3 4)))
本文通過實例演示幾何對象的定義。
1.建表
CREATE TABLE postgis2d (
id SERIAL PRIMARY KEY,
name VARCHAR(128),
geom GEOMETRY
);
2.添加GIST索引
CREATE INDEX postgis2d_gix ON postgis2d USING GIST (geom);
3.插入數據
3.1 點(POINT)
INSERT INTO postgis2d (name, geom) VALUES ('p1',
ST_GeomFromText('POINT(0 0)', 26910)
);
INSERT INTO postgis2d (name,geom) VALUES ('p2',
ST_GeomFromText('POINT(5 0)', 26910)
);
INSERT INTO postgis2d (name,geom) VALUES ('p3',
ST_GeomFromText('POINT(0 10)', 26910)
);
或使用多點(MULTIPOINT)
INSERT INTO postgis2d (name,geom) VALUES ('p3',
ST_GeomFromText('MULTIPOINT((0 0),(5 0),(0 10))', 26910)
);
QGIS中顯示幾何如下:
3.2 線(LINESTRING)
INSERT INTO postgis2d (name, geom) VALUES ('L1',
ST_GeomFromText('LINESTRING(0 0,1 1,1 2)', 26910)
);
INSERT INTO postgis2d (name, geom) VALUES ('L2',
ST_GeomFromText('LINESTRING(1 0,2 1,2 2)', 26910)
);
或使用多線(MULTILINESTRING)
INSERT INTO postgis2d (name, geom) VALUES ('L1',
ST_GeomFromText('MULTILINESTRING((0 0,1 1,1 2),(1 0,2 1,2 2))', 26910)
);
QGIS中顯示幾何如下:
3.3 多邊形(POLYGON)
INSERT INTO postgis2d (name, geom) VALUES ('p1',
ST_GeomFromText('POLYGON((4 0,8 0,8 4,4 0))', 26910)
);
INSERT INTO postgis2d (name, geom) VALUES ('p2',
ST_GeomFromText('POLYGON((1 1, 2 1, 2 2, 1 2,1 1))', 26910)
);
或使用多邊形集合(MULTIPOLYGON)
INSERT INTO postgis2d (name, geom) VALUES ('p2',
ST_GeomFromText('MULTIPOLYGON(((4 0,8 0,8 4,4 0),(1 1, 2 1, 2 2, 1 2,1 1)))', 26910)
);
QGIS中顯示幾何如下:
3.4 幾何集合
INSERT INTO postgis2d (name, geom) VALUES ('c1',
ST_GeomFromText('GEOMETRYCOLLECTION(POLYGON((4 0,8 0,8 4,4 0)),LINESTRING(2 3,3 4))',26910)
);
總結
以上是生活随笔為你收集整理的OGC定义的几何要素的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mangos完全源码编译架设教程,新手入
- 下一篇: 扁桃体发炎多久能好(一夜之间嗓子巨疼吞咽