空间函数应用

PostGIS空间函数

格式转换

ST_AsEWKT — 返回带有SRID元数据的几何体的已知文本(WKT)表示。
ST_AsText — 返回不带SRID元数据的几何图形/地理图形的已知文本(WKT)表示形式
ST_AsGeoJSON(geom)  -返回geojson,geom数组形式

1.查询点所在的几何面上

根据车辆经纬度判断所在哪条道路ID上(车道面)

select lane_id from yzsfq_hd_lane_buffer_v1 
where ST_Intersects(ST_MakePoint(116.48663718,39.78318701)::geography, geom );

2.查询坐标点距离哪个几何线最近

根据车辆经纬度判断所在哪条道路ID上(车道线)

select lane_id from yzsfq_hd_lane_v1 
order by ST_Distance(ST_MakePoint(116.5061774,39.7893351)::geography, geom ) limit 1;

3.计算几何线长度

-- 对geom格式进行转换:geography
SELECT ST_Length(geom::geography);

4.查询两点之间距离,单位是米

select 
ST_Distance(ST_GeographyFromText('POINT(101.75882888992 36.62314533104)'),ST_GeographyFromText('POINT(101.77041344989 36.604966696412)')) 

 5.几何线分段

SELECT ST_LocateBetween(ST_AddMeasure(geom,0,100),0,50)

ST_AddMeasure(geom,0,100)    参数 0 和 100 表示要分的份数

ST_LocateBetween(ST_AddMeasure(geom,0,100),0,50)   参数 0 和 50 表示从0到50份为一段

6.几何线合并 

ST_Union任何图形Multi类型,collection类型聚合后的图形联合
ST_LineMergeMultiLineStringLineString,MultiLineString将MultiLineString中相连的线路合并成完整的LineString
ST_MakeLinePoint,MultiPoint,LineStringLineString构造新的线路
SELECT ST_Union(geom::geometry,geom::geometry);

SELECT ST_LineMerge(ST_Union(geom::geometry,geom::geometry));

PostGreSQL应用

1.数据类型UUID使用

1.1 通过运行以下命令查看是否有 uuid-ossp 

SELECT * FROM pg_extension;

      查看是否有 uuid-ossp 。如果没有,运行以下命令

CREATE EXTENSION IF NOT EXISTS "uuid-ossp";

1.2 UUID_v4与UUID_V1

在UUID版本1(UUID_v1)中,这些值是由计算机系统使用当前时间和计算机MAC地址(如上例所示)的组合生成的。

UUID_v4使用随机数生成器生成32个随机数字。这是最常用的UUID。

select uuid_generate_v1();
select uuid_generate_v4();

1.3 建表语句

CREATE TABLE PINK_FLOYD (
	id uuid DEFAULT uuid_generate_v4 (),
	album_name VARCHAR NOT NULL,
	release_date DATE NOT NULL,
	PRIMARY KEY (id)
);

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值