【问题标题】:Can't export all rows of table to shapefile in postgis (mixed geometry types)无法将表格的所有行导出到 postgis 中的 shapefile(混合几何类型)
【发布时间】:2016-03-22 08:49:19
【问题描述】:

我在 postgis 中工作并创建了一个以 LineStrings 作为几何图形的表。我一直在使用 postgis,并且习惯于使用插件 Postgis Shapefile 和 dbf loader 将表保存到 shapefile。由于某种原因,我现在所指的表格给出了错误

使用配置导出:表、架构、表错误:表中不兼容的混合几何类型 表导出失败。

Whit QGIS 我尝试将其保存为 shapefile。它确实成功但不包括我的表的 6 行。这些行的几何形状与其他行的不同。有效的以 010500002 开头,而无效的则以 01020000E 开头。我在下面添加了两个示例。

知道如何修复我的 geom 以便可以将表格导出为 shapefile 吗?

作品 “0105000020407100000100000001020000002A0000007F6ABC74D1C6F140A4703D0AFFA81A41560E2DB2C1C6F140A4703D8A09A91A41105839B4A4C6F1404C37894121A91A416DE7FBA989C6F140C520B0F239A91A41FED478E976C6F140C1CAA1C54AA91A414C37894168C6F1401D5A64BB5AA91A413108AC1C56C6F140B6F3(...)” P>

不工作 “01020000E0407100001C000000A01A2FDDE1E908411283C0CAD89A1E41F4FDD478E9260240000000004049F240EE7C3F353BEA0841CBA14536CE9A1E41894160E5D02202405839B4C8F649F240448B6CE7A9EA08411F85EBD1C19A1E411F85EB51B81E024054E3A59BD84AF2409EEFA7C645EB0841068195C3B19A1E417F6ABC(...)” P>

【问题讨论】:

  • 将此 sql 语句的输出添加到答案中:SELECT DISTINCT ST_geometryType(your_geom_column) FROM your_table。 (请调整 your_geom_column 和 your_table:更改为您的实际表和列名称)
  • 谢谢我确实有一个观点!

标签: postgis shapefile qgis


【解决方案1】:

我解决这个问题的方法是过滤掉我想要导出或期望存在于我的表上的几何类型。

使用上面提到的相同函数,我们可以这样写。

SELECT * FROM your_table WHERE ST_GeometryType(your_geom_column) = 'ST_LineString'

【讨论】:

    【解决方案2】:

    下次您应该使用 ST_AsText(geometry) 将永无止境的序列转换为可读的 Well-Known-Text。在 WKT 中,您可以看到不同的几何类型。

    SELECT ST_AsText(your_geom_column) FROM your_table 
    

    在这里阅读: ST_AsText Well-known-text

    【讨论】:

      【解决方案3】:

      通过以下语句,您可以找出表中的几何类型。

      SELECT DISTINCT ST_geometryType(your_geom_column) FROM your_table 
      

      在我的情况下,我发现我的表中有一个点有很多线串。我查看了 QGIS 中的点,发现我不需要它并将其从表中删除。之后导出工作并修复。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-08-09
        • 1970-01-01
        • 2017-07-27
        • 2016-01-17
        • 1970-01-01
        • 2016-03-07
        • 2021-06-28
        • 2015-04-28
        相关资源
        最近更新 更多