在QGIS中更改shapefile的投影?


17

如何使用QGIS更改shapefile的投影?

默认投影设置为EPSG:3003,我想将其更改为wgs84 EPSG:32632。当我重新投影或在属性蒙版中更改投影时,我没有正确的结果。

左侧有计划坐标,但对于右图所示的EPSG,它们不正确:

图片

Answers:


26

在QGIS中,可以使用三种不同的方式来更改/操纵投影:

1.项目属性> CRS(或者您可以单击右下角写有EPSG的图标)

这定义了画布(背景层)的专有性。例如,如果我想显示来自openlayers插件的背景图(例如Google街等),则需要将项目CRS设置为EPSG:3857。

2.右键单击矢量图层>设置图层CRS

无论元数据或先前的设置如何,这都会强制QGIS接受您定义的CRS。本质上,您否决了以前的一切。如果最后得到的一些数据没有定义CRS,并且知道它应该是什么,则可以使用该数据。应当注意,这不会修改实际的shapefile(与在ArcCatalog中设置CRS时不同),它只会修改图层属性。

3.右键单击矢量层>另存为...

在这里,您可以在保存数据时设置CRS。如果选择新的CRS,这会将数据的坐标转换为新的坐标系,并将结果保存在适当的文件中。根据您选择的内容,您还可以指定转换方法。当您已经将数据保存在正确的CRS中,但又想将其保存在其他投影中时,将使用此方法。


您也可以“即时”激活投影(然后,“ OTF”将出现在主窗口右下角的EPSG投影旁边)。这很有用,因为它允许QGIS处理具有不同CRS的图层并在同一地图上同时显示它们,而无需手动更改CRS。


这里有一个直观的例子来显示差异。我想绘制一张地图,其中显示了雅加达湾(由雅加达湾创建的网格)和背景中的Google地图的一些测量点:

在此处输入图片说明

因为我的默认CRS是EPSG:4326,所以当我打开一个新项目并尝试添加一个openlayers地图(例如google physical)时,我得到了一个错误。

在此处输入图片说明

因此,我需要更改为EPSG:3857,然后它将起作用。目前,我仍然看不到地图,但是一旦添加适当的矢量层,它就会出现。

在此处输入图片说明

当我添加网格层时,它不会显示。查看该层的专有性对我而言指示CRS为EPSG:4326。我不知道是什么原因,但这不是该层的正确CRS(可能是我做错了操作,并在过去进行了更改)。在这种情况下,我必须指出正确的CRS:“设置图层CRS”(如上面的2所示)并将其设置为EPSG:32748。之后,该图层将与Google地图一起出现。直到现在,我才能永久更改图层的CRS:“另存为”,并选择与Google地图相同的CRS(EPSG:3857)。如果您在选择原始CRS之前尝试执行此操作,则会收到错误消息。

在此处输入图片说明

...设置完原始CRS之后(如2所示

在此处输入图片说明

..保存到新的shapefile后(如3

在此处输入图片说明

导入测量点时,我会遇到与以前相同的问题,因为QGIS默认选择将CRS设置为EPSG:4326(可以在“偏好设置”>“ CRS”中进行更改)。因此,我将再次执行“动作2 ”。

在此处输入图片说明

然后再次动作1

在此处输入图片说明

最后...



1

如果您已经知道真正的CRS,甚至可以通过QGIS正确读取,则答案很简单。

在QGIS 3.2中:右键单击您的图层->“导出图层...”,并同时更改CRS,如下所示:

在此处输入图片说明

在此处输入图片说明

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.