[OSGeoJapan-discuss] OpenLayersで座標変換

斎藤 直正 nsaito @ msk-web.co.jp
2013年 12月 12日 (木) 18:07:31 PST


斎藤です。

 OpenLayers 2.13.1を使用して、座標の変換を行ってみました。
 本来の目的は、世界測地系のデータを真球メルカトルで表示する。
 更に、その世界座標系を旧日本測地系の座標に変換して表示する。
  ・世界測地系→真球メルカトル(900913)
  ・世界測地系→真球メルカトル(3857)
  ・世界測地系→旧日本測地系(4301)
 の変換を行うことでした。

 どうも上手く動作しないので、原因が解らず以下のコードを試していました。

var Pro4326 = new OpenLayers.Projection("EPSG:4326");
var Pro900913 = new OpenLayers.Projection("EPSG:900913");
var Pro3857 = new OpenLayers.Projection("EPSG:3857");
var Pro4301 = new OpenLayers.Projection("EPSG:4301");

var p900913 = new OpenLayers.LonLat(13.41,52.52).transform( Pro4326, 
Pro900913);
var p3857 = new OpenLayers.LonLat(13.41,52.52).transform( Pro4326, Pro3857);
var p4301 = new OpenLayers.LonLat(13.41,52.52).transform( Pro4326, Pro4301);
var p4326 = new 
OpenLayers.LonLat(1492794.37133,6894699.800322676).transform( Pro3857, 
Pro4326);

alert("p900913 : " + p900913 + "\n"
+ "p3857 : " + p3857 + "\n"
+ "p4301 : " + p4301 + "\n"
+ "p4326 : " + p4326
);

実行結果としてalertで表示されたのは以下の結果です。
①p900913 : lon=1492794.37133,lat=6894699.800322676
②p3857 : lon=1492794.37133,lat=6894699.800322676
③p4301 : lon=13.41,lat=52.52
④p4326 : lon=13.41,lat=52.520000000000145

①②④の結果から真球メルカトル↔世界測地系の変換は出来ている様です。
③の結果から、世界測地系→旧日本測地系への変換が出来ません。

 何か方法が間違っているのでしょうか?

 何方かご教示頂けないでしょうか?

以上



More information about the OSGeoJapan-discuss mailing list