0
点赞
收藏
分享

微信扫一扫

gis 中常用cql 记录(mysql)

皮皮球场 2022-03-31 阅读 33
gismysql

//获取投影坐标

SELECT ST_SRID(the_geom)  from gis_fx_xjxzq



// 更新投影,将投影转为 EPSG:4326
update gis_fx_xjxzq set the_geom = st_geomfromtext(st_astext(the_geom),4326)



//  ST_AsText 方法返回表示几何的文本字符串
SELECT ST_astext(the_geom)  from gis_fx_cjqy

// 根据坐标点转成 几何点

create view ddd as select *,st_geometryfromtext(concat('POINT(',substring_index(`admin_well`.`gps`,',',1),' ',substring_index(`admin_well`.`gps`,',',-(1)),')'),4326) AS `the_geom` from admin_well

判断两个面是否相交(场景: 高标表中没有行政区划代码,所以我们用县级表和高标表进行一个相交查询,如果相交,将县级行政区划代码添加到高标表中)

create table gis_fx_gbzxm_final as  SELECT a.*,b.XJQYDM as xjqydm from gis_fx_gbzxm_copy as a LEFT JOIN gis_fx_xjqy b on st_within(a.the_geom,b.the_geom)

MySQL5.6中查询多边形包含点情况(ST_Contains、ST_Within)

SET @x = 121;
SET @y = 30;  
-- SET @point = CONCAT('POINT(',@x,' ',@y,')'); 
set @point= Point(@x,@y);
set @geometry=ST_GeomFromText('POLYGON((121 30, 121 30, ..., 121 30, 121 30))');
SELECT ST_Contains(@geometry,@point);//面包含点
SELECT ST_Within(@point, @geometry);//点在面
举报

相关推荐

0 条评论