日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

postgis安装_从零开始,构建电子地图网站:0_2_数据处理postgis

發布時間:2023/12/1 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 postgis安装_从零开始,构建电子地图网站:0_2_数据处理postgis 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

軟件安裝完,開始數據處理。

從China Historical GIS下載一份數據。

一、數據下載

數據來源:

China Historical GIS:

https://sites.fas.harvard.edu/~chgis/data/chgis/v6/

先下載一份時間序列數據:

Download CHGIS V6 TIME SERIES Data

https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/Q9VOF5

V6 Time Series Prefecture Points

https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/WW1PD6

V6 Time Series Prefecture Polygons

https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/I0Q7SM

二、數據查看

這份數據是shp格式的。打開QGIS看一眼數據。

QGIS教程參看:https://blog.csdn.net/u014397092/article/details/89403468

因為只是看一眼,所以XYZ Tiles加載一下OpenStreetMap就可以了。

把下載好的數據v6_time_cnty_pts_utf_wgs84.shp加載進去,utf是編碼格式,wgs84是坐標系。

v6_time_cnty_pts_gbk_wgs84.shp和v6_time_cnty_pts_utf_wgs84.shp內容一樣,就是編碼不一樣。

Layers——Open Attribute Table,打開屬性表,查看一下,如果是亂碼,可能編碼不兼容,換utf的shp或gbk的shp。

下圖是點。

把其他數據都加載進來,保持坐標系與編碼統一。

其中:

v6_time_cnty_pts_gbk_wgs84.shp

歷史行政區劃點,到縣一級。

v6_time_pref_pts_gbk_wgs84.shp

歷史行政區劃點,到州一級。

v6_time_pref_pgn_gbk_wgs84.shp

歷史政區面。

三、數據入庫

1.初始化數據庫

先下載安裝navicat用來連接pg庫。

安裝教程參見:https://blog.csdn.net/tqs314/article/details/80760401

Navicat連接pg庫參見:https://jingyan.baidu.com/article/642c9d34ea3ada644a46f7ad.html

因為我之前裝postgresql和postGIS的時候,忘了端口號,也忘了初始化數據庫,所以……

沒關系,卸載,重新安裝一下就好了。

如果數據庫初始化失敗,打開cmd。

Cd 到安裝目錄下,C:PostgreSQL10bin。

initdb -D 數據庫保存路徑。

安裝postGIS的時候,確保路徑是在postgresql下:C:PostgreSQL10。

Win10安裝postgresql和postgis的時候,確保安裝路徑下沒有空格,既沒有這樣的program files。

2.空間擴展

用navicat打開數據庫postgres,就是初始化的數據庫。

新建查詢,執行CREATE EXTENSION postgis,為數據庫添加空間擴展。

會發現數據庫中多了一個表spatial_ref_sys。

3.用PostGIS工具上傳shp

用PostGIS Shapefile Import/Export Manager工具上傳shp。

我們把utf8編碼格式、wgs84坐標系的文件上傳數據庫,因為數據庫一般都是utf-8編碼的。

v6_time_cnty_pts_utf_wgs84.shp

v6_time_pref_pts_utf_wgs84.shp

v6_time_pref_pgn_utf_wgs84.shp

首先打開PostGIS Shapefile Import/Export Manager,點擊View connection details,打開PostGIS connection,輸入賬號密碼,連接數據庫。

Import——Add File,選擇3個shp文件,然后點擊Import。數據就導入pg庫了。

就此,數據入庫就結束了。

4.用QGIS看pg庫中的數據

可以用QGIS連接一下數據庫,看看效果。

先給QGIS加一個地圖瓦片。

Browser——XYZ Tiles——右鍵——New Connection,打開 XYZ Connection。

把瓦片url粘貼進去。

http://webrd01.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scale=1&style=8

QGIS連接postgresql。

打開Data Source Manger,選擇Vector,選擇Database,下拉選擇PostgreSQL,選擇new,輸入Connection Information,輸入User name和Password,勾選store,Test Connection,顯示連接成功,ok,ok,add。

看效果還可以。

5.用sql查看數據

Navicat打開一個表,看geom列,都是這樣的內容:0101000000A265DD3F16C55B4088963C9E96814340,geometry對象是geohash編碼的。

寫個sql看看:SELECT st_astext(geom) FROM v6_time_cnty_pts_utf_wgs84 LIMIT 1

至少知道坐標了:POINT(111.079483 39.012409)

其他表再看看。

SELECT st_astext(geom) FROM v6_time_pref_pgn_utf_wgs84 LIMIT 1

MULTIPOLYGON(((113.549411712145 36.7545434898289,113.543285553768 36.7521524539279,113.560044728209 36.7134634435762,113.55651873219 36.7287158304727,113.552914744172 36.7456842597138,113.549411712145 36.7545434898289)))

SELECT st_astext(geom) FROM v6_time_pref_pts_utf_wgs84 LIMIT 1

POINT(111.076347 39.017826)

用postgis就能把數據都導入postgresql里面,也不用寫程序了。

但這樣就無處顯示我會寫python了。

接下來看看,怎么用python寫個腳本導入數據。

總結

以上是生活随笔為你收集整理的postgis安装_从零开始,构建电子地图网站:0_2_数据处理postgis的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。