我不熟悉Proj4,所以QGIS有什么办法可以做到?
#1 楼
嗯,这并不容易,因为QGIS没有预定义的Robinson或Miller投影。 />对于西边150°的中央子午线,有必要在东边30°分割世界边界shapefile(确切地说,在29.9和30.1处以避免交集)
因此,这些步骤如下:
下载自然地球世界边界shapefile并将其加载到QGIS中
Save As ...
到WGS84中,并将其添加到canvas 从步骤1删除图层
禁用
On-the-fly-projection
创建以下文本文件:
Nr;WKT
1;POLYGON((30.1 89, 29.9 89, 29.9 -89, 30.1 -89, 30.1 89))
将该文件添加为
Text delimited layer
,使用分号作为分隔符,使用WGS84作为CRS(您将在30°E附近得到一个非常薄的多边形)将图层另存为shapefile,将其添加到画布中并从步骤中删除该图层6
将
Vector -> Geoprocessing -> Difference
与两个多边形层一起使用使用以下命令创建名为Robinson的自定义CRS s项目字符串:
+proj=robin +lon_0=-150 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs
启用
On-the-fly projection
并选择Robinson作为项目CRS 对于Miller投影,您可以使用相同的预切割shapefile。在Proj中,米勒的椭球体存在一些问题,因此我们改用球体(您不会看到任何区别):
+proj=mill +lon_0=-150 +lat_0=0 +R=6371000 +units=m +no_defs
即时激活,它看起来也不尽如人意,但新西兰完全缺失了,但是在放大时会返回。因此,我们需要在miller投影中对shapefile进行
Save As ...
,仅显示该文件,而无需即时重新投影:评论
这是QGIS应该处理的吗?我的意思是,这并不意味着第180个子午线是物理的……是否有错误/功能要求?
–naught101
2015年1月6日在6:44
由于花了我很长时间才能找到它,因此可以在“设置”>“自定义CRS”下添加自定义CRS ...
– alphabetasoup
2015年12月9日,0:14
#2 楼
QGIS随时随地提供您所需的一切(即,它可以在幕后为您处理Proj4)。如果您的数据已经在所需的投影中,请右键单击图层,然后选择“从图层设置项目CRS”。这样会将数据视图置于与数据相同的投影中。您可能还必须右键单击您的图层,然后选择“缩放到图层范围”。如果数据在其他投影中,则可以动态地重新投影(在项目属性中),也可以通过右键单击图层并选择“另存为”来重新投影数据本身。保存对话框打开时,为输出数据集选择CRS,然后使用新的重新投影的数据集。
评论
经过许多麻烦之后,我发现最好使用Nr; WKT 1; POLYGON(((30.01 90,29.99 90,29.99 -90,30.01 -90,30.01 90))Diederik