问题标签 [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.
kml - Google Earth (/Sky) 中的正交投影可能吗?备择方案?
我需要创建全天地图,但天空模式下的 Google 地球限制了“缩小”。是否可以使用 Google 地球(或者,就此而言,MS Virtual Earth)创建正交地图投影?任何标准预测都可以,尽管有选择会很好。
当然,我可以静态渲染投影,然后在其上绘制我的 KML 图层,但理想的用例将允许用户添加额外的 KML 图层、放大和缩小等。
r - 使用 R 的 Proj4 重投影
我正在尝试将坐标从 WGS84 重新投影到 MGA Zone 53,这是基于 GDA94 基准的 UTM 投影。我的结果是无穷大,这绝对是不正确的。我正在使用 R 的proj4
包,如下所示:
这里出了什么问题?
transform - 如何将距离从度转换为米?
我正在使用带有普通墨卡托地图的 OpenLayers,我试图通过在 latlong 中找到一个点网格来对边界框进行采样。bbox 用 latlon 表示,例如
我可以以度为单位定义距离(例如x:2.5,y:2.4)并从那里计算出点。但是我想用米来表示这个距离(例如 50000),以便将它与用户的心态联系起来(人们理解米,而不是度数)。我怎样才能转换这个距离?我知道如何重新投影一个点,但不是一个距离。
感谢您的任何提示!穆龙
java - 简单的地图投影
我有一张 400x400 的地图,大约代表 250x250km 的区域,我想以 Lat/Lon 的形式投影 GPS 坐标。
考虑到精度不是很重要(可以容忍几公里的误差),有什么简单的公式或算法可以进行投影并转换为像素坐标?如果有,我可以期待什么错误?或者我真的错了,没有简单的方法来达到我需要的精度?
笔记:
- 我读过关于 PROJ.4 但我更喜欢不使用任何外部库,因为该程序必须在小型设备中运行
- 我在地图上没有任何校准数据,但我可以使用在线地图自己校准。
- 从这里我记录了一点,我知道如何将纬度/经度转换为 x/y/z 坐标。但是我不知道怎么用Z拨号
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 中执行此操作的任何想法?
谢谢,穆龙
java - 实现谷歌墨卡托(球形墨卡托)
我想在我的应用程序中使用球形墨卡托算法将纬度/经度点投影到二维平面。
球形墨卡托也称为谷歌墨卡托、EPSG-900913或EPSG-3785。
有几个页面如何通过 OpenLayers 库在 JavaScript 中使用它,但我不使用 JavaScript。
OpenLayers中的文档根本没有帮助我,所以我想寻求帮助如何在 Java 中实现 Google Mercator。
kml - Opanlayers Reprojection Kml 层
我有一张地图,其中底图的投影为“EPSG:32639”,底图上显示的 kml 图层的投影为“EPSG:4326”。它只显示我的底图,不显示任何 kml 图层。那有什么问题?
我的源代码在那里。
google-maps - google.maps.Projection 类有什么作用?
最近我发现了在屏幕上的 LatLngs 和像素坐标之间进行转换的困难方法,我不应该使用通过 Map.getProjection 轻松访问的Projection类,而是应该使用只能通过 OverlayView 访问的MapCanvasProjection类。
如果您正在使用自定义叠加层,后者非常方便,但如果您不是,那么访问 MapCanvasProjection 真的很痛苦。到目前为止,我已经通过向 Map 类添加一个方法为自己解决了这个问题,该方法可以让我轻松访问所需的投影类:
这一切看起来像是一个大技巧,可以做一些微不足道的事情。它更让我想知道google.maps.Projection类是做什么的?当我阅读文档时,在我看来它与Projection.fromLatLngToPoint
做同样的事情MapCanvasProjection.fromLatLngToContainerPixel
,但事实并非如此。我很困惑。
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!
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我会在那个论坛上发帖,但这是我的第一篇文章,所以我还没有获得许可。