Geoserver - подключение к SQL Server 2008 Express и получение данных - PullRequest
1 голос
/ 04 октября 2010

- История Брефа: -

Я использовал MapServer, все работало нормально, за исключением того, что когда я рисовал маркер непосредственно на слое, используя PixMap, он был разрезан между плитками. Итак, я решил перейти на GeoServer, который выглядит правильно, чтобы рисовать плитки, где между плитками есть изображение / растровое изображение.

- Конец истории -

Хорошо, я могу подключиться к своему хранилищу данных Ms Sql Server 2008 (Express edition). Возможно, я не могу ничего показать на своей карте OpenLayer.

Пример точки в моей базе данных:

POINT (2.66131 48.8792)
POINT (2.66131 48.8792)
POINT (2.67789 48.8982)
POINT (2.67789 48.8982)
POINT (2.70361 48.9402)
POINT (2.76454 48.9866)

В моем GeoServer 2.0.2 я фактически использую стиль по умолчанию для точки (точка красного квадрата). EPSG для этих точек в базе данных - «4326», а в конфигурации GeoServer это также 4326 с такими границами:

Min X: 2
Min Y: 46
Max X: 8
Max Y: 50

Я сделал что-то не так, чтобы не показать ни одного очка?

Редактировать Вот определение моей таблицы

id  int (PK)
lon float
lat float
geom    geometry

Вот пример запроса от GeoServer:

SELECT "id",CAST("geom".STSrid as VARCHAR) + ':' + "geom".STAsText() as "geom" FROM "TestGeom" WHERE "geom".Filter(geometry::STGeomFromText('POLYGON ((-236.25 -120.234375, -236.25 120.234375, 236.25 120.234375, 236.25 -120.234375, -236.25 -120.234375))', 0)) = 1

Возвращает список точек, только если я установил свой EPSG в базе данных на 0 (они все еще не отображаются в «предварительном просмотре» в openlayer). Если я оставлю это в 4326, это ничего не возвращает. Полигон, нарисованный геосервером, находится в EPSG: 0.

1 Ответ

1 голос
/ 04 октября 2010

Для тех, кто сталкивается с той же проблемой:

Я нашел причину, почему она не работала. «Native-SRC» не настраивался должным образом (на самом деле я не имел никакой ценности). Это на самом деле главная причина, почему я не смог ничего увидеть. Теперь без всякой веской причины (или чуда), после удаления всего и воссоздания всего, теперь у меня есть значение Native SRC, и все отображается, как и ожидалось.

На самом деле для базы данных, когда я добавил ее в GeoServer, таблицы были установлены с EPSG: 0 (по умолчанию для геометрии). Но вам нужно переключить EPSG на 4326, выполнив следующее обновление:

update MyTable set MyGeom = geometry::...FromText(MyGeom.STAsText(), 4326)

После, удалите все ссылки в GeoServer на вашу таблицу. Вам действительно нужно воссоздать все с нуля. И когда вы снова добавите свою базу данных со своей таблицей, она будет работать. Фактически, вы увидите, что «Native-SRC» будет установлен самостоятельно, и вы также можете нажать на автоматическую настройку BBOX вашего стола. (Мин. X, Y, Макс. X, Y)

...