首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenLayers:将EPSG:3006转换为EPSG:4326

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

Stack Overflow用户
提问于 2014-03-21 02:17:10
回答 1查看 1.6K关注 0票数 1

我正在尝试使用一个可以加载EPSG:4326格式的坐标并在地图上绘制的程序。问题是我的坐标是EPSG:3006。

有没有什么功能可以将OpenLayers中的一个投影转换为另一个?

EN

回答 1

Stack Overflow用户

发布于 2014-03-27 01:25:33

更好的方法是使用proj4js库here,它很简单,如果你愿意,你可以添加自定义投影。

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

代码语言:javascript
复制
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中这样做,你可以使用几何的"transform“函数,下面是我使用的一个自定义函数:

代码语言:javascript
复制
function TransformGeometry(geometry, SourceProj, DestProj) {
    geometry.transform(
        new OpenLayers.Projection(SourceProj),
        new OpenLayers.Projection(DestProj));

    return geometry;
}

在任何情况下,您必须在HTML标签中声明proj4js,以便使用投影的“长列表”(包括此处和您创建的自定义投影)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22541756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档