qgis开源GIS软件
Quantum GIS(QGIS)是开源地理信息系统桌面软件, 使用GNU(General Public License)授权,属于 Open Source eospatial Foundation(OSGeo)的官方计划。 在 GNU 授权下,开发者可以自行检阅与调整程序代码,并保障让所有使用者可以免费且自由地修改程序。
QGIS 的目标是成为一个 GIS系统,提供常见的功能与特征。借着核心特征提供基本功能与附加组件(Python 或 C++) 持续地扩充,让使用者可以浏览、管理、编辑、分析数据以及制图。
QGIS 是一群自愿者所开发的项目,为程序代码提供缺陷修复、报告以及文件等贡献。 它是由热心的使用者和开发社群所维护的。它提供了交互式的邮件列表, 以及通过网络管道传达给其他用户与开发人员帮助与建议。另外,它也提供商业定制化开发。
QGIS项目开始于2002年5月,是基于跨平台的图形工具Qt软件包,采用C++ 语言开发的一个GIS软件。 目前的开发非常活跃,当前Windows(2020年)的最新版本是QGIS 3.12版。
参考来源:Q3基础教程
kml与shape互转
KML 转 Shape
Open up the installed QGIS.
Select Layer in the menu bar and press Add Vector Layer or select the shortcut icon. Browse the KML file, in the Source DataSet type, in the pop up window opened.(While browsing, select either all files or Key Hole Markup language in file type). And press Open.
select layer from the menu and click on save as.
In the Save vector layer as window, Select the format from the drop down box as ESRI Shapefile(OGR) and browse the folder in which you want to save the shapefile. Name it and Press OK.
Reference: 1
Shape 转 kml
- Open up the installed QGIS.
- In the menu bar, select Layer and press Add Vector Layer. Now select the source type in the pop up window opened as File and browse the source Shapefile(Note:Your shapefile .shp, .dbf and .shx file should be in same folder). Press open.
- Right click on the name of Shapefile layer Appearing in the Left upper side and select save as:
or
You can select layer from the menu, and click on save as. (Image below provide demonstrate both the options with the indicator displayed) - In the Save vector layer as window, Select the format from the drop down box as Keyhole Markup Language(KML) and browse the folder in which you want to save the KML file . Name it and Press OK.
Your KML file will be Exported in the directed folder. You can Verify the generated KML file for its validity by uploading the generated KML file to QGIS or uploading KML file in Google map. You may soon find the tool and the coding for the same on this site.
- Reference: 1
导入谷歌、高德等地图卫星影像
- 安装QuickMapServices插件
打开QGIS,在菜单Plugins中选择Manage and Install Plugins…
搜索QuickMapServices,选中并点击Install,等待即可完成安装。
安装好后会在工具栏显示三个图标,选择带➕号的那个,打开即可看到大量底图,单击即可导入。
有些朋友可能发现底图并没有图片上展示的这么多,这是由于部分底图需要额外获取,选择底部的Settings→More services→Get contributed pack,即可完成获取。
批量替换字段值
- open attribute table (
F6) - open field calculator (
CTRL + I) - Inverse select
create a new fieldand Input follow expression
replace("地类",'裸地','植被')
Note that the double quotes indicate a field name while the single quotes refer to a static string. These are not interchangeable.
参考文献:
地物分类统计插件
Plugins -> Manage and Install Plugins... ->
搜索 并 安装 Group Stats
然后在 Vector 下找到 并 使用
Rows: 地类Columns: SumValue: Area
点击 Calculate ,结果在左上角,可点击 Data 另存为 *.CSV 文件。
参考文献:
矢量编辑
矢量裁剪
增加矢量图形
- 单击
编辑(铅笔形状)按钮,切换到编辑状态 - Add Polygon feature (
ctrl+.)
矢量挖洞
- 在大矢量范围内,增加一个矢量(需要挖掉的范围)
Vector菜单,->Geoprocess Tools,->Difference
调整矢量边界大小
- 单击
编辑(铅笔形状)按钮,切换到编辑状态 - Vertex Tool (),点一下,拖动到合适位置
编辑矢量要素
- 加载矢量文件
- 单击
编辑(铅笔形状)按钮,切换到编辑状态 - 在
编辑下拉菜单里面选择要进行的操作

例如 我希望在面要素里面划出一个空洞,
选择添加环工具
在选定的面要素上,画一个面,双击结束。最终形成一个带有空洞的面。
那么这个空洞又如何自动消除呢?
- 在处理工具箱的搜索栏里面搜索关键词
删除空穴 - 选择处理路径及名称
- 点击保存后运行
参考来源:白衣探马陈庆之
线状转面状地物
- 选择处理工具箱中的:
矢量几何图形 - 选择工具:
多边形化 - 输入存储面的信息
- 运行
计算周长和面积
打开字段计算器,选择新列并键入以下表达式
对于区域:$area
对于周长:$perimeter
设置测量默认单位
- 新建工程,打开
设置 - 打开里面选项。
- 打开里面
地图工具,里面的测量工具修改后就是默认的单位,字段计算器计算几何属性的时候按照这个里面的默认单位计算。
字段数据过滤与增删
从大量数据中对某一字段为特定值的进行过滤,此时可以使用filter进行属性过滤得到想要的数据,类似数据库查询的where语句
- 在非编辑状态,右键选中的图层,选择”过滤”
- 在弹出的”查询构建器”中,点击字段列表中某个,在右侧点击全部,可以获得该字段在图层的所有取值
- 在过滤表达式区域,可以参照SQL的WHERE子句设置过滤表达式,支持精确查找,模糊查找等过滤方式,
参考文献: young_always
ENVI分类后处理
- ENVI,
classification-Post Classification-Classification to Vector, select classified result,Raster To Vector parametersOutputsingle layer, andOK Available Vector List,File-Export layer to shapefile...- QGIS,
CTRL+L, Open ‘2010.shp’, Add - right click on ‘2010.shp’,
Export-Save Features As ...,2010-land.shp, repeat,2010-water.shp - 2010-land.shp,
toggle editing, select water area, then hitdeletekey, save - 2010-water.shp,
toggle editing, select water area,Edit-Edit geometry-delete part, then click on the area you need to remove, save - 2010-land.shp,
filed calculator,Expression, input$area, calculate feature area, input$perimeterand calculate feature perimeters - 面积-周长变化趋势表.xlsx
将文本坐标转换为矢量/kml
- 找到工具栏上的“添加文本数据图层”,或者在 菜单“
图层”->“添加图层”->“添加文本图层”,(上图红色位置)点击后弹出下图界面
- 选择保存的点坐标文件,由于文本文件中的坐标是由制表符隔开的,所以分隔符选择制表符,首行也不包括字段名称,所以也不勾选,几何图形定义选择点坐标,进行相应的选择时,下面的列表会实时进行预览,选择点坐标后,会提示选择x坐标和y坐标所在的列。如下图所示,选择完之后点击确定。

- 上图点击确定之后,会弹出选择空间参考的对话框,由于上面的点坐标是经纬度,所以直接在弹出坐标参考选择器重选择
WGS84即可,一般默认的也就是这个,如果你的点文件坐标是别的坐标系,选择对应的空间参考即可。
- 选择完毕之后确定,即可将数据加载到QGIS视图中。如下图所示,然后再左侧的图层右键,弹出菜单选择另存为,如下图所示:

- 点击另存为,弹出另存为对话框,选择保存的文件路径以及文件格式,最后确定即可,如下图所示:

参考文献:kong
快捷键
ctrl+d :删除所选图层ctrl+l :数据管理器ctrl+shift+h :隐藏所有图层ctrl+shift+u :显示所有图层F6 :字段编辑器
创建、编辑和修改 Shapefile 矢量文件
包括如何创建新的 Shapefile 图层,编辑现有图层,以及对矢量数据进行修改。
QGIS 3.22 中
1. 创建新的 Shapefile 矢量图层
1.1 创建新的 Shapefile 图层
- 打开 QGIS 3.22,确保已加载一个地图项目。
- 点击 图层 > 创建图层 > 新建矢量图层。
- 在弹出的窗口中,选择 Shapefile 作为文件格式。
- 选择 几何类型:
- 点:用于存储单个点数据。
- 线:用于存储折线数据。
- 多边形:用于存储多边形数据(如区域边界、湖泊等)。
- 设置 字段(可以为矢量图层定义属性,例如,名称、类别、数量等)。点击 添加字段 来添加需要的字段,并为每个字段定义名称、类型和长度。
- 点击 浏览 选择文件保存位置,设置 Shapefile 文件名称。
- 点击 OK 创建 Shapefile 图层。
1.2 加载新创建的 Shapefile
- 创建完成后,新图层会自动添加到 图层面板 中,并显示在地图中。
2. 编辑 Shapefile 矢量图层
2.1 进入编辑模式
- 在 图层面板 中,右键点击要编辑的 Shapefile 图层,选择 切换编辑模式(或点击工具栏中的铅笔图标)。
- 进入编辑模式后,您可以对矢量数据进行修改(例如,添加、删除、编辑要素)。
2.2 添加要素
- 在 数字化工具栏 中,选择 添加要素工具(如点、线或多边形工具)。
- 点击地图上的相应位置,开始绘制新的点、线或多边形。
- 完成绘制后,右键点击或双击以 完成绘制。
2.3 修改现有要素
选择要素:使用 选择要素工具(箭头图标),点击选中您想要修改的点、线或多边形。
节点编辑:
- 选择 顶点工具(或 节点工具),点击并拖动要素上的节点来修改其形状。
- 如果需要新增节点,右键点击线段并选择 插入节点,然后在需要的位置添加。
- 若要删除节点,选中节点后按 Delete 键删除。
修改属性:
- 右键点击选中的要素,选择 属性,修改相关字段值。
2.4 删除要素
- 使用 选择要素工具 选中您要删除的要素。
- 按 Delete 键,或右键点击选择 删除要素。
2.5 使用 “顶点工具” 编辑多边形(修改边界)
- 在 数字化工具栏 中,选择 顶点工具(或 节点工具)。
- 点击并拖动节点来修改多边形的边界。
- 右键点击边界,选择 插入节点 或 删除节点 来编辑多边形的形状。
3. 保存编辑并退出编辑模式
3.1 保存修改
- 完成编辑后,点击工具栏中的 切换编辑模式 按钮(铅笔图标)退出编辑模式。
- 系统会提示您是否保存更改,点击 是 保存您的修改。
3.2 导出为新的 Shapefile(可选)
- 如果您希望将编辑后的图层保存为一个新的 Shapefile,可以右键点击图层,选择 导出 > 保存为。
- 选择保存路径和文件名,然后选择文件格式为 Shapefile,点击 OK。
4. 小贴士和常见问题
- 撤销/重做:在编辑过程中,如果做错了操作,可以使用 Ctrl + Z 撤销,或者 Ctrl + Shift + Z 重做。
- 选择要素工具:在编辑时,始终使用 选择要素工具(箭头图标)来选择单个或多个要素进行编辑。
- 显示字段和属性:使用 属性表 来查看和修改要素的字段数据。
- 图层锁定:如果图层锁定或处于只读状态,不能进行编辑,确保您已进入 编辑模式。
- 快捷键:
- Ctrl + Shift + N:启动顶点工具。
- Ctrl + Z:撤销操作。
- Ctrl + Y:重做操作。
总结
在 QGIS 3.22 中,创建和编辑 Shapefile 图层的过程包括:
- 创建新图层,设置几何类型和字段。
- 进入编辑模式后,使用工具添加、修改、删除要素。
- 使用 顶点工具 来编辑边界,插入或删除节点。
- 编辑完成后保存并退出编辑模式,可以选择导出为新的 Shapefile。
根据矢量范围裁剪
在 QGIS 中,您可以使用矩形范围对图像(如栅格图像)进行裁剪。这通常包括绘制一个矩形范围,然后将其用作裁剪栅格的边界。以下是详细步骤:
方法 1:通过交互式绘制矩形进行裁剪
步骤 1:加载栅格数据
- 打开 QGIS。
- 点击菜单 图层 > 添加图层 > 添加栅格图层,选择您的图像文件加载到地图中。
步骤 2:绘制矩形范围
- 确保工具栏中启用了 绘图工具集(如果未显示,可以通过菜单 视图 > 工具栏 > 绘图工具 启用)。
- 点击工具栏上的 创建新矢量图层 按钮:
- 文件类型:选择 临时图层 或 GeoPackage。
- 几何类型:选择 多边形。
- 在地图上手动绘制一个矩形:
- 点击工具 添加要素(或 绘制矩形)。
- 在地图上按住鼠标左键并拖动,绘制一个矩形。
- 双击结束绘制并保存要素。
步骤 3:使用矩形范围裁剪栅格
- 打开工具箱:点击 处理 > 工具箱。
- 搜索 裁剪栅格(clip raster by mask layer)。
- 在弹出的窗口中设置:
- 输入图层:选择您的栅格图像。
- 掩膜图层:选择您绘制的矩形范围。
- 裁剪选项:可以选择保存为临时文件或指定输出文件路径。
- 点击 运行,完成裁剪。
步骤 4:查看结果
裁剪后的图像将加载到地图中。根据需要导出裁剪结果到本地文件。
方法 2:手动输入矩形范围进行裁剪
如果您知道矩形范围的坐标(如经纬度或投影坐标),可以直接输入范围值进行裁剪。
步骤 1:获取图像的范围
- 右键点击栅格图层,选择 属性。
- 在 信息 选项卡中,查看图层的范围(extent)。记下最小/最大 X 和 Y 值。
步骤 2:裁剪栅格
- 打开工具箱:点击 处理 > 工具箱。
- 搜索 裁剪栅格(clip raster by extent)。
- 设置参数:
- 输入图层:选择栅格图像。
- 裁剪范围:选择 用户自定义范围。
- 输入矩形范围的最小/最大 X 和 Y 值。
- 输出文件:选择保存位置。
- 点击 运行,完成裁剪。
方法 3:利用矢量范围文件裁剪
如果您已经有一个矢量文件(如 Shapefile 或 GeoJSON)定义了矩形范围,可以直接使用该矢量文件裁剪栅格。
步骤
- 确保矢量文件和栅格图像具有相同的投影(EPSG)。
- 如果不一致,右键矢量图层,选择 导出 > 另存为,在导出时重新定义投影。
- 使用 裁剪栅格(clip raster by mask layer) 工具:
- 输入图层:选择栅格图像。
- 掩膜图层:选择矢量文件。
- 输出文件:选择保存位置。
- 点击 运行,完成裁剪。
提示
- 如果栅格较大,裁剪操作可能耗费较长时间,确保您的系统有足够的内存。
- 如果裁剪结果包含多余的透明区域,可以使用 裁剪到内容(clip to content) 工具优化输出。
- 裁剪时请注意图像的分辨率(像素大小),可以在工具参数中选择是否调整分辨率。







