问题标签 [map-projections]

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 投票
1 回答
2991 浏览

kml - Google Earth (/Sky) 中的正交投影可能吗?备择方案?

我需要创建全天地图,但天空模式下的 Google 地球限制了“缩小”。是否可以使用 Google 地球(或者,就此而言,MS Virtual Earth)创建正交地图投影?任何标准预测都可以,尽管有选择会很好。

当然,我可以静态渲染投影,然后在其上绘制我的 KML 图层,但理想的用例将允许用户添加额外的 KML 图层、放大和缩小等。

0 投票
2 回答
3153 浏览

r - 使用 R 的 Proj4 重投影

我正在尝试将坐标从 WGS84 重新投影到 MGA Zone 53,这是基于 GDA94 基准的 UTM 投影。我的结果是无穷大,这绝对是不正确的。我正在使用 R 的proj4包,如下所示:

这里出了什么问题?

0 投票
3 回答
56579 浏览

transform - 如何将距离从度转换为米?

我正在使用带有普通墨卡托地图的 OpenLayers,我试图通过在 latlong 中找到一个点网格来对边界框进行采样。bbox 用 latlon 表示,例如

我可以以度为单位定义距离(例如x:2.5,y:2.4)并从那里计算出点。但是我想用来表示这个距离(例如 50000),以便将它与用户的心态联系起来(人们理解米,而不是度数)。我怎样才能转换这个距离?我知道如何重新投影一个点,但不是一个距离。

感谢您的任何提示!穆龙

0 投票
2 回答
984 浏览

java - 简单的地图投影

我有一张 400x400 的地图,大约代表 250x250km 的区域,我想以 Lat/Lon 的形式投影 GPS 坐标。

考虑到精度不是很重要(可以容忍几公里的误差),有什么简单的公式或算法可以进行投影并转换为像素坐标?如果有,我可以期待什么错误?或者我真的错了,没有简单的方法来达到我需要的精度?

笔记:

  • 我读过关于 PROJ.4 但我更喜欢不使用任何外部库,因为该程序必须在小型设备中运行
  • 我在地图上没有任何校准数据,但我可以使用在线地图自己校准。
  • 这里我记录了一点,我知道如何将纬度/经度转换为 x/y/z 坐标。但是我不知道怎么用Z拨号
0 投票
3 回答
5220 浏览

java - Java中不同地图投影之间的转换

在我的 GIS 应用程序中,数据有时存储在“Google Mercator”(以米为单位)中,有时存储在 WGS84 LatLon 中。我想要一个可靠的库来轻松地以“科学”的方式转换这些数据,而不是手动弄乱它,冒着大错误的风险。

我遇到了Proj4,它显然能够做到这一点: http: //trac.osgeo.org/proj

但我找不到类似的 Java(或 Groovy)库。鉴于这些预测在在线应用程序中越来越普遍,这样的项目将非常有益。一个小罐子会很棒:-)

有一个 Java 端口,但没有任何文件可供下载:http ://www.jhlabs.com/java/maps/proj/

基本上我需要做这种类型的转换: http: //proj4js.org

关于如何在 Java 中执行此操作的任何想法?

谢谢,穆龙

0 投票
1 回答
2602 浏览

java - 实现谷歌墨卡托(球形墨卡托)

我想在我的应用程序中使用球形墨卡托算法将纬度/经度点投影到二维平面。
球形墨卡托也称为谷歌墨卡托EPSG-900913EPSG-3785

有几个页面如何通过 OpenLayers 库在 JavaScript 中使用它,但我不使用 JavaScript。

OpenLayers中的文档根本没有帮助我,所以我想寻求帮助如何在 Java 中实现 Google Mercator。

0 投票
1 回答
1539 浏览

kml - Opanlayers Reprojection Kml 层

我有一张地图,其中底图的投影为“EPSG:32639”,底图上显示的 kml 图层的投影为“EPSG:4326”。它只显示我的底图,不显示任何 kml 图层。那有什么问题?

我的源代码在那里。

0 投票
1 回答
883 浏览

google-maps - google.maps.Projection 类有什么作用?

最近我发现了在屏幕上的 LatLngs 和像素坐标之间进行转换的困难方法,我不应该使用通过 Map.getProjection 轻松访问的Projection类,而是应该使用只能通过 OverlayView 访问的MapCanvasProjection类。

如果您正在使用自定义叠加层,后者非常方便,但如果您不是,那么访问 MapCanvasProjection 真的很痛苦。到目前为止,我已经通过向 Map 类添加一个方法为自己解决了这个问题,该方法可以让我轻松访问所需的投影类:

这一切看起来像是一个大技巧,可以做一些微不足道的事情。它更让我想知道google.maps.Projection类是做什么的?当我阅读文档时,在我看来它与Projection.fromLatLngToPoint做同样的事情MapCanvasProjection.fromLatLngToContainerPixel,但事实并非如此。我很困惑。

0 投票
1 回答
3193 浏览

geometry - Openlayers geometry how to calculate area from square degrees to square kilometres?

I get the multypoligon from webservice and I try to calculate area for that poligon with the following code:

But that returns me area in square degrees, our projection is EPSG:3243 I was try to use function

But that didn't help me alot, is there any other solution or some other hint?

Cheers!

0 投票
2 回答
872 浏览

image-processing - 将 2D 点映射到新透视图

这是我的第一篇文章!

我正在尝试制作一个可以确定网格(图像)中的某些点是亮还是暗的应用程序。原始网格定义明确(我知道所有点应该相对于角的位置)。一旦我知道该点应该在哪里,我就可以很容易地判断它是亮还是暗。

问题是,我想从手持相机拍摄的网格图像中做到这一点。显然,由于手部运动,视角会发生变化,我需要做一些数学运算来确定新点相对于角的位置(我知道如何检测角)。

我在其他帖子中读到,在转换过程中唯一保留的属性是交叉比率和发生率。具体来说,这篇文章让我朝着正确的方向前进,但作者没有完成数学运算。请注意,在这个例子中,作者是从倾斜的视角转向鸟瞰图,而我试图做相反的事情。不过,数学应该是一样的。


从发布投影变换

(所以显然我不能发布图片,因为我是新人,但图片在上面的帖子中)

1) 在由线段 AD 和 CP 定义的线的交点处找到点 C'。

2) 在由线段 AD 和 BP 定义的线的交点处找到点 B'。

3)确定B'DAC'的交叉比,即r = (BA' * DC') / (DA * B'C')。

4)构造投影线F'HEG'。这些点的交叉比等于r,即r = (F'E * HG') / (HE * F'G')。

5)F'F 和 G'G 将在投影点 Q 处相交,因此使交叉比率相等并知道正方形边的长度,您可以通过一些算术体操来确定 Q 的位置。


我的问题是第 4 步,构建 F'HEG' 线。是否可以仅知道 2 个点和所需的交叉比率来构建一条由 4 个点组成的线?我觉得那是一个有 2 个未知数的方程。

如果有人可以帮助我,我将不胜感激!

抱歉,拖了这么久,

PS我会在那个论坛上发帖,但这是我的第一篇文章,所以我还没有获得许可。