日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

加載矢量數據

本文介紹如何將矢量數據加載到Ganos中,建議您使用的工具為shp2pgsql、ogr2ogr或QGIS。

準備工作

在加載矢量數據之前,請確保在數據庫中已輸入如下命令,來創建ganos_geometry擴展:

CREATE EXTENSION ganos_geometry CASCADE;

shp2pgsql命令行工具

shp2pgsql命令行工具是一個將Esri Shapefile文件轉換為SQL文件的命令行工具。通過將shapfile轉換為SQL文件,可以實現將Shapefile數據加載到Ganos中。

  • 語法

    說明
    • 如果您已經安裝了PostGIS,那么shp2pgsql工具默認包含在PostGIS安裝包中。您可以從PostGIS官方網站下載適用于您操作系統的安裝包,并按照安裝指南進行安裝。

    • 如果您使用的是Linux操作系統,您可以嘗試通過包管理器安裝PostGIS。以CentOS為例,使用yum -y install postgis命令,即可獲取shp2pgsql工具。

    shp2pgsql -s <srid> -c -W <charset> <path_to_shpfile> <schema>.<table_name> | psql -d <dbname> -h <host> -U <user_name> -p <port>
  • 參數說明

    參數名稱

    描述

    示例

    -s <srid>

    空間參考ID。

    4490

    -c

    創建一張新表。

    您也可以選擇其他模式:

    • -a:追加

    • -d: 加載數據之前先刪除表

    • -p: 僅創建表結構SQL,不寫入空間數據

    -W <charset>

    shapefile字符集。

    "GBK" 或 "UTF8"

    <path_to_shpfile>

    shapefile 文件路徑,需要被shp2pgsql命令工具訪問到。

    /home/roads.shp

    <schema>.<table_name>

    創建的geometry表的名稱。

    public.roads

    -d <dbname>

    數據庫名稱。

    mydb

    -h <host>

    數據庫實例地址。

    pgm-xxxxxxx.pg.rds.aliyuncs.com

    -U <user_name>

    用戶名。

    my_name

    -p <port>

    端口號。

    5432

  • 示例

    5432shp2pgsql -s 4490 -c -W "GBK" /home/roads.shp public.roads | psql -d mydb -h pgm-xxxxxxx.pg.rds.aliyuncs.com -U my_name -p 5432
    說明

    如果需要在腳本中批量導入,為防止頻繁提示輸入密碼,可以在腳本中設置環境變量PGPASSWORD:export PGPASSWORD=my_pass

ogr2ogr命令行工具

ogr2ogr是GDAL/OGR提供的矢量數據轉換工具,支持Esri Shapefile,MapInfo和FileGDB等常見矢量數據類型。矢量數據類型參見矢量數據類型

說明

使用ogr2ogr命令行工具加載矢量數據,請先確保GDAL支持postgis驅動格式。

  • 語法

    說明
    • 如果您已經安裝了GDAL,那么ogr2ogr工具默認包含在GDAL安裝包中。您可以從GDAL官方網站下載適用于您操作系統的安裝包,并按照安裝指南進行安裝。

    • 如果您使用的是Linux操作系統,您可以嘗試通過包管理器安裝GDAL。以CentOS為例,使用如下命令,即可獲取ogr2ogr工具。

      sudo yum install epel-release
      sudo yum install gdal gdal-devel
      ogr2ogr --version
    ogr2ogr -nln <table_name> -f PostgreSQL PG:"dbname='<dbname>' host='<host>' port='<port>' user='<user_name>' password='<password>'" -lco SPATIAL_INDEX=GIST -lco FID=<FID_NAME> -overwrite "<PATH_TO_FILE>" -nlt GEOMETRY
  • 參數說明

    參數名稱

    描述

    示例

    -nln <table_name>

    矢量表名稱。

    roads

    -f PostgreSQL PG:"dbname='<dbname>' host='<host>' port='<port>' user='<user_name>' password='<password>'"

    PostgreSQL連接信息。

    dbname='mydb' host='pgm-xxxxxxx.pg.rds.aliyuncs.com' port='5432' user='my_name' password='my_pass'

    -lco SPATIAL_INDEX=GIST

    指定需要創建GisT空間索引。

    -lco FID=<FID_NAME>

    指定fid名稱。

    fid

    -overwrite

    改寫模式。

    您也可以選擇其他模式: -append追加模式。

    <PATH_TO_FILE>

    矢量數據文件路徑,請確保ogr2ogr命令行工具擁有訪問權限。

    /home/roads.shp

    -nlt GEOMETRY

    指定幾何類型為geometry,在加載多邊形時建議指定,防止出現multipolygon類型與非multipolygon在同一個文件中加載出錯問題。

  • 示例

    ogr2ogr -nln roads -f PostgreSQL PG:"dbname='mydb' host='pgm-xxxxxxx.pg.rds.aliyuncs.com' port='5432' user='my_name' password='my_pass'" -lco SPATIAL_INDEX=GIST -lco FID=fid -overwrite "/home/roads.shp" -nlt GEOMETRY

QGIS桌面工具

QGIS(原稱Quantum GIS)是一個用戶界面友好的開源桌面端軟件,支持多種矢量、柵格格式以及數據庫作為數據源,同時支持數據的可視化、管理、編輯、分析以及印刷地圖的制作。

  1. 創建Ganos連接。

    1. Browser窗口中,右鍵PostgreSQL,單擊New Connection...,創建連接。image.png

    2. 填入必要參數。

      image.png

      參數說明如下:

      參數名稱

      描述

      Name

      自定義連接。

      Host

      數據庫實例的IP地址或RDS或PolarDB外網地址,可以從aliyun控制臺中獲得。

      Port

      數據庫實例的端口地址,可以從aliyun控制臺中獲得。

      Database

      需要連接的數據庫名。

      SSL Mode

      是否使用SSL加密連接。

    3. 單擊Test Connection,在彈出的Enter Credentials窗口中輸入UsernamePassword,單擊ok,等待連接成功。

    4. 測試連接成功后,單擊ok,完成創建。

  2. 加載矢量數據。

    1. 單擊菜單欄Database > DB Manager..

    2. 在彈出的數據庫連接對話框中,選擇需要導入的數據源并單擊Import Layer/File...

    3. 在彈出的導入矢量數據對話框中,指定需要導入的矢量數據并設置導入選項,最后單擊OK執行導入操作。