问题标签 [mercator]
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.
projection - 使用gdal将具有已知边界的png从plate carree转换为mercator
我有一个 png 图像,它显示了 Plate Carree EPSG:4326 中由地理边界 UpperLat、LeftLon、BottomLat、RightLon 定义的区域(对于 West Lon 和 South Lat 以度数和 -ve 为单位)。我想使用 GDAL 将其转换为墨卡托 EPSG:3857。
当我尝试这样做时:
Step1) gdal_translate -of Gtiff -a_srs EPSG:4326 pc_map_piece.png pc_map_piece.tiff
Step2) gdalwarp -s_srs EPSG:4326 -t_srs EPSG:3857 pc_map_piece.tiff mer_map_piece.tiff
我收到了这个错误:
错误 1:无法计算 pc_map_piece.tiff 的像素/线和地理参考坐标之间的转换。没有仿射变换,也没有 GCP。
然后我尝试这样做:
Step1) gdal_translate -of Gtiff -a_ullr UpperLat LeftLon BottomLat RightLon -a_srs EPSG:4326 pc_map_piece.png pc_map_piece.tiff
Step2) gdalwarp -s_srs EPSG:4326 -t_srs EPSG:3857 pc_map_piece.tiff mer_map_piece.tiff
我没有收到上述错误,但输出图像没有转换为墨卡托投影,我只是将相同的图像倒置作为输出。
有什么想法可以解决这个问题并将图像转换为墨卡托?谢谢。
map - 在墨卡托地图上绘制飞行路线如何计算具有给定经度的折线点
我想在两个城市之间的墨卡托地图上画一条折线。例如起点:
它应该看起来像一条航线。
所以我的计划是遍历两个城市之间的所有经度值并计算相应的纬度值:
问题是如何计算折线的每个经度值的纬度?谢谢!
c# - 在墨卡托地图中很好地包裹大圆弧
我正在使用 Bing Map Tiles 和 C#。这是一个 Silverlight 应用程序。在我的应用程序中,我在墨卡托地图上的位置之间绘制了大圆线。一切正常,直到圆圈试图环绕地图。例如,纽约市和东京之间的一个大圆弧与 GC 弧一起给了我一条水平线(我认为它是环绕地球的线)。我想消除这条水平线。
任何建议将不胜感激??
java - 将纬度/经度点转换为墨卡托投影上的像素 (x,y)
我正在尝试将 lat/long 点转换为 2d 点,以便可以将其显示在世界图像上——这是一个墨卡托投影。
我已经看到了执行此操作的各种方法以及有关堆栈溢出的一些问题-我尝试了不同的代码片段,尽管我得到了正确的像素经度,但纬度似乎总是越来越合理。
我需要公式来考虑图像大小、宽度等。
我试过这段代码:
在我正在尝试的示例中,纬度似乎偏离了大约 30 像素。有什么帮助或建议吗?
更新
基于这个问题:Lat/lon to xy
我尝试使用提供的代码,但在纬度转换方面仍然存在一些问题,经度很好。
使用原始代码时,如果纬度值为正,则返回负点,因此我对其稍作修改并使用极端纬度进行了测试——应该是点 0 和点 766,它工作正常。但是,当我尝试不同的纬度值例如:58.07(就在英国北部)时,它显示为西班牙北部。
google-maps - 如何将墨卡托地图坐标转换为相对屏幕坐标?
我有一个包含各种地图位置(纬度、经度)的数据库。我一直在使用地图 api(例如谷歌地图)来绘制这些位置。
我现在正在试验,看看我是否可以完全删除地图 api 的依赖关系,并简单地将地图控件替换为图像(.png 图像)。
问题: 如何将地图位置转换为正确显示到此地图图像上?
更多细节: 基本上,地图将是一个矩形区域(即Div元素),矩形的左上角显然是(0, 0)。所以基本上地图位置将相对于这个左上角显示。
google-maps - 使用数学(墨卡托)在静态谷歌地图上覆盖 lat/lng gps 坐标
(不使用投影库)我知道地图的中心点,(-37.500,175.500).zoom (13) 大小。400x400px,这是一个墨卡托投影(标准谷歌地图)。它用作 400x400 像素画布上的背景图像。我如何计算出这张地图的界限。
qt - 如何在像素图上绘制道路(线)
我真的被困在 Qt 的 Pixmap 上绘制“道路”。我的所有坐标都是小数值,它们彼此非常接近(我使用墨卡托公式将经度/纬度转换为 X/Y 坐标)。Qt drawLine 函数只有整数参数来绘制像素图(例如,因为没有人会绘制 2.5 像素)。此外,坐标从左上角开始,所以我需要更改它,如下所示:
现在我有了普通的 X/Y 坐标系,Y 轴向上,X 轴向左。
这是我的代码,我如何尝试画线:
但是,一旦我将 x1,y1,x2,y2 放入 drawLine 函数,它们就会转换为整数并且一切都出错了,因为所有 X/Y 坐标都变得相同(因为它们非常接近)。
我真的不知道如何在像素图上绘制这条线。有任何想法吗?
php - 转换/扭曲图像以匹配墨卡托投影
我有一张图片,基本上只是谷歌地图的截图。( http://i.stack.imgur.com/Iufcw.jpg )
我还有另一个图像,我想在我的地图上显示。
我知道地图所有四个角的坐标(纬度/经度),它们与我的叠加图像的四个角相匹配。
我的问题:地图是墨卡托投影(这意味着从赤道到极点的比例增加),而我的叠加图像不是。因此,我的叠加图像在地图的顶部和底部是准确的,但在中心有点偏离。
我的问题:如何转换/扭曲我的叠加图像,使其与我的地图的墨卡托投影相匹配?我希望能够在PHP中做到这一点。
如果需要任何其他信息,请告诉我。
任何帮助将不胜感激。
google-maps - 如何使用节点球形墨卡托?
如何使用节点球形墨卡托?他们的 github 页面上没有任何有价值的示例https://github.com/mapbox/node-sphericalmercator