#sql-server #gis #spatial #geography #geoserver
#sql-сервер #гис #пространственный #география #геосервер
Вопрос:
Я использую Geoserver и SQL Server 2008.
У меня есть таблица, в которой есть столбец типа [география]. Я могу видеть таблицу, отображаемую на Geoserver (я установил расширение для SQL server), но он распознает столбец как тип byte[], а не географию.
Может кто-нибудь предложить мне решение этой проблемы.
Как и в предыдущем сообщении, я несколько раз пытался удалить и повторно подключить базу данных на Geoserver. Также SQL server показывает, что данные имеют тип geography и правильно отображают их. Это просто Геосервер, который видит данные как байт [] .
Я использую этот оператор sql для преобразования столбцов lat long в geography.
ОБНОВИТЬ [TestData].[dbo].[ShowMap] SET [Geo] = география::Точка ([Широта], [Долгота], 4326) ПЕРЕЙТИ
Ответ №1:
Итак, я нашел решение этой проблемы. Геосервер может распознавать только геометрический тип данных в SQL Server. Если у вас есть столбец с типом данных Geography, Geoserver распознает его как байт[] .
Тип данных геометрии работает так же, как и география.
Комментарии:
1. К вашему сведению, при создании представлений SQL с помощью Geoserver и PostGIS Geoserver может распознавать столбцы геометрических типов данных только как пространственные данные. Это применимо только к представлениям SQL, если кто-то просто хочет опубликовать таблицу без какого-либо пользовательского SQL, тогда Geoserver отлично работает даже со столбцами, имеющими тип данных geography.
2. Нет, Геосервер не распознает географический тип данных! он отображается как byte[], и поэтому ни один из географических объектов не работает.