2016-09-30 6 views
0

私は、Openlayers 2.13を使ってポリゴンを描画しています。 データベースにポリゴンを保存する必要があります。 次のコードを使用して、ポリゴンのWKT(Well-know Text)形式を取得します。 getGeometry()。toString();Openlayers WKTが大きすぎるgps座標を返す

WKTは次のようになります。私は、私は次のエラーを取得するDBにそれを記述しようとすると、しかし

"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. 

GPSは、OpenLayersをからそれほど大きく座標されているのはなぜ?

マップの投影を変更しようとしましたが、役に立たないです。

答えて

1

他の投影システムのジオメトリを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(); 
+0

を、私はシステムの投影を変更しようとするのではなく、私のデータベースに格納する前にWKTを変換して、ありがとうございます。 – DanC225