[英]How to get the Nth LineString from a MultiLineString in PostGIS?
[英]How to change geometry type from LINESTRING to MULTILINESTRING in a Postgresql database layer in QGIS
我在 shapefile 層中合並了行,需要將它們復制到 postgreSQL 數據庫層。 如果我將它們粘貼到 pg db 層,它就不起作用。 如果我合並它們,在我粘貼到 QGIS 后,它會崩潰。 我發現它可以工作,如果我將 pg db 層導出到地理包或 shapefile 層並將幾何從線串設置為多線串。 問題是我需要將它帶到數據庫層。 任何人都可以給我一個提示,我如何以正確的方式配置數據庫層?
謝謝!
我將更改 PostgreSQL 中的幾何類型,而不是在 geopackage 或 shapefile 中。 問題似乎出在幾何類型列中。 你可以用它來改變它:
ALTER TABLE [table_name]
ALTER COLUMN [geometry_column] TYPE geometry(MULTILINESTRING) USING ST_Multi([geometry_column]);
或者
您可以在 PostgreSQL 中導入這些行而不合並它們,並在更改列的幾何類型時使用 postgis 合並它們:
ALTER TABLE [table_name]
ALTER COLUMN [geometry_column] TYPE geometry(MULTILINESTRING) USING ST_Union([geometry_column]);
此外,這可能會對您有所幫助: https://gis.stackexchange.com/questions/68071/how-to-create-a-multilinestring-feature-with-a-postgis-layer-in-qgis
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.