[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