问题标签 [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 投票
0 回答
478 浏览

ruby-on-rails - 使用自定义构建包在 heroku 上部署 proj4rb 时“找不到 proj_api.h 标头”

问题

我正在尝试在 heroku 上安装 ruby​​ gem proj4rb,它需要C 库的proj_api头文件。PROJ.4

推送到heroku,我收到以下错误(仅显示相关行):

我知道构建确实发生在一个特殊的容器上,然后部署到 heroku。这就是为什么我将 buildpacks 与下面显示的两个 buildpacks 一起使用,其中包括 . 当 Heroku 编译 ruby​​ 时,我得到了提到的错误。

跑步让我有点困惑

接着

工作没有错误。因此,我假设 buildpack 的安装确实有效,并且正在以这种方式找到标头。

问题

可以做些什么来消除这个问题?有没有一种简单的方法——我可能使用了错误的 geo-buildpack 吗?还是我必须为 ruby​​ 编写自己的 buildpack?还是只是配置的问题ruby-buildpack/geo-buildpack

任何帮助都将不胜感激。如果缺少输出信息,请告诉我。

环境

我正在使用默认的heroku getting-startet rails-project 以通过自定义构建包获得更好的“可重复性”。

Gemfile

.buildpacks

0 投票
1 回答
354 浏览

java - 我可以使用 Proj4 将点投影到平面上吗?

我正在研究用于泛化数据的批处理过程(使用包括 Douglas Peucker 在内的算法组合)。由于源数据(来自 ESRI 形状文件)和所需的输出格式数据都可以位于各种坐标参考系统中,因此我使用 Proj4j 在它们之间转换数据。是否可以使用 Proj4j 将一个点从其原生现实世界值投影到平面上并再次返回?

即:如果我正在编写一个用于查看这些数据的应用程序,我通常会获取我的几何图形,将这个变换应用于它们以将数据转换为平面,然后将 AffineTransform 应用于结果以执行平移和缩放等操作。如果我使用 WGS84,投影点之间的距离将向两极拉伸,但对于其他坐标参考系统,情况可能不一定如此。

API 中似乎有很多用于在坐标参考系统之间进行转换的功能,但我还没有看到一种简单地投影数据的方法。(我原以为这是免费的功能。)

有关在 Proj4、Proj4j 或 Proj4js 中执行此操作的方法的任何信息都会很有用。如果做不到这一点,有人可以指出我可以做我正在寻找的库/API 的方向吗?

0 投票
1 回答
626 浏览

coordinate-transformation - 经纬度坐标 (WGS84) 转换为局部 x、y 平面

目前我正在尝试以下操作:我有来自谷歌地球(WGS84)的点,我想将其转换为本地 x,y 坐标系:一个切平面,从南到北 y 为正,从西到东为 x 为正。

平面不需要比关系 (x=0, y=0) = (lat,lon) 更多地成为全局坐标系的一部分。我工作的规模大约是 100 公里(例如最大 200 公里)。非常小的误差(例如由于地球的曲率)是可以接受的。

到目前为止,我对这个主题的了解相对较少。有人可以帮帮我吗?例如,我需要在哪里寻找。

谢谢!

0 投票
1 回答
2018 浏览

python - Python/Pip C 包 PyProj 无法使用 GCC 编译

我正在尝试通过virtualenvpipWebFaction VM上安装PyProj。我收到编译错误。我正在使用这个命令:

有很多输出,终止于:

我不太确定从哪里开始。我从这个 SO question中收集到问题在于 PyProj 中 C90 的兼容性,我可能会针对 C99 进行编译。只是一个猜测。

如前所述,这是在具有 shell 访问权限的远程 VM 上。我的开发机器(Mac)上有一个匹配的 Virtualenv,它编译没有问题。但是,有不同的编译器:

开发:

虚拟机:

想法?提前致谢。

0 投票
1 回答
659 浏览

typescript - 尝试为 proj4 创建打字稿定义,如何声明匿名静态?

下面的 transormer 方法实际上应该是匿名的,但这在 typescript 中是不允许的:

那么如何定义这使得以下是可能的呢?

0 投票
2 回答
2563 浏览

r - 无法在 ubuntu 14.04 中安装 rgdal(未定义以引用“pj_ctx_fclose”)

我尝试安装rgdalconfigure.args没有运气。

安装的gdal版本:

找到 gdal 二进制工具:

找到 proj 头文件:

找到 proj lib 文件:

关于 gdal 的安装包:

编辑:我试过 install.packages('rgdal') 没有任何 configure.args。我得到了同样的错误。现在,我正在尝试使用已编译的 proj4 4.9.1 安装 rgdal,并将 LD_LIBRARY_PATH 导出到 proj4 4.9.1。不幸的是,它又失败了。这是我的新 script.sh:

一切都很好,但测试时失败:

更新:最后,我解决了这个问题。首先,通过 apt-get 删除 proj4-4.8。

其次,将我编译好的proj4-4.9 lib路径添加到'/etc/ld.so.conf.d/'路径下的一个新的conf文件(如rgdal.conf)中。

然后,使用 configure.args 安装 rgdal,引用 proj4-4.9 的编译 lib 路径。

现在,一切都很好。但是我无法使用 proj4-4.8 和默认的 configure.args 安装任何版本的 rgdal。我已经按照@Pascal 的建议清理了 proj4 的文件。所以我不确定这个问题的确切原因。

0 投票
1 回答
735 浏览

r - 以高分辨率重新投影栅格(WGS84 到 BNG)

我正在做一个足够简单的操作,将栅格从 WGS84 重新投影到英国国家网格,但我想知道重新投影后的一些结果。结果栅格的总和完全不同;这是由于分辨率和“projectRaster”中双线性插值的工作方式吗?

我从一个 csv 开始,该 csv 具有覆盖纬度和经度(仅整数值)范围为 -180 到 180 度的全局数据,以及一些 z 值。这是子集,制作成投影WGS84的栅格并转换为BNG(下面的子集):

总和从 1919 到 2625(在我的情况下),相当大。

是否纯粹来自在“边缘”周围创建如此多额外单元的重投影?如果我要重新投影到分辨率小得多(5公里)的栅格,这会大大减少不同的总和吗?

谢谢,小号

0 投票
0 回答
1831 浏览

leaflet - 带有 WMS 和自定义投影的传单地图

我已经使用来自 WMS 服务的 Leaflet 和图块实现了一个地图。他们提供了一个预测列表,其中一个可用于标准 Leaflet EPSG:4326。

然而,地图看起来有点扭曲,我认为其他投影之一会更好。地图供应商使用 EPSG:32624,但我似乎无法正确投影。

这是完整列表:EPSG:32624, EPSG:32619, EPSG:32620, EPSG:32621, EPSG:32622, EPSG:32623, EPSG:32624, EPSG:32625, EPSG:32626, EPSG:32627, EPSG:4326,每股收益:3413,每股收益:3575

我在这里有一个小提琴:http: //jsfiddle.net/uyrv2j7f/2/

有两张地图,上面一张正在使用所需的投影,但没有真正起作用。底部的一个是使用一个有效但扭曲的投影。

我很确定,我需要编辑 crs 的配置。但是为了什么?在哪里可以找到信息?

我在这里找到了第一部分:http: //spatialreference.org/ref/epsg/wgs-84-utm-zone-24n/ - 其余部分我已经使用其他投影作为示例。

希望有人可以帮助我。

或者:Leaflet 通常对我来说就像一个魅力,并且是该案例的首选库。但是如果有人能够使用不同的库来帮助解决问题,那么我会很感兴趣.....

更新: tinproject 给出了一些指示,我去看了,这个版本更接近想要的结果: http: //jsbin.com/rehoxu/5/edit ?html,css,js,output

我仍然希望输入有关如何真正定义自定义投影的变量的输入...

0 投票
1 回答
1529 浏览

c++ - C++ 使用 Proj.4 将 Lat Long 转换为 BNG

我正在为 VBS2 创建一个插件。在程序中,我可以输出 LAT LONG、UTM 或 MGRS 格式的网格。我需要能够转换为 BNG。我已经设法在 python 中创建了一个使用 Proj.4 的 TKinter 应用程序,但现在需要在 C++ 中将其创建为 DLL。

使用 (51.20650N 1.81906W) 的 LatLong im 是已知点,BNG 转换约为 SU 127 452。

不幸的是,结果是完全错误的,没有意义。有人可以帮忙吗?

0 投票
1 回答
506 浏览

xml - 从 msbuild .proj 文件运行 Powershell 脚本会为大型 XML 文件提供 System.OutOfMemoryException

我创建了一个 powershell 脚本,它加载一些大 (50MB+) XML 文件并从中检索一些值。它可以作为独立脚本正常工作(但速度很慢)。

当我从 msbuild proj 文件中调用 .ps1 时,它正常启动,但随后在加载带有 System.OutOfMemoryException 异常的大 XML 文件时死掉。

电源外壳 4.0

我的解决方法是使用 XMLReader 而不是 XMLDocument,这样它就可以进行顺序读取,工作速度更快,并且不会在 MSBUILD 下死掉。

尽管我对我的解决方法感到满意,但我仍然想知道为什么在从 msbuild 任务执行 ps1 时会有内存限制?

32 位版本的 MSBUILD 是罪魁祸首吗?还是设计使然?