Geoserver 无法识别空间列

问题描述 投票:0回答:2

我正在使用 Geoserver 和 SQL Server 2008。

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

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

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

我正在使用此 sql 语句将纬度长列转换为地理。

更新[测试数据].[dbo].[显示地图] SET [地理] = 地理::点([纬度], [经度], 4326) 去吧

sql-server gis spatial geography geoserver
2个回答
4
投票

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

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


0
投票

您应该使用的功能是 GEOMETRY,注意 GEOGRAPHY

© www.soinside.com 2019 - 2024. All rights reserved.