2

我正在使用 Geoserver 和 SQL Server 2008。

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

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

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

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

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

4

1 回答 1

3

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

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

于 2011-10-22T04:48:39.293 回答