是否有一种简单的方法来做到这一点? Python,以返回点的纬度和经度?),但是它处理的是更高级的方法。
在ArcGIS Desktop中,这类似于
Calculate Geometry
函数;我只是在QGIS中找不到这样做的地方。#1 楼
当然可以。首先,将图层另存为WGS84并再次导入。然后,在字段计算器中,可以使用$ x或$ y作为变量来获取x和y。注意:这是1.7中添加的。 />
#2 楼
您必须先将点图层重新投影到EPSG:4326。右键单击图层列表中的图层名称,然后选择“另存为...”。在此处,您可以将目标CRS指定为EPSG:4326。加载新的重新投影的点图层,然后运行“导出/添加几何列”。
#3 楼
一种选择是将CRS图层指定为WGS 84(无投影)。可能是您也必须更改项目CRS。现在使用“矢量>几何工具>导出/添加几何列”。这应该给您纬度/经度坐标。#4 楼
在QGIS 3.8(2019年6月)中,现在有一种算法可以将X和Y值相加。它可以即时重新投影坐标。如果仍然需要度数或度数秒格式,则需要先使用
to_dm
或to_dms
表达式添加这些字段放入属性表。评论
抱歉,etrimaille,我很la脚,我找不到如何找到该屏幕的方法(“将X / Y字段添加到图层”)。你能给我一些指导吗?
– TVZ
20年1月25日在16:50
在3.10.3中,我在以下位置找到它:处理>工具箱>向量表>将X / Y字段添加到图层
– Stu Smith
20 Mar 25 '21:20
#5 楼
提取节点。这使其成为一个点层。然后打开属性表,进行字段计算,选择几何-$ y / $ x查找多边形角点坐标
#6 楼
先前的最佳答案可能被认为是过时的。 >您可以找到配方,其中包含公式和插图GIF。评论
来自以上链接的公式:经度= x(transform($ geometry,'EPSG:FROM','EPSG:4326'))和纬度= y(transform($ geometry,'EPSG:FROM','EPSG:4326'))用于WGS84纬度/经度。
–布赖恩·费希尔(Brian Fisher)
19年11月15日在22:27
您能否提供“以前的最佳答案”的链接?如果过时了,它可能应该接受不赞成票,以便告知社区,它不再被视为最佳。
– PolyGeo♦
20-10-7的1:05
#7 楼
如今,如果图层尚未位于所需的CRS中,则对于x | lon
坐标来说,这是最简单的表达方式:您可以在例如QGIS字段计算器或其他任何接受表达式的地方使用它。只需用要在其中显示坐标的CRS的EPSG代码替换y | lat
。EPSG:4326
是WGS 84的代码,因此它将返回纬度和经度。说明:
EPSG:4326
函数将每个已知的CRS转换为指定的目标CRS(此处为transform()
)。您也可以在这里键入其他所有已知的EPSG代码。 EPSG:4326 WGS 84
函数通过layer_property()
自动检测源图层CRS,并通过'crs'
自动检测当前图层名称。 @layer_name
和x()
返回当前y()
的坐标。如果图层已经在您要显示坐标的CRS中,则使用
$geometry
和$x
可以接受的答案仍然是最短的表达式。#8 楼
对于像我这样的用户,经过7年以上的努力,会有一个更好,更简单的答案。
这里> https://stackoverflow.com/a/51164270/9620153
评论
请注意,使用更新版本的QGIS(可通过OSGeo4W安装程序访问),您甚至无需将图层导出到新的CRS。您只需将地图画布的CRS更改为输出单位和CRS的任意选项,并在执行“导出/添加几何列”并输出到相同的shapefile时选中“使用Project CRS计算”即可。
– Maxim Dubinin
2012年3月31日14:40
仅供参考:“导出/添加几何列”可在菜单>矢量>几何工具>导出/添加几何列中找到
– clhenrick
16年2月25日在18:18