QGIS練手 - 數據

又熬夜了...sql

這篇博客可能會將QGIS數據管理部分和ArcGIS數據管理進行對比學習。數據庫

1. 本地數據文件與數據庫(矢量)

1.1 文件

QGIS用的是shp文件、kml文件、geojson文件較多,gml也可...json

ArcGIS不用說,幾乎全都支持(請放棄使用遠古的Coverage格式···)數據結構

當前最通用仍是shp文件,不是由於它性能優秀,是由於歷史緣故。工具

1.2 本地數據庫

QGIS我目前使用了GeoPackage這個本地數據庫,它有3個子文件組成:*.gpkg、*.gpkg-wal、*.gpkg-shmpost

ArcGIS本地數據庫有兩種,mdb已經不推薦了,大多數時候仍是gdb性能

ps:ArcGIS內置的數據結構規定了ArcGIS的數據庫只能是面向對象的。學習

1.3 關係數據庫

爲了提升性能,通常採用關係數據庫。插件

QGIS我目前已經學會Postgresql的PostGIS插件,一般稱爲PostGIS數據庫對象

此外,QGIS還支持SpatialLite、SQLite、MySQL、Oracle、DB2這些數據庫MS

ArcGIS在ArcSDE的支持下,幾乎全部的第三方關係數據庫均可以鏈接上去,可是不必定是最新版本

 

PostGIS提供了一款shp/dbf2postgis工具,支持dbf或者shp文件(必須英文名)導入導出PostGIS數據庫

2. QGIS數據編輯

確定會有數據編輯的時候,我目前作過的操做是

在本地建立GeoPackage數據庫和矢量數據,編輯完成後轉存到PostGIS數據庫裏。

矢量數據編輯無非就兩種數據

第一種就是地理信息數據,也叫空間數據,通常在關係數據庫或者ArcGIS屬性表裏以幾何字段表示,這就是這份數據的幾何信息。

第二種就是非空間數據,也叫屬性數據。即關係數據庫裏的表或者ArcGIS屬性表的其餘列,能夠存儲對應的空間數據下的其餘信息。

(bb一句,空間分析圍繞着空間數據和非空間數據展開,能夠只分析空間數據,也能夠只分析非空間數據,固然也能夠兩者結合一塊兒分析)

固然也有一種簡便的空間數據編輯方法,即直接對PostGIS裏的矢量數據(被稱做表)進行編輯。

2.1 PostGIS矢量數據編輯

概念:模式。

模式就是一個虛擬的目錄。打個比方,見下圖

PracDB數據庫下就有5個模式,這至關於ArcGIS裏的要素數據集;而模式下的表即對應ArcGIS要素數據集下的要素類。只不過,ArcGIS要素數據集下的要素類遠遠不止普通的矢量數據罷了。

我在PracDB數據庫下新建了一個MyGZApp模式;其餘四個模式是PostGIS模板必須的模式,在不知道具體構成的狀況下,我先不改動這四個模式下的數據,建立本身的模式用於管理數據。

在QGIS3.4中,使用數據庫工具(或者菜單欄上的數據庫管理工具)便可進行PostGIS數據庫的數據操做。

使用表格菜單,能夠建立普通數據表,也能夠建立帶幾何字段的空間矢量數據,也能夠導入支持的全部類型的數據。

在建立表的時候,就能夠指定非空間數據所定義的列的信息了,好比列名(即屬性名)、列數據類型(整形浮點型文本型日期型等)、數據長度等。

建立空間數據時,須要指定幾何數據,不然就是普通的表格了。上圖中點矢量和普通表格的圖標仍是不一樣的(在MyGZA...那個模式下)

在這個表格菜單下的「編輯表格」按鈕,也能夠對已有的矢量數據進行列編輯,增刪改均可以(見下圖)。

注意:普通數據表在瀏覽面板裏是看不到的:

當前,貌似不支持手工輸入座標新建點,可是能夠用頂點編輯工具修改座標值:

激活這個工具,右鍵須要編輯的頂點,就能夠編輯其xy座標了,x是經度,y是緯度(假如你用的是GCS)

 

未完待續(還想試試導入csv或者其餘數據)

相關文章
相關標籤/搜索