纬度/经度转换为 x/y 坐标

发布于 2024-09-14 20:53:35 字数 171 浏览 11 评论 0原文

我有一个 openstreetmap 图像。 左上角是纬度:80 经度:-169 右下角是纬度:-56 经度:190 图像的宽度:2618,高度:1513

如何将给定的纬度/经度坐标转换为图片的 x/y 坐标?

我自己尝试了一下,但不知道如何转换坐标。

我希望有人能回答我的问题。

I have a openstreetmap image.
left upper corner is lat: 80 lon: -169
and right lower corner is lat:-56 lon: 190
The image has the width: 2618 and the height: 1513

How do I convert given lat/lon-coordinates to the pictures x/y-coordinates?

I tried it by myself, but couldn't figure out how to convert the coordinates.

I hope someone can answer my question.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

心头的小情儿 2024-09-21 20:53:35

所提出的问题几乎是荒谬的。请求的区域几乎覆盖整个地球,从80N 169W到56S 190E。这就排除了从 170W 到 169W 的带极到极点、80N 以北的北极周围的一个圆盘,以及南纬 56 度以南的南极周围的一个更大的圆盘。从地球上这么大的一个区域到屏幕上的投影并不存在单一的最佳投影。请参阅 wiki 上的地理坐标地图投影作为一般背景的起始位置。

也就是说,如果输入合理,这是一个合理的问题。

对于赤道附近非常小的区域,简单的投影是将纬度映射到 Y,将经度映射到 X。当远离赤道时,由于经度长度随着纬度接近任一极。对于关于赤道不对称的足够大的区域,这将使顶部边缘的长度(以英里为单位)与底部边缘明显不同。

更好的投影会将纬度映射到 Y,但通过 cos(latitude) 缩放经度以获得 X。对于足够小的区域,比例在整个图形上几乎是恒定的,可以计算一次并保存持续的。

地图投影的一般主题有比这里确定的最简单的解决方案更多的解决方案。由于每个预测的目标不同,它们也会有所不同。投影的选择取决于预期用途,即使对于特定用途,通常也没有单一的“最佳”投影。

The question, as asked, is almost nonsensical. The area requested covers almost the entire globe, from 80N 169W to 56S 190E. That leaves out the band pole to pole from 170W to 169W, a disk around the north pole north of 80N, and a larger disk around the south pole south of 56S. There is no single best projection from that large an area of the globe to a screen. See wiki on geographic coordinates and map projections as starting places for general background.

That said, this is a reasonable question if the inputs are reasonable.

For very small areas near the equator, a simple projection is to map latitude to Y and longitude to X. As you move away from the equator, this will introduce a small distortion due to the decrease in the length of the degree of longitude as the latitude approaches either pole. For a large enough area that is not symmetric about the equator, this will make the length of the top edge in miles noticeably different from the bottom edge.

A much better projection would map latitude to Y, but scale longitude by cos(latitude) to get X. For small enough areas, the scale is nearly constant over the whole figure and can be calculated once and held constant.

The general subject of map projection has many more solutions than the simplest identified here. They vary due to the varying goals of each projection. The choice of projection depends on the intended use, and there is generally no single "best" projection even for specific uses.

深巷少女 2024-09-21 20:53:35

对于更一般的投影转换,可以使用 PROJ.4 的 Perl 和 Python 包装器。这些可以让您解决任何此类问题。

For more general conversion into and out of projections, there are perl and python wrappers for PROJ.4. These would let you solve any such problem.

千鲤 2024-09-21 20:53:35

wiki 上有用于将 OpenStreetMap 切片系统转换为纬度/经度并返回的示例代码:

http://wiki。 openstreetmap.org/wiki/Slippy_map_tilenames

祝你好运!

There's sample code on the wiki to convert OpenStreetMap tile system to lat/long and back:

http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames

Good luck!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文