- Bref历史: -
我正在使用MapServer,一切正常,但是当我使用PixMap直接在图层上绘制标记时,它在tile之间切割。所以,我决定改为GeoServer,它看起来能够正确地绘制瓷砖之间有图像/像素图的瓷砖。
- 历史结束 -
好的,我可以连接到我的数据存储,即Ms Sql Server 2008(Express版)。也许,我无法在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,它什么都不返回。由geoserver绘制的多边形位于EPSG:0。
答案 0 :(得分:1)
对于遇到同样问题的人:
我找到了它无法正常工作的原因。 “Native-SRC”没有正确设置(实际上我没有任何价值)。这实际上是我无法看到任何东西的主要原因。现在没有任何理由(或奇迹),在删除所有内容并重新创建所有内容后,我现在拥有一个原生SRC值,所有内容都按预期显示。
实际上数据库在我将其添加到GeoServer时,表格设置为EPSG:0(几何的默认值)。但是你需要通过这样的更新将EPSG切换到4326:
update MyTable set MyGeom = geometry::...FromText(MyGeom.STAsText(), 4326)
之后,将GeoServer中的所有引用删除到您的表中。您实际上需要从头开始重新创建所有内容。当您使用表重新添加数据库时,它将起作用。实际上,您将看到自己设置的“Native-SRC”,您还可以单击自动设置表格的BBOX。 (Min X,Y,Max X,Y)