QGIS基本功 | 21 QGIS工程文件属性设置(2)——坐标参照系、变换、默认样式、数据源、关系和变量

本文介绍了QGIS工程文件的属性设置,涵盖坐标参照系、变换、默认样式、数据源、关系和变量六个方面。坐标参照系决定地图窗口的投影,影响数据的正确叠加显示;变换涉及不同坐标系间的动态投影,QGIS自动选择最精确方式;默认样式定义新图层的绘制方式;数据源设置影响编辑同步和默认值计算;关系定义了图层间的1:n关联;变量则包含表达式中可访问的全局和工程特定变量。
摘要由CSDN通过智能技术生成

今天继续分享工程文件属性的设置,包括工程坐标参照系、变换、默认样式、数据源、关系和变量六个部分。

 

 01 坐标参照系

 

工程坐标参照系定义了当前地图窗口所使用的坐标系,决定了如何将数据从其底层原始坐标绘制到QGIS地图画布中,并呈现为平面地图。

 

QGIS支持自动动态投影,不管图层自带的坐标系是否与工程坐标系相同,均可自动重投影到当前工程坐标系,使数据可以正确叠加显示,这个过程对用户是完全透明的。因此,工程坐标系是各个图层正确显示的基础,为了使地图减少形变、正确反应现实世界地物的大小和相互之间的位置关系,应选择适合于制图区域的工程坐标系。通常,各个国家和地区均有自己的坐标系选择标准,区域研究的前置任务之一是确定和选择符合该地区标准的坐标参照系。

 

工程坐标系设置通过坐标参照系选择器实现:

 

 

  • 无坐标参照系(或未知/非地球投影)

 

勾选该选项相当于禁用QGIS坐标系处理,将所有图层坐标当成与地理位置无关的直角坐标对待,常用于基于原始坐标猜测图层所采用的坐标系、角色扮演游戏中的游戏地图、建筑物等微观地图。

 

使用无坐标参照系时,图层绘制前不再进行动态重投影,而是直接使用原始坐标数值在屏幕上绘制其位置;椭球体锁定为None/Planimetric;量算距离和面积单位、以及坐标显示使用“未知单位”,所有量算均以未知地图单位进行,不可修改,且量算结果不能转换为其他单位。

 

  • 过滤器

 

根据用户输入的关键字可以对坐标系的EPSG代码、坐标系名称、坐标系标识符进行模糊匹配,快速查找到需要的坐标系。

 

  • 最近使用过的坐标参照系

 

列出最近使用过的坐标参照系,点击任意坐标系可以将其设置为工程坐标参照系。

 

  • 预定义的坐标参照系

 

列出QGIS支持的所有坐标参照系,包括地理坐标系和投影坐标系两个大类。

 

  • 文本框

 

只读坐标系的WKT文本和Proj文本,在Proj引擎对坐标系的处理时使用。

 

  • 预览框

 

当前选中的坐标系有效使用范围。

 

 02 变换

 

QGIS默认使用动态投影,即不同坐标系的数据可以自动重投影到工程坐标系,当从源坐标系到目标坐标系有多种不同的重投影变换方式时,QGIS自动选择最精确方式。然而,有时最精确的方式需要提供额外的参数或者额外操作,此时将根据【变换】中的设置进行处理。

 

存在多个时询问基准面变换(全局设置中定义):

 

勾选后,当源坐标系到目标坐标系存在多种可用的基准面变换时,将弹出对话框让用户选择对工程使用何种基准面变换。如下图:

 

 

### 如何在QGIS中更改shp文件的坐标参考系统(CRS) 当处理未知坐标的shp数据时,直接转换到目标坐标系可能会出现问题。因此,在执行任何变换之前,确认源坐标系非常重要[^1]。 #### 确认源坐标系 对于未知CRS的shp文件,可以尝试通过多种方式来推测其可能使用的坐标系: - **元数据分析**:检查是否有其他伴随文件提供了有关坐标系统的线索。 - **地理特征判断**:基于地理位置和形状推断最有可能采用的标准投影方法。 - **咨询提供者**:联系数据发布方获取确切信息是最可靠的方法之一。 一旦确定了原生坐标系,就可以安全地将其重新投影至所需的目标空间参照框架内。 #### 更改SHAPES文件中的CRS 假设已经知道了原始坐标系,则可以在QGIS中按照以下说明操作以改变shp文件的CRS: 1. 加载待修改的shp文件作为新图层进入QGIS工作区; 2. 使用右键菜单选择该图层并点击`Set Layer CRS`,这里应指定实际已知的输入坐标系统而非最终想要达到的那个; 3. 接着再次利用相同路径下的选项`Reproject Layers...`; 4. 在弹出对话框里设定输出坐标系为目标EPSG代码(例如EPSG:4490),然后保存结果为新的shapefile或其他格式。 需要注意的是,上述过程中第二步仅适用于确实知晓原有坐标体系的情形;如果不确定的话则不应随意设置以免引入错误。 另外,如果有涉及到三维要素(带Z/M值),那么还需要先移除这些额外维度再做进一步处理[^3]。 ```python import processing processing.run("native:reprojectlayer", {'INPUT':'path_to_input.shp','TARGET_CRS':QgsCoordinateReferenceSystem('EPSG:4490'),'OUTPUT':'path_to_output.shp'}) ``` 这段Python脚本展示了如何借助PyQGIS API实现自动化批量重投影任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值