问题标签 [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 回答
95 浏览

api - 有没有办法让 Bing 地图和谷歌地图达成一致?

我正在为 WP7 开发地图解决方案,因此想使用 Bing 地图作为解决方案的一部分。我了解到 Bing 地图并不能完全“正确”定位位置,而谷歌地图似乎更准确。我可以在调用 API 时设置一些属性来更改结果,还是应该切换?

0 投票
1 回答
1985 浏览

android - Android - 创建谷歌地图投影 V2

我使用 Overlays 在地图(版本 1)上嵌入了 PNG 图像:

我想将代码迁移到版本 2。您有什么建议吗?在 Google Map v2 中是否有任何类似的组件可以做到这一点?

此致


截图。在此处输入图像描述

0 投票
1 回答
5651 浏览

d3.js - 在 D3.js 中缩放地理坐标

我喜欢在每个坐标中画一个圆。仅使用widthheightcoordinates,如何缩放坐标?我对 D3.js 很陌生,我想我在投影部分做错了什么。

0 投票
1 回答
768 浏览

map - 使用 D3 进行光栅重投影

我正在尝试使用 D3 的地理类进行光栅重投影,但有点卡住了。 是 Mike Bostock 在此处找到的原始代码的副本。在我的本地主机上运行时,地图仅显示阿拉斯加和不列颠哥伦比亚省周围的一小部分,但其余部分为空白。当使用 D3 的正交投影时,我也遇到了同样的问题。另外,我尝试使用 Geotif 文件,但没有加载。图片必须是JPEG格式吗?在此先感谢,汤姆

0 投票
1 回答
202 浏览

svg - 为什么我的经度纬度转换的准确性似乎在赤道以下降低?

我收到了一些关于如何将我的地图转换为给定经度和纬度值的问题的帮助,这里是:如何使用 SVG translate 将 d3.js 投影居中到给定的纬度和经度值?我写了一个以给定比例平移到给定位置的方法:

我可以很好地“放大”欧洲,但是当我搬到印度尼西亚的雅加达时,中心点显然位于海洋上方。

伦敦-SFMap.zoomTo([0.1062, 51.5171], 1300) 伦敦

雅加达-SFMap.zoomTo([106.7500, 6.1333], 1300); 雅加达

而且,如果我尝试澳大利亚,就会强调这个问题——我什至看不到它。

我应该注意我正在使用 d3 来渲染墨卡托投影并从 Google 搜索中检索经度和纬度值。

请有人建议为什么会这样?我知道幕后有很多数学问题,但我希望 d3 能解决这个问题。

编辑:

在阅读了 Pablo 的评论后,我决定zoomTo()从等式中删除我的方法,并简单地测试 d3 是否可以center([106.7500, 6.1333])在固定的 Jarkata 上正确地测试scale(1000),但它没有;它仍然把你扔进大海。

0 投票
1 回答
539 浏览

d3.js - 使用 D3 进行映射:我的旋转地球仪中的特征裁剪错误

我正在使用 D3 创建一个带有正交投影的世界地图,用户可以像使用地球仪一样用鼠标“旋转”它。

我在 Firefox 中遇到了一些抖动渲染的问题,因此我使用 R 中的 Douglas-Peuker 算法的实现简化了我的地图功能。我将其转储到 geoJSON 并由 D3 渲染,如下例所示:http://jsfiddle。净/cmksA/8/。(请注意,我在下面描述的问题不会出现在非简化功能中,但如果我不简化,Firefox 将无法使用。)

Firefox 的性能仍然很差(变得更好),但一个新问题已经出现。当您平移地球以使印度尼西亚大致位于地球的中心时,其中一个多边形会转换为覆盖整个地球。当北美和南美居中时,也会发生同样的问题。

作为平移的一部分,我使用以下函数(jsfiddle 的第 287 行)重新投影/重新绘制地球:

}

任何帮助/见解/建议将不胜感激。干杯

0 投票
0 回答
185 浏览

php - 将图像从 Nad83 重新投影到服务器上的球形墨卡托

我的目标是从 NOAA 网站获取雷达图像并将它们重新投影到球形墨卡托。最终,图像将被 Android 应用程序使用。

重新投影将通过 chron 作业在服务器上完成。我和Gdal一起玩过并且喜欢它。我的问题是我无法在我的服务器上构建它。我在网络解决方案上共享托管。据我所知,我没有终端/命令行访问权限。理想情况下,我会运行 php-gdal,但对其他解决方案持开放态度。谁能指出我正确的方向,通过 ftp 在运行 unix 的共享主机上安装 php-gdal?

我对重新投影这些图像的其他解决方案持开放态度,但是我不想安装 WMS(即使我能找到方法)。我听说过 Open Layers 和 Proj4js,但不确定 Java Script 解决方案如何在服务器环境中工作。我愿意探索一些 PHP 图像转换,因为我可以通过一些修改来制作一些扭曲/扭曲/平面圆柱类型的效果。ImageMajik 可能会工作,但我再次不确定如何在我的共享主机上安装它。目前,我的主机在他们的构建中提供 GD 支持——但据我所知,这还不够。

0 投票
2 回答
1516 浏览

opengl - OpenGL/GLUT - 将模型视图坐标投影到纹理矩阵

有没有办法使用 OpenGL 或 GLUT 将模型视图矩阵中的点投影到关联的纹理矩阵中?如果没有,是否有一个常用的库可以实现这一点?我想根据 3D 空间中的光线投射来修改对象的纹理。

最简单的情况是:

  1. 投射一条与四边形相交的光线,并使用单个纹理进行映射。
  2. 交点被转换为在 x 和 y 轴上钳制在 [0.0,1.0] 之间的纹理空间中的值。
  3. 以生成的纹理点的舍入值为中心的 3x3 像素块设置为 0 的 alpha 值。(或另一个方便的 RGBA 值,以获得所需的效果)。

为了说明这里是一个使用球体的更复杂版本的问题,粉红色的框显示了替换的像素。

我只是在 OpenGL 中指定用于映射的纹理点,我实际上并不知道像素是如何投影到球体上的。基本上我需要该投影的倒数,但我不太清楚如何进行数学运算,尤其是在更复杂的形状上,如球体或任意凸包。我假设您可以以某种方式找到构成形状的平面多边形,光线与之相交,并且从那里四边形或三角形的逆投影将是微不足道的。

一些方程式、文章和/或示例代码会很好。 将光线投射到纹理空间

0 投票
2 回答
1056 浏览

postgresql - 常规笛卡尔坐标系的 PostGIS 空间参考 ID(SRID)?

我想将多边形存储为一组二维点,表示为笛卡尔坐标系的 x、y 坐标。

我可以使用哪个空间参考?查看我的 spatial_ref_sys 表,所有空间参考似乎都与地理相关。

多边形的点将代表卫星测量值,我将调用 ST_ConvexHull 来获得卫星足迹的形状。

0 投票
1 回答
869 浏览

svg - 如何手动将点要素转换为 SVG 坐标

我已经设置d3.geo.path如下

我的任务涉及在世界地图上绘制饼图,并且我习惯path.centroid()将它们放置在大多数国家/地区,但是美国和俄罗斯等普遍存在的国家并没有提供好的结果(例如美国的饼图在加拿大),因此我想要为这些手动设置质心。这是我到目前为止的代码:

问题是这个函数返回类似于[487.25078795735465, 377.785536430209]默认情况的东西(可以直接嵌入到transformSVG 元素的属性中),但类似于"M209.12490009048008,338.6477191773128m0,4.5a4.5,4.5 0 1,1 0,-9a4.5,4.5 0 1,1 0,9z"上述特殊情况。在这些情况下,我该怎么做才能获得简单的 x 和 y 坐标?我想我可以使用 RegEx,但是对于这个问题没有更优雅的解决方案吗?