问题标签 [proj]

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 回答
599 浏览

iphone - 我无法在 Xcode 中安装 RouteMe

我正在尝试在 Xcode 中安装 Route-Me 库,以便在我的 iphone 应用程序中转换坐标。我已关注此页面:https ://github.com/route-me/route-me/wiki/Embedding-Guide 但是,我没有“MapView.app”(在“配置构建依赖项”段落中)。

我不知道如何安装这个库。Xcode 无法编译。

有人可以帮助我吗?谢谢

最好的问候艾蒂安

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 回答
673 浏览

gis - GIS:如何使用 .prj (WKT) 投影调整图层大小?(地理坐标系)

简要地:

如何参数化 .prj WKT 文件,以便我可以执行 7 点转换(wiki)。我知道false_easting and false_northing参数是如何工作的,但是如何调整比例?我不是说 scale_factor'

这就是问题描述:

我在非 GIS 环境(交通建模软件)中保存了交通网络(矢量图层)。网络由节点(点)和折线(道路链接)组成。它主要是从随机背景完成的,不管任何投影、坐标等。

我需要为网络设置适当的投影。

我可以访问 .prj 文件(如果我在说 WGS84 投影,我可以切换到任何其他投影)

所以这就是我正在尝试的:
我尝试 7 点 Helmert 转换(http://proj.maptools.org/gen_parms.html)。我在 .prj 文件中使用 towgs84 转换作为 WKT 参数,我假设旋转矩阵为零(我可以这样做吗?)并且我只计算 delta_x、delta_y 和缩放参数。

但是它不会起作用。这是我的 .prj ,TOWGS84 中的参数不影响转换:

所以我尝试使用false_nortingfalse_easting参数,这些工作很好,并适当地改变我的网络,但是:

它不会改变我的网络规模,只会改变位置。那么如何使用 .prj 文件重新调整我的网络呢?

感谢您的任何提示

0 投票
1 回答
750 浏览

c - Mac proj.4 编译错误

我在我的 Mac 10.7 上安装了 proj.4 库和自制软件(使用 gcc-4.2)。尝试编译以下代码时:

我收到此错误:

编辑: 库文件是 64 位(gcc-4.2 -m32 test.c导致相同的错误):

有什么想法有什么问题吗?

谢谢!

0 投票
1 回答
1590 浏览

ruby - 我如何使用 (Ruby) RGeo 来转换 (Unproject) 坐标

我从如何转换 Shapefile 的坐标开始?.

那里的回应使我开始[我认为]正确的轨道,但我仍然无法解决我的问题。

一个问题是我还没有找到正确的投影:https ://gis.stackexchange.com/questions/13330/how-can-i-correctly-transform-unproject-from-lcc

编辑: gis 网站上的那个问题已经得到解答,我能够使用 PROJ 命令行工具 cs2cs 重现正确的转换。它看起来像这样:

现在,我进行了正确的转换,我可以使用 RGeo 以简单的形式尝试同样的事情:

  1. 为什么 RGeo 和 cs2cs 的结果不同?
  2. 一旦我可以让 RGeo 执行正确的转换,有没有办法可以创建合适的工厂来转换完整的几何而不是点?
  3. 是否有一个命令行工具可以用作解决方法来转换我的 shapefile 中的所有点,以便我可以继续我的生活?

一般来说:有人可以指导我如何正确使用这个库吗?

非常感谢您的关注。

0 投票
1 回答
119 浏览

linux - 光栅制图转换库。“未投影”到任何

我有许多光栅(位图)图像,我想将它们从未投影的经纬度转换为投影渲染。(例如 GIF、PNG)。

我不明白如何使用 PROJ.4 来渲染结果图像。我想要一个可以自动完成这一切的库或软件。GRASS GIS 很大。变换是相对简单的变换并且仅是光栅图像。

或者是否有基本代码或我将如何执行此操作的示例?使用 PROJ.4 和 GraphicsMagick

0 投票
1 回答
2283 浏览

r - R中栅格和多边形的坐标参考系

我有几个多边形,我喜欢从这些多边形中的几个栅格层中提取平均值。当我将这些添加到 ArcMap 时,我意识到这两种数据类型的投影不匹配。我可以通过使用投影工具(数据管理工具箱 > 投影和变换工具集 > 栅格)来解决 ArcGIS 中的显示问题。因此,我尝试通过以下方式(部分代码)将数据加载到 R 中来标准化投影:

光栅:

多边形:

我可以分别绘制多边形和栅格,但是当我尝试在栅格上绘制其中一个多边形时,不显示多边形:

似乎它们仍然没有“重叠”。我认为,不同的边界框也表明了这一点:

因为我想提取多边形内的栅格值,所以我必须确保以正确的方式引用它们。有人知道问题可能是什么吗?

0 投票
0 回答
1460 浏览

maps - 这个 Proj4 转换有什么问题?

我正在我公司的软件中实现对WMS 地图的支持。服务器返回其地图可用的投影列表,但我们的软件仅以 WGS84(纬度/经度或 UTM)显示数据,并非所有服务器都返回“CRS:84”或“EPSG:4326”CRS。因此,我需要转换/重新投影数据。一些服务器返回非常不寻常的服务器,我遇到以下问题之一: EPSG:3112 (GDA94 / Geoscience Australia Lambert) used by Geoscience Australia's WMS server

为了在屏幕上显示地图,我需要将所需屏幕或瓦片边界框的 WGS84 纬度/经度坐标转换为服务器的 CRS,请求地图图像,然后绘制转换地图的边界框(在服务器的 CRS ) 返回 WGS-84 纬度/经度。这似乎不太正确:

来自两台服务器的叠加地图

这张图片是澳大利亚塔斯马尼亚岛的一部分。灰色海岸线来自Demis,WGS:84 投影。蓝色轮廓和灰色标线来自Geoscience Australia,在 EPSG:3112 中,但(理论上)通过 Proj4 重新投影以匹配灰色海岸线。如您所见,它非常不准确,大约为 50-100 公里。如果此显示正在绘制 WGS-84 经纬网,它们将是完全垂直和水平的。另请注意,该岛是拉伸的,即它不仅仅是一个旋转。这在我看来好像重投影根本不起作用。

我正在使用的两个 Proj4 初始化字符串是:

  • WGS-84(WMS 的 CRS:84):+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs
  • 每股收益:3112:+proj=lcc +lat_1=-18 +lat_2=-36 +lat_0=0 +lon_0=134 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs

从 WGS-84 到 EPSG:3112 和返回的单个点往返产生原始点:

  • WGS:84:(145.0,-42.0)
  • 至 EPSG:3112:(931684.430679232,-4764432.89032608)
  • 回到WGS-84:(145,-41.9999999999999)

所有转换均使用pj_transform.

尽管过去几天我学到了很多东西,但我对地图投影或 Proj4 的了解还不够,不知道下一步该去哪里,我非常感谢对这个库有更多了解的人的建议。

我的一些想法是:

  • 蓝岛似乎仍在兰伯特投影中。这可能吗?它可以解释视觉失真。
  • 我们使用的是多年前构建的 Proj4 DLL 版本,虽然看起来您可以将有关基准等的各种数据构建到 DLL 中,但我不知道这是否已完成。不过,Proj4 不会标记进行坐标转换的错误,所以目前我正在假设如果图书馆很高兴,这是一个外部错误(即我的部分。)我也不知道原因无论如何都拥有我们自己的多年前构建的 DLL,而不是使用 Proj4 网站上的预构建二进制文件。然而,即使是 Proj4 二进制文件也是一个旧版本,并且似乎没有构建为将所有内容都包含为二进制数据。
  • Proj4 的某些版本似乎从外部加载数据和其他信息。我尝试替换我们的 DLL 并将其配置为使用环境变量使用其中一些文件PROJ_LIB,但没有明显变化。
  • +towgs84=0,0,0,0,0,0,0EPSG:3112 字符串的一部分似乎很奇怪。这是来自最新 Proj4 下载中的“epsg”文件,但它可能是错误的吗?

也许这个问题的更好表述是:

  • 在这两个 CRS 之间进行转换需要什么或做什么?

谢谢你的帮助 :)

0 投票
1 回答
3209 浏览

java - 如何使用 GeoTools/ProJ.4(或其他 api)将坐标从 HK80 GRID 转换为纬度/经度?

如何将一组 hk80 网格转换为纬度/经度?

HK 1980 Grid 是 EPSG 2326,而 Lat/Long WGS84 是 EPSG 4326

或者有没有更适合这样做

0 投票
0 回答
1129 浏览

python - 在谷歌地图上将 lat/lng 投影到像素 x,y

在 python 中,我想将 lat/lng(在 epsg 4326 中)转换为谷歌地图像素中的 x、y(假设最接近的缩放级别)。

pyproj让我使用如下代码在投影空间之间进行转换:

我不确定的是用于获取 x、y 像素的正确投影。

此页面上有转换的 PHP 实现:http: //www.appelsiini.net/2008/11/introduction-to-marker-clustering-with-google-maps

与其在 python 中手动编码转换,我更愿意使用 pyproj,因为它会更灵活,并且更容易反转转换。

这些是实现在样本点 (10, 10) 上给出的值: