Geoserver(2.1.2版) 支持sqlserver 发布图层全过程

        某天,头头投来一条消息,在某某个页面加一个图层。看到加一个图层,我的第一个想法就是:so easy!!于是,想也没想就要动手来做了(就貌似,读书破万卷,下笔如有神似得)。刚打开geoserver的一瞬间,我就石化了!将要发布图层的数据源是sqlserver的啊。我们之前发布图层的数据源用到的都是postgresql数据库啊。怎么办,怎么办。。。如同热锅上的蚂蚁,与刚才那个神气活现的我形成鲜明的对比,丢脸。。。

       现在的我们遇到问题的第一个想法就是找度娘,我也不例外,在网上一顿搜,别说还有两篇文章是关于这个问题的,但是不是教程,是下载jdbc的,我靠,对我完全没有用啊。接着我看到geoserver的官网上有关于添加sqlserver扩展的文档,一开始我没有报有太大的希望,因为一般这种文档都不会对我们有多少帮助,但还是点进去看了看,别说,教程还挺详细,这里把教程的连接发一下,希望看我文章的同仁也先参考一下该文档。
http://docs.geoserver.org/stable/en/user/data/database/sqlserver.html#sqlserver-install

通过文档中的两个下载连接,我点呀点,点呀点,第一个连接最终点到了下面这个页面:
http://ares.boundlessgeo.com/geoserver/

在这个页面如果有你的geoserver的版本的话,可以点进去,依次展开geoserver/版本/ext-last,找到geoserver-2.4-SNAPSHOT-sqlserver-plugin.zip,这个就是geoserver对sqlserver的扩展包

如果你的geoserver的版本在这个列表中,那么你可以略过我下面的部分文字了,因为我下面要讲的是怎么找到我需要的版本的扩展插件,在我继续查找相应版本的插件之前我将上面链接中的所有的扩展都试了一遍,没有好使的,说明这里的版本都太高。没办法只能到网上找与我的版本相同的扩展,在我频繁替换文件的过程中,我看到了这么两个文件


geoserver默认是对postgis支持的,而这里geotools对postgis的支持版本是2.7.3,正好跟geotools的版本一样,于是凭直觉,我应该去找geotools对sqlserver同样版本的支持的扩展,通过百度没有找到,在google上一阵冲浪之后,找到了这么一个网页:

http://download.osgeo.org/webdav/geotools/org/geotools/jdbc/gt-jdbc-sqlserver/

看到这个页面,我差点泪崩,这不正是我需要的吗

我找到我需要的版本:

下载,替换。。。

有了geoserver对sqlserver的扩展支持,接下来就是sqlserver的jdbc jar包了。根据geoserver文档中的sqlserver的jdbc jar包的连接,下载jar包(在下载jar包的过程中我发下一个有意思的事:我通过firefox打开上面那个连接,下载没有成功,就连下载的弹框都没有,但是我通过Microsoft Edege 打开下载就杠杠滴,如果有同样情况的人也可以试试,就是感觉有点奇葩)。剩下的步骤都按照文档中说的来做就好了。重启后打开geoserver的store连接就看到了令人激动人心的两个连接:


6666!!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
GeoServer是一个开源的地理信息系统服务器,它可以用于发布和管理地理数据服务。通过GeoServer的REST API,我们可以使用PostGIS作为数据源来发布层。 要使用GeoServer REST API发布PostGIS层,需要进行以下步骤: 1. 首先,确保你已经安装了GeoServer和PostGIS,并且它们都正常运行。 2. 在GeoServer中创建一个工作区(Workspace),工作区是一个逻辑容器,用于组织和管理数据。 3. 创建一个数据存储(Data Store),用于连接到PostGIS数据库。在创建数据存储时,需要提供数据库连接信息,包括数据库类型、主机名、端口号、数据库名称、用户名和密码等。 4. 创建一个样式(Style),用于定义层的渲染方式。可以使用SLD(Styled Layer Descriptor)语言来创建样式。 5. 创建一个层(Layer),将数据存储和样式关联起来。在创建层时,需要指定数据存储和样式的名称。 6. 最后,使用GeoServer的REST API来发布层。可以使用POST请求将发布到指定的工作区下。 下面是一个示例的REST API请求,用于发布一个名为"my_layer"的PostGIS层: ``` POST /rest/workspaces/{workspace_name}/datastores/{datastore_name}/featuretypes { "featureType": { "name": "my_layer", "nativeName": "my_layer", "title": "My Layer", "srs": "EPSG:4326", "enabled": true } } ``` 其中,{workspace_name}是工作区的名称,{datastore_name}是数据存储的名称。在请求体中,需要提供层的名称、标题、坐标系等信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值