【环境】GeoServer 1.7.0 RC2,ArcSDE 9.3
【先决条件】安装ArcSDE SDK (java)
对于GeoServer 1.7以前的版本,官方文档支持ArcSDE9.2 sp2及以前版本,但我尝试连接9.3的SDE失败。GeoServer 1.7采用的是GeoTools 2.5,与之前的版本不同,因此我又尝试了这个版本+最新的SDE SDK,发布服务成功。
1.安装GeoServer、GeoServer ArcSDE 扩展及其依赖项
下载GeoServer:http://geoserver.org/display/GEOS/GeoServer+1.7.0-RC2,该页面也包含了ArcSDE Extension的下载链接。
首先安装GeoServer,安装完成以后,将ArcSDE Extension压缩包中的所有文件解压缩到GeoServer的lib目录:%GeoServer 1.7.0-RC2%\webapps\geoserver\WEB-INF\lib。
由于ArcSDE扩展依赖ArcSDE SDK,因此还需要将%ArcGIS%\ArcSDE\lib下的所有jar包复制到GeoServer的lib目录。
通过开始菜单启动GeoServer。
2.配置GeoServer连接ArcSDE
通过http://localhost:8080/geoserver 访问GeoServer Administrator。
首先进入“配置-数据-名称空间 ”,新建自己的名称空间,完成后点击左侧的“保存”。
进入“配置-数据-数据库”,点击“新建”,在这里需要新建一个SDE数据库连接。
进入“配置-数据-FeatureTypes”,点击“新建”,在这里通过一个SDE图层来发布一个FeatureType。这里发布了一个图层,在GeoServer中命名为“bj_road”。完成后点击左侧的“保存”、“应用”。
打开http://localhost:8080/geoserver/mapPreview.do,查看当前发布的SDE图层,选择合适的方式预览。下图是上面发布的bj_road的SVG预览。
3.获得kml服务
GeoServer的kml服务地址如下:http://localhost:8080/geoserver/wms/kml_reflect?layers=<名称空间>:<图层别名>,比如上面发布的bj_road,它的kml地址就是http://localhost:8080/geoserver/wms/kml_reflect?layers=wuyf:bj_road,将这个地址添加到Google Earth或者其它支持kml的客户端就可以对SDE图层数据进行查看了。
2008年9月1日星期一
订阅:
博文评论 (Atom)
3 条评论:
你好,我是一个GIS初学者,看了你的文章,试着装了一下,发现关于你说的:
----“需要将%ArcGIS%\ArcSDE\lib下的所有jar包复制到GeoServer的lib目录”----
可我的%ArcGIS%\ArcSDE\下根本没有lib文件夹,请问是怎么回事,是不是少装了什么东西?
希望得到您的帮助,my Email:zhaoqh305@gmail.com
因为你没有装ArcSDE SDK
哦,谢谢,知道了。
发表评论