亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

gdaltools 將 geojson 點導出為多點

gdaltools 將 geojson 點導出為多點

慕桂英546537 2021-11-02 17:13:38
我有一些使用 gdaltools python 模塊將 geojson 文件轉換為 postgis 的 python 代碼。ogr = gdaltools.ogr2ogr()ogr.set_encoding("UTF-8")print("Setting Input")ogr.set_input(file_name, srs="EPSG:4326")gdaltools.Wrapper.BASEPATH = os.environ['GDAL_PATH']print("Setting Conn")conn = gdaltools.PgConnectionString(host=os.environ['DB_HOST'],                                    port=os.environ['DB_PORT'],                                    dbname=os.environ['DB_NAME'],                                    user=os.environ['DB_USERNAME'],                                    password=os.environ['DB_PASSWORD'],                                    schema=str(self.table_prefix) + "_" + str(code))print("Setting Output")ogr.set_output(conn, table_name=table, srs="EPSG:27700")print("OGR Execute")ogr.execute()GeoJSON 包含類型為點的幾何圖形"geometry": {    "type": "Point",    "coordinates": [        -1.0600739160455448,        51.53592123798526    ]}從數據庫導出數據時,我看到的是它似乎從 geojson 中的 Point 類型轉換為數據庫中的 Multipoint 類型。將幾何圖形從一個表加載到另一個表時 - 沒有轉換 - 我收到以下錯誤:Geometry type (MultiPoint) does not match column type (Point)關于 ogr2ogr 為什么從 Point 投射到 Multipoint 的任何想法?
查看完整描述

2 回答

?
慕容708150

TA貢獻1831條經驗 獲得超4個贊

實際上,該模塊有一種處理這個的方法并不明顯,在 pygdaltools 模塊中,任何將要發送到 PostgreSQL 或 Postgis 的幾何圖形都會自動設置為 MULTIPOINT。要覆蓋它,請添加以下代碼 ogr.geom_type = 'POINT'


查看完整回答
反對 回復 2021-11-02
?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

您可以使用該選項 -nlt POINT

這樣做會強制輸出數據類型為該POINT類型,而不是MULTIPOINT您當前獲得的類型。


查看完整回答
反對 回復 2021-11-02
  • 2 回答
  • 0 關注
  • 458 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號