问题标签 [proj4js]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
5970 浏览

c# - XY 转换为 lat lng

我在数据库中按 x ,y 和 shape 放置位置如何将此位置点转换为纬度和经度对?有没有工具或公式?

例如 x =220162.636213404 y = 762057.914609313 它应该类似于 lat = 34.55667500000000000 lng = 31.68173300000000000

谢谢!

0 投票
9 回答
6392 浏览

gis - 在哪里可以找到在墨卡托投影中绘制美国所需的坐标?

所以我正在编写一个 Javascript 库,它采用 x,y 坐标并使用它们来绘制美国地图。为此,我需要找到绘制每个状态所需的坐标数据。维基百科上的这张地图是我需要的一个很好的例子,因为 SVG 文件包含构成每个状态的形状,并很好地标记:http: //upload.wikimedia.org/wikipedia/commons/3/32/Blank_US_Map.svg

我还有一组需要放置在此地图上的站点。由于我知道每个站点的纬度和经度,我可以使用它在地图上的适当位置绘制每个站点。不幸的是,为此,我的地图需要使用墨卡托投影,这样就可以轻松地将 lat,long 映射到 x,y 像素坐标。

我上面提到的维基百科地图使用了其他一些投影,所以我不能将它用于此目的。有谁知道在墨卡托投影中哪里可以找到这种类型的地图数据?任何数据格式都可以,只要我能以编程方式获取用于绘制每个状态的坐标并确定哪些形状构成每个状态。

0 投票
2 回答
4142 浏览

javascript - OpenLayers:获取给定投影中地图的分辨率 (4326)

我正在使用 OpenLayers 来显示 OpenStreetMap 地图。(不过,我认为这应该足以适用于任何地图产品......)

我正在显示一些非常复杂的矢量叠加,并且我通过 GeoJSON 从服务器返回到叠加的特征的数量和分辨率对于许多计算机来说已经证明太多了。

我现在想做的是只发送适合当前缩放分辨率的数据。getResolution使用对象上的andcalculateBounds方法应该相对容易做到这一点MapcalculateBounds返回一个 Bounds 对象,然后可以在地图投影和显示投影之间进行转换。

如何将分辨率转换为我想要的投影(在这种情况下为 4326)?是否有这样做的内置方法,或者我是否必须根据已知公式运行分辨率?

0 投票
1 回答
7529 浏览

java - 如何使用 PROJ.4 将坐标从 WGS84 转换为投影中的坐标?

我在 WGS84 中有一个 GPS 坐标,我想使用 Java 中的 PROJ.4 或 JavaScript 中的 Proj4js 将其转换为 SWEREF99 TM 中的地图投影坐标

很难找到PROJ.4的文档以及如何使用它。如果你有一个好的链接,请把它作为评论发布。

SWEREF99 TM的 PROJ.4 参数为+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs

我尝试使用PROJ.4 Java 库进行转换Lat: 55° 00’ N, Long: 12° 45’ E并尝试使用以下代码:

这给了我重点,Point2D.Double[5197915.86288144, 1822635.9083898761]但我应该N: 6097106.672, E: 356083.438 是我做错了什么?我应该改用什么方法和参数?

正确的值取自Lantmäteriet

我不确定是否proj.transform(testLatLng, new Point2D.Double());是正确的使用方法。

0 投票
2 回答
29280 浏览

openlayers - 如何在 Openlayers 中将矢量图层坐标转换为地图经纬度

我很困惑。我有一点:

我使用 DrawFeature 控制器在矢量图层上绘制一个正方形。

这些数字看起来......呃......非常大,但它们似乎有效,因为如果我稍后绘制一个具有所有相同点的正方形,它位于相同的位置,所以我认为它们必须是正确的。

问题是当我尝试将此点转换为纬度和经度时。

我正在使用:

其中 points[0] 是几何点,pointToPixel 函数将任意点转换为一个像素(因为 getLonLatFromPixel 需要一个像素)。它通过简单地获取点的 x 并将其设为像素 x 来实现这一点,依此类推。

我得到的纬度和经度是:

这显然是错误的。我真的很困惑。我尝试投影这个对象,使用:

但我真的不明白,而且我很确定我做错了,无论如何。

我的代码在这里: http: //pastie.org/909644

我有点不知所措。坐标似乎是一致的,因为我可以重复使用它们以获得相同的结果......但它们似乎比我在 openLayers 网站上看到的任何示例都要大......

0 投票
2 回答
4145 浏览

map - OpenLayers 投影

我可以成功地做到:

到了谷歌格式(以米为单位)的一点,但是当我想做相反的事情时:

到了 4326(常规纬度/经度格式)的点,我遇到了一些问题。

当我进行转换时,任何负值似乎都会变成 NaN(不是数字)。反向转换有什么我不明白的吗?

编辑:更糟糕的是,当我没有负值时,坐标似乎关闭了。我通过在屏幕上绘制一个正方形来获取坐标,然后将这些坐标保存到数据库中并稍后加载它们。我可以在非洲尖端附近(正坐标)绘制一个正方形,然后加载它时,它位于非洲顶部附近,在大西洋中。我肯定做错了什么......

编辑:这是我的代码: http: //pastie.org/911524

具体来说:这是我初始化地图的方式:

0 投票
1 回答
231 浏览

javascript - 显示十进制度

我有一个 Web 应用程序,它显示 NAD 1927 UTM Zone 15N 中的地图服务。我有 JavaScript 代码,可以根据鼠标光标在该地图上的位置在状态栏中显示 XY。我想改为显示纬度/经度值。有谁知道怎么做?

0 投票
4 回答
14071 浏览

javascript - OpenLayers 地图中的更改投影

我想将“EPSG:4326”设置为 OpenLayers 地图的投影,但是当我尝试时,总是得到“EPSG:900913”。

底图是开放的街道地图。

如何将投影设置为 EPSG:4326?

0 投票
3 回答
213 浏览

javascript - 关于函数的 Javascript 问题

在我的主网页(Viewer.aspx)中,我有一个这样的 javascript 脚本标签

在这些脚本标签中,我有一个功能。是否可以像这样调用位于不同脚本标签中的另一个函数?

0 投票
1 回答
25063 浏览

javascript - 如何将 UTM 转换为纬度/经度?

有没有办法在 Javascript 中将UTM转换为纬度/经度?我在这方面看到了另一个线程,但它是用 Java 和 Python 编写的,对我没有多大帮助。请让我知道,谢谢。