Openlayers WKT 返回太大的 gps 坐标
Openlayers WKT returning too big gps coordinates
我正在使用 Openlayers 2.13 绘制多边形。
我需要将多边形保存在我的数据库中。
我使用以下代码检索多边形的 WKT(知名文本)格式:
getGeometry().toString();
WKT 看起来像这样:
"POLYGON((2214109.1963538 -3576110.9131445,2150513.5888293 -3766897.7357178,2529641.249071 -3656828.4150024,2529641.249071 -3656828.4150024,2214109.1963538 -3576110.9131445))"
但是,当我尝试将其写入数据库时出现以下错误:
24201: Latitude values must be between -90 and 90 degrees.
为什么 Openlayers 的 GPS 坐标这么大?
我试过改变地图的投影,但没有用。
您正在尝试将另一个投影系统中的几何体插入 latlon 几何体列(如您的数据库中所定义)。
您应该在将几何体转换为 WKT 之前重新投影它。
你需要这样的东西:
var srcPrj = new OpenLayers.Projection('EPSG:3857'): //put your map projection here!
var trgPrj = new OpenLayers.Projection('EPSG:4326');
var geometry = feature.getGeometry();
geometry = geometry.transform(srcPrj, trgPrj);
var wkt = geometry.toString();
我正在使用 Openlayers 2.13 绘制多边形。 我需要将多边形保存在我的数据库中。 我使用以下代码检索多边形的 WKT(知名文本)格式: getGeometry().toString();
WKT 看起来像这样:
"POLYGON((2214109.1963538 -3576110.9131445,2150513.5888293 -3766897.7357178,2529641.249071 -3656828.4150024,2529641.249071 -3656828.4150024,2214109.1963538 -3576110.9131445))"
但是,当我尝试将其写入数据库时出现以下错误:
24201: Latitude values must be between -90 and 90 degrees.
为什么 Openlayers 的 GPS 坐标这么大?
我试过改变地图的投影,但没有用。
您正在尝试将另一个投影系统中的几何体插入 latlon 几何体列(如您的数据库中所定义)。
您应该在将几何体转换为 WKT 之前重新投影它。 你需要这样的东西:
var srcPrj = new OpenLayers.Projection('EPSG:3857'): //put your map projection here!
var trgPrj = new OpenLayers.Projection('EPSG:4326');
var geometry = feature.getGeometry();
geometry = geometry.transform(srcPrj, trgPrj);
var wkt = geometry.toString();