需求:
將帶有經度、緯度(WGS84坐標系)坐標的文本(*.txt)轉換成指定投影坐標系的shp文件並計算x,y坐標。
環境和工具:
WIN10、QGIS2.16、帶有經緯度坐標的文本。格式如下圖:
1、創建矢量圖層
打開QGIS,選擇Layer-->Add Layer-->Add Delimited Text Layer 菜單,如下圖所示:
2、導入文本坐標
彈出創建圖層對話框,選擇帶有坐標的文本文件,選擇自定自定義分割符(Custom delimiters),選擇空格(Space),在X field和 Yfield下拉框中選擇對應的x、y坐標,然后點擊確定,如下圖所示:
3、選擇坐標系
點擊確定之后需要選擇坐標系,這里選擇WGS 84地理坐標系 在Filter搜索框中輸入:WGS 84 選擇EPSG:4326的坐標系,如下圖所示:
4、另存矢量圖層到本地計算機
這樣數據就被導入進來了,然后另存數據,選中導入的圖層,右鍵,選擇Save As,如下圖所示:
5、設置導出圖層參數
打開另存為對話框,這里導出的格式為ShapeFile。填寫好文件路徑和坐標系之后,點擊確定就可以導出了,導出后文件會自動加載到QGIS中,如下圖所示:
6、打開屬性表
右鍵打開shp圖層的屬性表,如下圖所示:
7、打開字段計算器
打開屬性表后開始計算X、Y坐標,點擊屬性表上面的:字段計算器(Calculator),如下圖所示:
8、計算X投影坐標
打開字段計算器后開始計算要素的投影坐標,選擇Create a new field,輸入字段名稱,字段類型和精度之后、在row_number目錄樹中選擇Geometry節點下面的$x用來計算要素的x坐標。雙擊,將計算公式添加到左側的計算框中,計算框下方會出現輸出預覽(Output preview),來查看輸出結果是否正確,如果出現紅色字體提示則出現了計算錯誤。然后點擊確定即可得到計算結果。如下圖所示:
計算結果如下圖所示:
9、計算Y投影坐標
計算Y坐標同理,如下圖所示:
PS:
這里說一下同樣是x,y,為什么坐標不一樣。
因為他們使用的坐標系不一樣,文本里面的經緯度使用的是WGS 1984 地理坐標系,也是球面坐標系。而轉換后的坐標系是墨卡托(Web Mercator)投影坐標系,是平面坐標系。他是將球面坐標經過一定的投影規則轉化成平面坐標的。
想更加深入的了解坐標系可以自行百度,或者瀏覽以下博客: