地理服务器无法识别空间列

Posted

技术标签:

【中文标题】地理服务器无法识别空间列【英文标题】:Geoserver not recognizing spatial column 【发布时间】:2011-10-21 19:17:53 【问题描述】:

我正在使用 Geoserver 和 SQL Server 2008。

我有一个表,其中有一列 [geography] 类型。我可以看到显示在 Geoserver 中的表格(我已经安装了 SQL Server 的扩展),但它将该列识别为 byte[] 类型而不是 geography。

有人可以建议我解决这个问题吗?

与上一篇文章一样,我曾多次尝试在 Geoserver 中删除和重新附加数据库。 SQL 服务器还显示数据属于地理类型并且正确映射它。只是 Geoserver 将数据视为 byte[]。

我正在使用这个 sql 语句将 lat long 列转换为地理。

更新 [TestData].[dbo].[ShowMap] SET [Geo] = geography::Point([Latitude], [Longitude], 4326) 去吧

【问题讨论】:

【参考方案1】:

所以我找到了解决这个问题的方法。 Geoserver 只能识别 SQL Server 中的 Geometry 数据类型。当您有一个数据类型为 Geography 的列时,Geoserver 会将其识别为 byte[]。

几何数据类型的工作方式与地理相同。

【讨论】:

仅供参考,使用 Geoserver 和 PostGIS 创建 SQL 视图时,Geoserver 只能将几何数据类型列识别为空间数据。这仅适用于 SQL 视图,如果只想发布一个没有任何用户定义的 SQL 的表,那么 Geoserver 即使对于具有地理数据类型的列也可以正常工作。 不,Geoserver 无法识别 Geography 数据类型!它被视为 byte[],因此所有地理特征都不起作用。

以上是关于地理服务器无法识别空间列的主要内容,如果未能解决你的问题,请参考以下文章

Google地理编码API无法识别某些邮政编码

Google 地理编码 API 无法识别某些邮政编码

为啥 python 无法识别数据集中的月份列?

Fluent 断言命名空间无法识别

连接列无法识别实体关系

名称空间无法识别(即使它存在)[重复]