使用QGIS将xy坐标转换为经度纬度?


13

我正在使用具有XY坐标的可下载shapefile。它们类似于'3672187.92698000, 534175.72095400'

我想将它们转换为经度,以便更像'-90.097017, 29.963176'

我已经看到使用ArcMap解决了这个问题,但是我没有该软件。我能够下载并安装QGIS,但不幸的是,其复杂的界面使我感到困惑。如果可能的话,想要进行转换。


ArcGIS似乎放在一边-数字可能来自任何地方,但您似乎想知道QGIS可以导入和投影它们的方法。
PolyGeo

2
您说您拥有ESRI格式的文件,这是什么意思?是Shapefile吗?还是仅仅是带有坐标的文本文件?此外,就像您在链接的问题中看到的那样,您需要了解输入的坐标参考系统(CRS)(在您的情况下是一个投影坐标系),以及想要的纬度,经度(地理)的CRS,您可能想要WGG84(GPS使用的一种)。没有它,您将无法准确地变换任何一对坐标。看看“对GIS的简要介绍,第7章-处理投影”
Alexandre Neto 2013年

我给出的示例X,Y和lng / lat应该是精确对。我提到过ArcGIS,因为它是数据集所来自的网站链接的软件。我在问题中包含了指向完整数据集的链接。
Zugwalt

您的数据集链接仅在此处引用了另一个问题。无论如何,源自ArcGIS的数据都是无关紧要的。正如其他人所说,您需要了解输入(源)坐标系才能正确转换为经/纬度。

复制粘贴错误-固定的数据集链接。我看看是否可以找出源坐标系。
Zugwalt

Answers:


14

您提到的数据集是shapefile,这是ESRI发明的格式,但是大多数GIS软件(包括QGIS)都可以理解。

解压缩后,您可以添加Add vector layer并指向.shp文件。CRS信息存储在.prj文件中,并且CRS 将由QGIS自动设置。在您的情况下,NAD_1983_StatePlane_Louisiana_South_FIPS_1702_Feet以美式英尺为单位。

使用openlayers plugin,您可以添加Openstreetmap或Google背景图层。为此,您必须将项目 CRS 设置为EPSG:3857

如果要以纬度/经度坐标,只需在shapefile图层上单击鼠标右键,然后Save as ...以另一个名称命名到新文件,然后选择该文件EPSG:4326作为CRS,然后检查是否将该图层添加到画布。保存可能需要一些时间。

下一步,您最好放大一些点。打开属性表,然后单击底部的铅笔符号以进入编辑模式,然后单击右下角的字段计算器图标。创建一个新的领域名为degx,类型real,精度6,并选择$xgeometry。保存后(需要一些时间),对degy和进行相同操作$y。离开编辑模式,然后离开属性表。

属性表中的新列为您提供了经度和纬度。


工作完美!然后,我能够使用新添加的属性将图层导出为CSV并完全满足我的需要!谢谢!
Zugwalt

我完全按照这些步骤操作,我的degx和degy均为NULL。知道我做错了什么吗?
加百利博览会

我知道了我的问题。QGis正在将变量添加为虚拟列。
加百利博览会

你怎么修好它的?我遇到同样的问题。
克里斯·索博洛夫斯基

仅供参考,我找到了答案。GIS文件可以是线,点或多边形(可能还更多吗?)。我的GIS文件另存为线,我需要提取点信息,然后可以轻松获取坐标信息。
克里斯·索博洛夫斯基

8

您可以将坐标作为csv导入,例如,在一个名为coords.csv的文件中,您将具有:

x, y
672187.92698, 534175.72095

1)通过图层->添加定界文本图层将其导入。

下一次对话应该是不言自明的。在此对话框中单击“确定”后,将要求您输入输入坐标的坐标系。您可以浏览列表或使用“过滤器”框来帮助找到正确的投影。

2)导入后,右键单击“图层”面板中的图层,然后选择“另存为”。

3)将其另存为shapefile,然后将“ Layer CRS”更改为“ Selected CRS”,然后浏览投影以找到WGS84 EPSG:4326。选择将其添加到地图,然后单击确定。

4)创建新的shapefile后,右键单击该图层的对话框和“打开属性表”。切换编辑(ctrl-E)并打开计算器(ctrl-I)。选择“创建新字段”,将其命名为“经度”,然后使表达式$ x。对第二个新属性“ Latitude”执行相同的操作,并使表达式$ y。现在,您的属性表中应具有经度和纬度。

5)如果要在电子表格中使用,一种快速的解决方案是单击“反转选择”图标(Ctrl-R),然后将其复制到剪贴板(Ctrl-C)。然后,您可以将其直接粘贴到电子表格中。


2
您错过了他必须为csv层提供CRS的步骤。这不是EPSG:4326,而是一些预计的CRS。
AndreJ 2013年

1
我已经按照这些思路添加了一个注释。
尼克·S

1
我遵循了这些(出色的书面说明)指令,但是生成的新字段值与原始x,y值相同(显然不是经度/纬度)。不知道有用的信息是否有用,但是导入的图层看起来确实应该如此(新奥尔良),并且“另存为”中创建的第二个图层可以完美地覆盖它。
楚格沃特2013年

1
您需要首先将其导入正确的SRID中,然后需要在所需的SRID中“另存为”,并且需要将新文件加载到QGIS中。请注意,如果您没有“即时重新投影”,则数据将遍及所有地方。如果您已将其打开,则它们应该完美覆盖
simplexio 2013年

5

您的问题不是特定于ArcGIS / QGIS的。它与坐标系有关。我将您的问题解释为“如何在一个空间坐标系中导入X / Y csv数据并使用QGIS导出到另一坐标系?”。

如果您的数据没有在QGIS中正确显示(假定为v1.8),则需要使用插件管理器启用“添加分隔的文本层”插件,然后使用“图层”->“添加分隔的层”导入数据,然后继续通过向导选择适当的源,x / y列,然后选择正确的坐标系。

现在,它们的图层应该在其原始坐标系的QGIS中正确显示。如果要即时重新投影,则需要转到设置->项目属性->选择“即时重新投影”,然后选择所需的显示坐标系。

现在,您已经正确导入了数据,您要做的就是右键单击图层,然后选择“另存为”。在此对话框中,更改为所需的格式(形状,csv等),设置保存位置,然后在“ CRS”部分中选择“选定的CRS”,然后单击“浏览”并选择“ WGS 84”或任何其他所需的坐标系。


1
这似乎只是导出相同的值。我的直觉是我不知道什么是“正确的坐标系”和“所需的显示坐标系”。
楚格沃特

@Zugwalt:如果您不知道所拥有数据的源坐标系,则它在空间上将无法使用。这是美国数据吗?如果是这样,它可能在某些状态平面或UTM网格中。您将需要与数据提供者联系,以找出用于创建数据的坐标系。
BasilV
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.