在QGIS中投影地图后,多边形在哪里去了?


12

我在GIS专业知识上还很陌生,但是我遇到了世界地图投影的问题。我有一个从Natural Earth下载的所有国家的shapefile。按照其他问题的建议将其投影为正射影像后,我更改了纬度/经度,以使大西洋略微位于中心。

但是,更改后,美国,墨西哥和加拿大从地图上消失了,如下所示: 在此处输入图片说明

当我将地图重新​​投影到美国上很长的一段时,多边形再次出现。有什么建议?


2
请注意,俄罗斯,哈萨克斯坦,伊朗和一些较小的近东国家也不会出现,南极洲的任何部分也不会出现。显然,该软件无法正确裁剪仅部分隐藏的多边形。
Whuber

哪个版本的Qgis?您还可以提供指向从Natural Earth下载的图层的直接链接吗?然后,我们可以尝试重现您的问题。谢谢!
2013年

那是一个非常奇怪的重新投影。提供链接,以便我们可以下载并签出。
2013年

好吧,我调查了一下,并删除了我之前的评论,因为它们很显然在那里。似乎在WGS 84的CRS中,它被投影为位于地球上,因此在WGS84的伪墨卡托CRS中,看不到一半的世界。正确显示。与任何其他CRS一样,显示所有大陆。
2013年

Answers:


12

QGIS无法绘制这些多边形的简单原因是,某些顶点位于地球的背面,而QGIS无法绘制其余的闭合多边形。后台的GDAL ogr2ogr功能已编程为在发生此类错误时启动整个功能。

因此,您有两种解决方案:


解决方案1:将多边形裁剪到半球

你需要Numerical DigitizeCAD Tools插件为。

  • 将项目CRS设置为正投影
  • 在同一投影中创建一个新的点层
  • 使用“数值数字化”插件,创建以下几点:
x y
6370000 0
0 6370000
-6370000 0
0 -6370000

(也应与Add delimited text layer)一起使用

  • 在点层上启用捕捉
  • 使用CAD工具,选择前三个点并从中创建圆弧
  • 对南半球的3-4-1点做同样的事情
  • 将项目CRS更改为WGS84
  • 将CAD图层另存为WGS84并将其添加到画布
  • 将边界层另存为WGS84并将其添加到画布
  • 将CAD线转换为新的多边形层
  • 删除除多边形图层外的所有
  • 将世界边界裁剪到CAD多边形图层
  • 将项目CRS重新设置为正交

您应该得到这张照片: 正交投影中的世界向量


解决方案2:将矢量数据转换为栅格

  • 在设置中,禁用 on-the-fly-reprojection
  • 将边界层另存为WGS84并将其添加到画布
  • Raster -> Convert -> Rasterize在WGS84图层上使用,选择x = 360和y = 170作为栅格的尺寸(或n * 360和n * 170)
  • 使用Raster -> Projection -> Reproject其他名称的正射投影并将其添加到画布。您将得到一些错误,但是其余的栅格将起作用。不要担心看到一个灰色的矩形
  • 右键单击栅格图层->属性,样式选项卡
  • 选择伪色
  • 在透明度标签中,选择0表示100%透明度
  • 删除第一个栅格
  • 将项目CRS设置为正交

您应该看到下面的图片: 在此处输入图片说明

如您在我的头像图片中所见,相同的方法适用于栅格;-)


编辑

要获得以非赤道上的点为中心的良好正交投影,请使用与正交相同的参数对aeqd投影进行裁剪。您将得到以下结果:

在此处输入图片说明


当正射投影中包括其中一个极点时(例如您的头像中),是否需要采用第一种方法?在那种情况下,将CAD图层投影到WGS84时会遇到问题,因为生成的多边形不会覆盖极点
Jake

你是对的。在这种情况下,使用aeqd投影而不是WGS84进行裁剪。剪切球体似乎比椭圆体容易。
AndreJ

嗯,是个好主意!但是,它似乎仍然不是灵丹妙药:我尝试对自然地球1:110M land数据集以30°N,110°E为中心的投影使用该方法,并且在将数据集投影到aeqd时遇到麻烦:大多边形会翻转并破坏剪辑。有任何想法吗?
杰克

aeqd的对立点必须在海中,以避免人工制品。中心不必与最终正交正交的点相同,而必须位于剪切圆之内。
AndreJ

0

看到上面的评论,他们只是走到了地球的另一端。这些国家的多边形仍然存在,但除非旋转地球,否则它们是看不见的。我不确定在这种情况下如何旋转地球,并且制图通常是二维的(不包括国家等)。

我会将您的CRS设置为您要覆盖数据的国家/地区。例如,我将使用爱尔兰网格或OSGB网格,或者如上所述使用WGS84伪墨卡托。


3
杰西卡(Jessica)想要将整个地球描绘成一个圆圈。您提出的预测不会这样做。
AndreJ

如果你问我,否决票有点苛刻。
2013年

那不是我的……
AndreJ

凉。我只是不明白为什么人们不赞成某项建议。我的帽子上有一只蜜蜂,仅此而已。
2013年

4
不宜个人投票。整个SE网络都依赖于上下投票来将最佳答案浮动到问题的顶部。我否决了这个答案,因为“将CRS设置为国家/地区...叠加数据”忽略了OP要求保持大西洋在地图上居中的愿望。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.