首页 文章

OpenLayers:将EPSG:3006转换为EPSG:4326

提问于
浏览
0

我正在尝试使用一个程序来加载EPSG中的坐标:4326格式和 Map 上的绘图 . 问题是我的坐标是EPSG:3006 .

是否有任何功能可以将OpenLayers中的一个投影转换为另一个EPSG?

1 回答

  • 1

    更好的方法是使用proj4js库here,它很简单,你可以根据需要添加自定义投影 .

    您可以在下面看到它是如何工作的:

    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才能使用"long list"个投影(包括此处和您创建的自定义投影) .

相关问题