问题标签 [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.
java - java将投影EPSG:900913转换为EPSG:4326
在 openlayers 中,我们可以简单地将 EPSG:900913 转换为 EPSG:4326
我正在寻找可以做到这一点的 java lib。
在这里我找到了这个,
http://www.jhlabs.com/java/maps/proj/index.html
但是文档是c++的
,我不知道怎么用。
如果有人知道,
请发布一个简单的代码
gis - 在哪里可以找到在墨卡托投影中绘制美国所需的坐标?
所以我正在编写一个 Javascript 库,它采用 x,y 坐标并使用它们来绘制美国地图。为此,我需要找到绘制每个状态所需的坐标数据。维基百科上的这张地图是我需要的一个很好的例子,因为 SVG 文件包含构成每个状态的形状,并很好地标记:http: //upload.wikimedia.org/wikipedia/commons/3/32/Blank_US_Map.svg
我还有一组需要放置在此地图上的站点。由于我知道每个站点的纬度和经度,我可以使用它在地图上的适当位置绘制每个站点。不幸的是,为此,我的地图需要使用墨卡托投影,这样就可以轻松地将 lat,long 映射到 x,y 像素坐标。
我上面提到的维基百科地图使用了其他一些投影,所以我不能将它用于此目的。有谁知道在墨卡托投影中哪里可以找到这种类型的地图数据?任何数据格式都可以,只要我能以编程方式获取用于绘制每个状态的坐标并确定哪些形状构成每个状态。
gis - 如何找到地图中心纬度变化与顶部/底部之间的关系
一世m having little trouble finding a relation between the movement at centre and edge of a circle, I
我正在做平移世界地图,我的地图范围是 180,89:-180,-89,我的地图通过将 change(dx,dY) 添加到其范围而不是其中心来平移。现在出现了一种情况,我必须将地图移动到特定的中心,以计算经度的变化非常容易和简单,但是纬度的变化引起了问题。似乎地图 centerY 的变化超过了 mapY 边缘的变化,或者只是如果我必须将地图中心从 0long,0lat 移动到 73long,33lat,对于 dX 我只是得到 73,但对于 dY 显然它看起来 33 但如果我将 33 添加到地图顶部 89 ,它将是 122 ,这是不正确的,因为纬度在 90 和 -90 之间。似乎是一个圆在 2D 平面上的投影,其中圆的边缘由于角度而向后移动,变化较小,而中心变化较大,现在这两个因素之间有关系吗?我尝试将 OriginY 和 destinationY 之间的差异转换为弧度,然后添加到地图的顶部和底部,但这对我来说并没有真正起作用。请注意,地图是在虚拟画布上的项目,其宽度从 256 开始并增加 256*2^z ,z=0 是默认值,整个世界在画布范围内可见
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());
是正确的使用方法。
javascript - 如何将 UTM 转换为纬度/经度?
有没有办法在 Javascript 中将UTM转换为纬度/经度?我在这方面看到了另一个线程,但它是用 Java 和 Python 编写的,对我没有多大帮助。请让我知道,谢谢。
javascript - 如何将 UTM 坐标从米转换为英尺?
有没有人可以将我的 UTM 坐标从米转换为英尺的公式或转换?我找到了 Javascript 代码,它将以米为单位的 UTM 坐标转换为纬度/经度,但在将其转换为纬度/经度之前,我需要以英尺为单位的 UTM。
java - Java Simple WGS84 Lat Lon 到像素 X,Y
我今天阅读了大量有关地图投影的信息。可用的信息量是压倒性的。
我试图简单地将经纬度值转换为屏幕 X、Y 坐标,而不使用任何地图。我不需要投影到任何地图上的值,只需在窗口上即可。
窗口本身代表大约。1500x1500 米的位置。Lat, Long 所需的精度为 1/10 秒。
将纬度/经度表示转换为屏幕可能有哪些更简单的方法?
我已经阅读了几篇关于图像翻译的文章和帖子,但与自然 java 坐标系无关。
感谢您的任何见解。
linq - 使用 LINQ 动态映射(或构造投影)
我知道我可以使用投影将两种对象类型映射到 LINQ,如下所示:
在哪里
但是,如果我想制作类似泛型的东西来做到这一点,我不具体知道我正在处理的两种类型。所以它会走“Dest”类型并与匹配的“Source”类型匹配..这可能吗?此外,为了实现延迟执行,我希望它只返回一个 IQueryable。
例如:
我知道这是具有挑战性的,但我希望不是不可能,因为它会为我节省大量模型和视图模型之间的显式映射工作。
google-maps - 谷歌地图自定义投影
我使用 Google Maps Javascript API V2 创建了一个自定义的 Google Maps 投影。根据 API 规范,它看起来像这样:
以前,我将我的 API 版本设置为 2.147,一切正常。然而,谷歌最近推出了最低版本 2.193。这个新版本打破了我的预测。每当我尝试添加标记时,我都会在 Firebug 中收到以下错误:
d.getNearestImage 不是函数
根据这篇文章,一种名为的新方法
是在 2.148 版本中添加的,所以如果我使用 2.147 以上的 API 版本会出现这个问题是有道理的。但是,参考手册中并没有说明 API 的官方更改。我在我的投影中添加了这个名称的虚拟方法,但没有运气。关于如何修复我的投影或如何恢复到 2.147 的任何想法?