【问题标题】:Can not query table with type double precision[] from PostGis with geotools无法使用 geotools 从 PostGis 查询类型为双精度 [] 的表
【发布时间】:2015-02-19 14:59:19
【问题描述】:
  • Postgres 9
  • Postgis
  • GeoTools 12.2

在 Java 后端,我尝试通过 geotools 进行查询。在我尝试使用“双精度 []”类型的属性进行查询之前,它工作正常。

第一个 geotools 记录警告:

org.geotools.jdbc.JDBCFeatureSource buildFeatureType
WARNING: Could not find mapping for '<my column name>', ignoring the column and setting the feature type read only

然后在某个深处,或多或少在 PostGISDialect 级别附近,它会抛出 NullPointerException。我试图调试整个事情,我发现对于 JDBCFeatureSource,“双精度 []”是“_float8”(typeName),而 sqlType 是“2003”(这是 java.sql.Types 中的 ARRAY)。并且 JDBFeatureSource 找不到 _float8 和 SQL ARRAY 类型的绑定。 如果我可以使用自己的数据类型扩展 geotools,我试图找到一些信息,但我失败了。有谁知道如何在 geotools 中使用“双精度 []”类型?

【问题讨论】:

    标签: java postgresql geotools


    【解决方案1】:

    Ciao, 简单地说,你现在不能。

    更长的解释,我认为 GeoTools PostGISDialect 中没有针对该类型数据的映射器。你可能想为它提供一个补丁,它应该不会太难。

    西蒙娜。

    【讨论】:

    • 感谢您的回答。我可能会尝试写一个补丁。如果您能给我一些提示,我将不胜感激,我可以从哪里开始观看代码。 PostGISDialect 类是一个好的起点吗?
    • 我想是的。然后我会将讨论带到 ML 以获得一些额外的信息。西蒙娜。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多