OpenLayers地图点击坐标转换为geomWkt格式调用后端接口问题咨询
坐标转GeomWKT格式适配后端接口实现方法
现有逻辑梳理
- 前端点击地图触发
getCoord()函数,获取EPSG:3857坐标系的原始坐标后,已转换为EPSG:4326标准经纬度坐标 - 后端
ListParselAsync接口要求入参为标准WKT格式的几何字符串,内部会自动将字符串转换为几何对象做空间查询
具体实现步骤
前端改造
WKT点格式的标准语法为 POINT(经度 纬度),直接拼接已转换的经纬度即可,修改后的getCoord()代码如下:
getCoord(event: any){ var coordinate = this.map.getEventCoordinate(event); // 仅执行一次坐标转换提升性能 const wgs84Coord = transform(coordinate, 'EPSG:3857', 'EPSG:4326'); this.xCoordinate = wgs84Coord[0]; this.yCoordinate = wgs84Coord[1]; // 构造符合接口要求的geomWkt参数 const geomWkt = `POINT(${this.xCoordinate} ${this.yCoordinate})`; // 调用后端接口时直接传入geomWkt作为参数即可 console.log(geomWkt); }
效果验证
你给出的示例坐标拼接后得到的WKT为:POINT(4833590.9447487565 3395367.0520476755),可直接被后端的ToGeometry()方法解析,无需额外格式处理。
内容的提问来源于stack exchange,提问作者Kaan Bolat
相关产品推荐
相关产品推荐

