首页 > 其他分享 >postgis:通过命令创建几何图形-geometry

postgis:通过命令创建几何图形-geometry

时间:2023-01-15 04:33:41浏览次数:79  
标签:返回 几何图形 geometry postgis 查询 数据表 ST name

postgis:通过命令创建几何图形-geometry

已被阅读 1516 次 | 文章分类:geoserver | 2019-12-23 22:32

可以利用数据库的查询工具创建空间数据表

一:执行查看结果

直接打开query tool输入命令,创建测试数据表,然后插入几何对象数据,通过查询语句查看结果如下

                                    
CREATE TABLE geometry_test (name varchar, geom geometry);
 
INSERT INTO geometry_test VALUES
  ('Point', 'POINT(0 0)'),
  ('Linestring', 'LINESTRING(0 0, 1 1, 2 1, 2 2)'),
  ('Polygon', 'POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))'),
  ('PolygonWithHole', 'POLYGON((0 0, 10 0, 10 10, 0 10, 0 0),(1 1, 1 2, 2 2, 2 1, 1 1))'),
  ('Collection', 'GEOMETRYCOLLECTION(POINT(2 0),POLYGON((0 0, 1 0, 1 1, 0 1, 0 0)))');
 
SELECT name, ST_AsText(geom) FROM geometry_test;
                                    
                                

该表中我们插入5个几何图形数据(geometry)

                                    
一个点(POINT)
一条线(LINESTRING)
一个多边形(POLYGON)
一个内含空洞的多边形(POLYGON with a hole)
一个图形集合(COLLECTION)
                                    
                                

二:查看元数据表

1、通过元数据表我们可以了解,该数据库中所有数据表的类型,以及表列参数解释

主要了解两个元数据表spatial_ref_sys以及geometry_columns,geometry_columns是我们的视图,可以通过查询语句查看表内容,也可以通过view查看

                                    
SELECT * FROM geometry_columns;
                                    
                                

每一列所表示情况如下:

                                    
f_table_catalog,f_table_schema,和f_table_name提供各个几何图形(geometry)的要素表(feature table)分别是数据库名、模式名、空间数据表名。
f_geometry_column包含对应空间数据表中用于记录几何信息的属性列的列名。
coord_dimension定义几何图形的维度(2维、3维或4维)
srid定义引用自spatial_ref_sys表的空间参考标识符
type列定义了几何图形的类型。比如"点(Point)"和"线串(Linestring)"等类型。
                                    
                                

该view表存在的意义,方便我们对数据库中表的类型以及数据有所认识,方便应用投影、处理、渲染

三:几何对象图形的查询方法

通过以下方法可以查询几何实体的类型以及参考,维度等信息

                                    
ST_GeometryType(geometry)    ——    返回几何图形的类型
ST_NDims(geometry)    ——    返回几何图形的维数
ST_SRID(geometry)    ——    返回几何图形的空间参考标识码
                                    
                                

打开查询工具,查询之前创建的几何对象实体测试表

1、point几何实体查询

(1) postgis提供的点坐标查询方法如下

                                    
ST_X(geometry)    ——    返回X坐标
ST_Y(geometry)    ——    返回Y坐标
                                    
                                

查询空间数据表点坐标如下,这里对导入的一张山东省银行数据查询

通过SELECT * from bank 查询表数据如下

查询农村信用社前孙分社的坐标值如下

(2) 返回一个点几何实体图形

                                    

SELECT name, geom
FROM bank
LIMIT 1;
                                    
                                

2、LineString查询方法

(1) 几何实体查询

                                    
SELECT name, ST_AsText(geom)
FROM highspeedrail
                                    
                                

用于处理线串的一些特定空间函数包括:

                                    
ST_Length(geometry)    ——    返回线串的长度
ST_StartPoint(geometry)    ——    将线串的第一个坐标作为点返回
ST_EndPoint(geometry)    ——    将线串的最后一个坐标作为点返回
ST_NPoints(geometry)    ——    返回线串的坐标数量
                                    
                                

如线段长度查询如下

3、Polygon实体查询

(1) 几何实体查询

                                    
SELECT name,ST_AsText(geom)
FROM shandong
where name='济南市'
                                    
                                

也可以使用like查询返回多个多边形

(2) 其他的空间查询方法

                                    
ST_Area(geometry)    ——     返回多边形的面积
ST_NRings(geometry)    ——    返回多边形中环的数量(通常为1个,其他是孔)
ST_ExteriorRing(geometry)    ——    以线串的形式返回多边形最外面的环
ST_InteriorRingN(geometry, n)    ——    以线串形式返回指定的内部环
ST_Perimeter(geometry)    ——    返回所有环的长度
                                    
                                

比如面积查询

                                    
SELECT name,ST_Area(geom)
FROM shandong
where name like'济%'
                                    
 

标签:返回,几何图形,geometry,postgis,查询,数据表,ST,name
From: https://www.cnblogs.com/yaoyangding/p/17053018.html

相关文章

  • 【每日一读】GAGE: Geometry Preserving Attributed Graph Embeddings
    目录​​简介​​​​论文简介​​​​ABSTRACT​​​​1INTRODUCTION​​​​2PRELIMINARIES​​​​6CONCLUSIONS​​​​结语​​简介Hello!非常感谢您阅读海轰的文章......
  • PostGIS之维数扩展的九交模型
    1.概述PostGIS是PostgreSQL数据库一个空间数据库扩展,它添加了对地理对象的支持,允许在SQL中运行空间查询PostGIS官网:AboutPostGIS|PostGISPostGIS官方教程:PostGIS......
  • PostGIS之线性参考
    1.概述PostGIS是PostgreSQL数据库一个空间数据库扩展,它添加了对地理对象的支持,允许在SQL中运行空间查询PostGIS官网:AboutPostGIS|PostGISPostGIS官方教程:PostGIS......
  • 将数据修改为geometry类型
    甲方给了一坨数据 和一坨大便差不多    空间字段完全不符合要求 需要手动清洗后入库 拿个简单的来说 甲方给的经纬度数据是一条条线 数据格式是这样......
  • PostGIS之几何有效性
    1.概述PostGIS是PostgreSQL数据库一个空间数据库扩展,它添加了对地理对象的支持,允许在SQL中运行空间查询PostGIS官网:AboutPostGIS|PostGISPostGIS官方教程:PostGIS......
  • PostGIS之几何创建函数
    1.概述PostGIS是PostgreSQL数据库一个空间数据库扩展,它添加了对地理对象的支持,允许在SQL中运行空间查询PostGIS官网:AboutPostGIS|PostGISPostGIS官方教程:PostGIS......
  • PostGIS之地理坐标
    1.概述PostGIS是PostgreSQL数据库一个空间数据库扩展,它添加了对地理对象的支持,允许在SQL中运行空间查询PostGIS官网:AboutPostGIS|PostGISPostGIS官方教程:PostGIS......
  • PostGIS之空间投影
    1.概述PostGIS是PostgreSQL数据库一个空间数据库扩展,它添加了对地理对象的支持,允许在SQL中运行空间查询PostGIS官网:AboutPostGIS|PostGISPostGIS官方教程:PostGIS......
  • PostGIS之空间索引
    1.概述PostGIS是PostgreSQL数据库一个空间数据库扩展,它添加了对地理对象的支持,允许在SQL中运行空间查询PostGIS官网:AboutPostGIS|PostGISPostGIS官方教程:PostGIS......
  • 对极几何|Epipolar Geometry
    对立体视觉建模的一种方法(约束),使得立体匹配问题有一个最优解​​X​​​:三维空间点(研究对象)​​​C、C’​​​:两摄像机中心​​​x、x’​​​:​​X​​在两摄像......