问题标签 [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.

0 投票
1 回答
1084 浏览

python - 使用 Python 更改图像投影

图像角坐标已知:

  • 左上角:(70.20315、20.92749)
  • 右上角:(70.20315、31.45240)
  • 左下:(59.70571、20.92749)
  • 右下角:(59.70571、31.45240)

(基本上是芬兰和瑞典/挪威/俄罗斯的一点点地图)

我找不到将图像投影更改为 Google 地图叠加图像的方法,最好使用 Python。

使用pyprojPIL可以做到这一点,但我无法弄清楚如何做到这一点。我还找到了GDAL,更具体地说是gdalwarp,但找不到以正确方式更改投影的选项。

示例图片

0 投票
1 回答
431 浏览

geolocation - 兰伯特 2008 年预测

我需要编写一个函数,可以将纬度/经度定义的某个位置投影到地图(图像)上的 x,y 坐标。

地图本身似乎使用“比利时兰伯特”作为投影类型。

我找到了一些关于这个投影及其配置的官方信息:http: //ign.be/FR/FR2-1-4.shtmhttp://ign.be/Common/Lambert2008/Transformation_Geographic_Lambert_FR.pdf(在法语中,我'如果需要会翻译)。

基本上,我得出的结论是使用一些库会更容易(尽管这不是这里的要求)。经过一番研究,OpenMap 似乎应该能够完成这项工作。

所以,这是我到目前为止得到的:

(知道我的 gif 是 1000x1000)

LamberConformal 构造函数的 JavaDoc:http://openmap.bbn.com/doc/api/com/bbn/openmap/proj/LambertConformal.html#LambertConformal%28com.bbn.openmap.LatLonPoint,%20float,%20int,%20int , %20double,%20double,%20double,%20double,%20double,%20double,%20com.bbn.openmap.proj.Ellipsoid%29

我想我没有正确配置它:应该在地图上的某个点 xxx 给出了以下结果:

将“中心点”(?)作为参数给出

(地图中间,看起来不错)

有谁熟悉这个,或者能够从链接中找出配置?

编辑:

尝试用这个替换方法的最后一行:

但不是更好。

0 投票
1 回答
3380 浏览

android - Android:操作方法:将当前位置标记到地图中(静止图像) - 添加了源代码、测试用例、实际、预期输出

我创建了另一个问题(如何显示具有移动当前位置的地图(静止图像文件)

但它包含 2(两个)问题,所以我需要将其分开。

我正在尝试创建一个可以引导一个人到达目的地的原型。

  • 地方是一栋有几层楼的宽敞建筑。
  • 我可以获取/检索地图(静止图像)。例如当前:1F 目的地:5F;所以我可以得到1楼、2楼...5楼的静止图像(5个图像文件)。

设想:

  1. 启动应用程序
  2. 输入当前位置(或使用当前位置自动设置)和目的地
  3. 单击搜索路线按钮以搜索要使用的地图(静止图像)并标记当前位置和目的地
  4. 移动/前往目的地时更新当前位置

问题: 我可以通过 WiFi/基站/IP 地址获取当前位置坐标,但不知道如何将其放入静止图像中以标记当前位置。

您会分享概念/想法还是包含代码片段。对我的论文有很大帮助。

感谢任何有关正确方向的指导。


更新

带有实际、预期输出、测试用例的实际示例 (此处的代码包来自 mapsforge)

MercatorProjectionClass.java

上述代码的输出:

  • PixelXYToLatitude 测试结果:PASSED
  • LatLngToPixelXY 测试结果:PASSED

我已经有了将 LatLng 转换为 Pixel 的投影类。我现在的问题是如何使用上述类标记给定 LatLng 的静止图像。

这是我的静止图像(伊利诺伊州芝加哥):

这是我的静止图像(伊利诺伊州芝加哥)

我想标记(这里是示例,但稍后需要将气球更改为更小的指针)

我想做一个标记(这里是示例,但将气球改为指针)

0 投票
4 回答
3342 浏览

python - matplotlib.mlab.griddata 非常慢并在输入有效数据时返回 nan 数组

我正在尝试将具有相关纬度和经度的不规则网格数据集(原始卫星数据)映射到由basemap.makegrid(). 我正在使用matplotlib.mlab.griddata安装mpl_toolkits.natgridwhos以下是ipython中用作输出的变量列表以及变量的一些统计信息:

datalat是原始datalon数据坐标

gridlat并且gridlon是要插值的坐标

var包含实际数据

使用这些变量,当我调用griddata(datalon, datalat, var, gridlon, gridlat)它时,它需要长达 20 分钟才能完成并返回一个nan. 通过查看数据,纬度和经度似乎是正确的,原始坐标与新区域的一部分和位于新区域之外的一些数据点重叠。有没有人有什么建议?nan 值表明我在做一些愚蠢的事情......

0 投票
2 回答
2183 浏览

ruby - 如何从 shapefile .prj 读取 WKT?

我正在构建一个允许用户上传 shapefile 的系统。然后它将这些 shapefile 转换为 PostGIS,使用shp2pgsql. 此命令需要 EPSG 代码形式的 SRS ID。

所以我需要一个可以读取 shapefile*.prj文件(其中包含编码为 WKT 的投影/空间参考系统)并返回相应 SRS ID 的 ruby​​ gem。

0 投票
1 回答
1131 浏览

javascript - OpenLayers EPSG900913->EPSG4326 转换给出错误的结果

我在将像素位置从屏幕转换为度数(EPSG4326)时遇到问题。

根据http://proj4js.org/和谷歌地图,EPSG900913 中的 lon/lat 值是正确的。

我得到的一些示例值是

转换后

当值应该是

关于我做错了什么的任何想法?

这是我的代码的相关部分。

0 投票
1 回答
2831 浏览

c++ - OpenGL 从 3d 点获取 2d 投影

我通过以下代码显示了一组 3d 云点:

此代码显示一个 3d 点云数组及其颜色值,我想获取一个 2d 点数组并以 2d 显示这些点(3d 点的上视图)

0 投票
1 回答
551 浏览

postgresql - OpenLayers 中的矢量投影

我正在使用 OpenLayers 在 geoDjango 中构建一个 GIS 应用程序,并在投影 EPSG:3908 中使用来自 PostGIS 的数据。基础层是 OSM。当我添加矢量数据时,我在巴西而不是波斯尼亚附近渲染了它。我尝试了一切,但无法得到解决方案。

请问有人可以帮忙吗?

0 投票
1 回答
846 浏览

c - 墨卡托地图投影逻辑冲突

我正在寻找解释为什么在这些网站上讨论了 2 种不同的墨卡托公式。

我理解这是正确的墨卡托投影算法:

http://en.wikipedia.org/wiki/Mercator_projection

然而,这个站点指的是完全不同的东西: http ://wiki.openstreetmap.org/wiki/Mercator

有任何想法吗?

0 投票
1 回答
3930 浏览

latitude-longitude - Latitude/longtitude conversion to image x/y coordinates (Miller Cylindrical projection)

As already said in the title, I need some help with converting lat/long to x/y coords in Miller Cylindrical projection. I`m currently writing an app (in Java) which gets city list as an input and then gets lat/long for each city from Yahoo Placefinder. I used these formulas in my code. Here is an example of what I get. (image is for the reference only, not the one I use). As you can see the X positions are only a few pixels (2-3) off, this can be a problem with my calculations of prime meridian shift (CENTRAL_MERIDIAN_OFFSET) in this map. But the main problem is incorrect Y coordinates.

Here is my code (updated - 34px compensation for equator offset):

Obviously, something is wrong with Y coord calculation. I`m not sure whether 5.6 should really be the right value but the vertical range of Millers projection was said to be -2.3..+2.3 in one of the references I read so I used it.