PostGIS 空间计算

1、度/秒互转

UPDATE 表名 SET geom = st_scale(shape, 1/3600.0,1/3600.0)

2、geom转wkt字符串

SELETC st_astext(t.shape)

3、wkt字符串转geom 并设置坐标系

SELECT st_setsrid(ST_GeomFromText('POINT(428626.908 110737.8)'), 4326)

4、获取图形中心点坐标

SELECT ST_X(st_centroid(c.shape)) AS x , ST_Y(st_centroid(c.shape)) AS y

5、A是否包含B

ST_CONTAINS(A, b)

6、查询和修改SRID

SELECT st_srid(geom) FROM road limit 1;

UpdateGeometrySRID(varchar table_name, varchar column_name, integer srid);

UpdateGeometrySRID(varchar schema_name, varchar table_name, varchar column_name, integer srid);

UpdateGeometrySRID(varchar catalog_name, varchar schema_name, varchar table_name, varchar column_name, integer srid);
–schema_name表示schema的名称,一般默认是public

示例:
select UpdateGeometrySRID(‘road’, ‘geom’, 4326);
–road为表名
–geom为空间字段
4326为更新的SRID

7、面积计算

ST_AREA(shape) 
注意:st_area必须在以米为单位的坐标系中才能计算出准确的面积,WGS84(4326)是以度为单位。计算时需用st_transform将几何体转换到以米为单位的坐标系中。
修改后使用 st_area(st_transform(shape,4527))计算面积
不对

4326是以度为坐标的,st_area计算出来的也是度的面积,需将度的面积转为平方米,则使用
st_area(shape)*111000*111000

8、获取图形的类型

ST_GeometryType
GeometryType

9、坐标系转换

GCJ02转WGS84
select geoc_gcj02towgs84(geom) from test_table
WGS84转GCJ02
select geoc_wgs84togcj02(geom) from test_table
WGS84转BD09
select geoc_wgs84tobd09(geom) from test_table
BD09转WGS84
select geoc_bd09towgs84(geom) from test_table
GCJ02转BD09
select geoc_gcj02tobd09(geom) from test_table
BD09转GCJ02
select geoc_bd09togcj02(geom) from test_table

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PostGIS是一个用于处理空间数据的开源软件扩展,它在PostgreSQL数据库上提供了空间对象的存储、查询和分析功能。在进行空间数据查询时,可以使用一些常见的空间查询操作符和函数来实现。 在PostGIS中,可以使用ST_Intersects函数来判断两个几何对象是否相交。例如,可以使用以下查询语句来检索站点为中心约200米以外的所有房屋点数据: ```sql SELECT * FROM house WHERE ST_Distance(geom, station_geom) > 200 ``` 其中,geom是房屋点的几何列,station_geom是站点的几何列。ST_Distance函数用于计算两个几何对象之间的距离。 另外,还可以使用其他空间查询函数和操作符,如ST_Within、ST_Contains、ST_DWithin等,根据具体需求选择合适的函数来进行查询。 需要注意的是,在进行空间数据查询时,为了提高查询性能,可以使用索引来加速查询。可以通过创建适当的空间索引,如GiST索引或SP-GiST索引,来优化查询性能。 希望以上信息对您有所帮助。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [基于PostGIS的高级应用(4)-- 空间查询](https://blog.csdn.net/weixin_33841503/article/details/89620407)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值