1

EPSG:4326 形式で座標を読み込み、地図上にプロットするプログラムを使用しようとしています。問題は、座標が EPSG:3006 であることです。

OpenLayers のプロジェクションを別の EPSG に変換する機能はありますか?

4

1 に答える 1

1

これを行うより良い方法は、ここでproj4js ライブラリを使用することです。これは簡単で、必要に応じてカスタム プロジェクションを追加できます。

以下に、それがどのように機能するかを示します。

var SourceProjection= new Proj4js.Proj('EPSG:4326');
var DestinationProjections= new Proj4js.Proj('EPSG:3006');

var Point = new Proj4js.Point(longitude, latitude);          
Proj4js.transform(FirstProjection, SecondProjections, ne);

または、openlayers から実行したい場合は、ジオメトリの「変換」機能を使用できます。ここでは、私が使用するカスタム関数を示します。

function TransformGeometry(geometry, SourceProj, DestProj) {
    geometry.transform(
        new OpenLayers.Projection(SourceProj),
        new OpenLayers.Projection(DestProj));

    return geometry;
}

いずれにせよ、プロジェクションの「長いリスト」を使用するには、HTML タグでproj4jsを宣言する必要があります (ここと作成したカスタム プロジェクションを含む)。

于 2014-03-26T17:25:32.893 に答える