//获取投影坐标
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);//点在面