问题标签 [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.
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
:
java - 我可以使用 Proj4 将点投影到平面上吗?
我正在研究用于泛化数据的批处理过程(使用包括 Douglas Peucker 在内的算法组合)。由于源数据(来自 ESRI 形状文件)和所需的输出格式数据都可以位于各种坐标参考系统中,因此我使用 Proj4j 在它们之间转换数据。是否可以使用 Proj4j 将一个点从其原生现实世界值投影到平面上并再次返回?
即:如果我正在编写一个用于查看这些数据的应用程序,我通常会获取我的几何图形,将这个变换应用于它们以将数据转换为平面,然后将 AffineTransform 应用于结果以执行平移和缩放等操作。如果我使用 WGS84,投影点之间的距离将向两极拉伸,但对于其他坐标参考系统,情况可能不一定如此。
API 中似乎有很多用于在坐标参考系统之间进行转换的功能,但我还没有看到一种简单地投影数据的方法。(我原以为这是免费的功能。)
有关在 Proj4、Proj4j 或 Proj4js 中执行此操作的方法的任何信息都会很有用。如果做不到这一点,有人可以指出我可以做我正在寻找的库/API 的方向吗?
coordinate-transformation - 经纬度坐标 (WGS84) 转换为局部 x、y 平面
目前我正在尝试以下操作:我有来自谷歌地球(WGS84)的点,我想将其转换为本地 x,y 坐标系:一个切平面,从南到北 y 为正,从西到东为 x 为正。
平面不需要比关系 (x=0, y=0) = (lat,lon) 更多地成为全局坐标系的一部分。我工作的规模大约是 100 公里(例如最大 200 公里)。非常小的误差(例如由于地球的曲率)是可以接受的。
到目前为止,我对这个主题的了解相对较少。有人可以帮帮我吗?例如,我需要在哪里寻找。
谢谢!
python - Python/Pip C 包 PyProj 无法使用 GCC 编译
我正在尝试通过virtualenv和pip在WebFaction VM上安装PyProj。我收到编译错误。我正在使用这个命令:
有很多输出,终止于:
我不太确定从哪里开始。我从这个 SO question中收集到问题在于 PyProj 中 C90 的兼容性,我可能会针对 C99 进行编译。只是一个猜测。
如前所述,这是在具有 shell 访问权限的远程 VM 上。我的开发机器(Mac)上有一个匹配的 Virtualenv,它编译没有问题。但是,有不同的编译器:
开发:
虚拟机:
想法?提前致谢。
typescript - 尝试为 proj4 创建打字稿定义,如何声明匿名静态?
下面的 transormer 方法实际上应该是匿名的,但这在 typescript 中是不允许的:
那么如何定义这使得以下是可能的呢?
r - 无法在 ubuntu 14.04 中安装 rgdal(未定义以引用“pj_ctx_fclose”)
我尝试安装rgdal
但configure.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 的文件。所以我不确定这个问题的确切原因。
r - 以高分辨率重新投影栅格(WGS84 到 BNG)
我正在做一个足够简单的操作,将栅格从 WGS84 重新投影到英国国家网格,但我想知道重新投影后的一些结果。结果栅格的总和完全不同;这是由于分辨率和“projectRaster”中双线性插值的工作方式吗?
我从一个 csv 开始,该 csv 具有覆盖纬度和经度(仅整数值)范围为 -180 到 180 度的全局数据,以及一些 z 值。这是子集,制作成投影WGS84的栅格并转换为BNG(下面的子集):
总和从 1919 到 2625(在我的情况下),相当大。
是否纯粹来自在“边缘”周围创建如此多额外单元的重投影?如果我要重新投影到分辨率小得多(5公里)的栅格,这会大大减少不同的总和吗?
谢谢,小号
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
我仍然希望输入有关如何真正定义自定义投影的变量的输入...
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。
不幸的是,结果是完全错误的,没有意义。有人可以帮忙吗?
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 是罪魁祸首吗?还是设计使然?