ArcGIS Server 10.2 FeatureService发布详解(包括安装PostgreSQL并创建SDE数据库)
2015-06-19 20:55
876 查看
本文的工作环境:
操作系统:Windows 7 64 位旗舰版
GIS软件:ArcGIS Server 10.2、ArcGIS Desktop 10.2、ArcSDE10.2 for PostgreSQL
数据库:PostgreSQL-9.0.18-1-Windows-x64以及连接PostgreSQL数据库的32位客户端的5个dll文件(libeay32.dll,libiconv-2.dll,libintl-8.dll,libpq.dll,ssleay32.dll)
一、关于FeatureService和ArcSDE
FeatureService即要素服务,可以实现ArcGIS Server在线编辑功能,需要使用FeatureService,基于ArcGIS Server的WebGIS系统对于矢量要素的访问需要使用FeatureService,FeatureService的数据存储于通过ArcSDE访问的关系数据库中(如开源的PostgreSQL和商业关系数据库软件SQL
Server、Oracle等等),创建数据前需要配置SDE连接,关于要素服务数据的要求参考http://blog.csdn.net/arcgis_all/article/details/8202684
关于FeatureService的官方的解释为:要素服务可用来通过 Internet 提供要素,并提供显示要素时所要使用的符号系统。之后,客户端可执行查询操作以获取要素,并执行相应的编辑操作。要素服务提供了可用于提高客户端编辑体验的模板。此外,要素服务也可以对关系类和非空间表中的数据进行查询和编辑。
ArcSDE即空间数据库引擎,简单地讲就是,它可以让用户将空间数据存储于关系数据库中。
本文主要介绍了通过ArcSDE连接开源数据库PostgreSQL,将数据存储到关系数据库PostgreSQL中,并且将数据库注册到ArcGIS
Server中,最后发布FeatureService的过程。
二、PostgreSQL数据库安装
双击安装包,一路Next,中间设置一下数据库密码,改下数据库安装位置。
下面的Stack Builder可选择不安装,至此安装完成
打开PostgreSQL,界面如下图所示:
三、ArcSDE连接PostgreSQL
PostgreSQL数据库安装完成后,继续安装ArcSDE for PostgreSQL,安装过程如下图:
安装完ArcSDE后,如果在ArcGIS中直接连接数据库会报错,原因是ArcGIS Desktop是32位的,32位的桌面无法连接64位的PostgeSQL数据库,解决方法是:
①连接postgres的32位的客户端的dl五个dll(这五个dll是从32位的PostgreSQL客户端中抽取出来)文件放到ArcGIS的bin目录下(即安装目录),五个dll文件为:libeay32.dll,libiconv-2.dll,libintl-8.dll,libpq.dll,ssleay32.dll,需要放置的ArcGIS的bin目录为:安装目录—>ArcGIS—>Desktop10.2—>bin
完成后又会出现如下错误:
②解决方法:把ArcGIS目录中的ST_STGEOMETRY.dll放到PostgreSQl的lib目录下。
st_geometry.dll文件的目录为:安装目录—>ArcGIS—>Desktop10.2—>DatabaseSupport—>PostgreSQL—>Windows64
需要放的PostgreSQl的lib目录为:安装目录—>PostgreSQL—>9.0—>lib
至此,错误解决完成。下面开始ArcSDE连接PostgreSQL,ArcSDE连接PostgreSQL首先需要创建地理数据库,方法如下:
打开ArcMap的ArcToolbox,找到如下路径:
打开该工具,1.数据库平台选择PostgreSQL;
2.实例填写计算机名或localhost;
3.数据库填写sde;
4.数据库管理员为默认postgres,密码为安装PostgreSQL时设置的密码;
5.为简单起见,地理数据库管理员密码可跟数据库管理员密码一致;
6.授权文件为安装ArcGIS Server 10.2时的许可文件。
各项参数设置完成后,点击确定,创建企业级地理数据库。
企业级地理数据库创建完成后,在ArcMap中找到“目录”窗口—>数据库连接—>添加数据库连接:
1.数据库平台选择PostgreSQL;
2.实例为localhost;
3.用户名为sde(这个地方一定要注意,因为PostgreSQL有一个默认的数据库postgres,但是在创建企业级地理数据库时所填写的数据库sde才是此时的用户名),密码为数据库密码;
4.数据库自己填写一个;
填写完成之后,点击确定,即可连接到PostgreSQL数据库,在“数据库连接”目录下会出现一个“连接到localhost.sde”文件:
右击该文件—>导入—>要素类(单个)或要素类(多个),即可将数据导入到PostgreSQL数据库中,也可在右击,点击新建,新建一个要素类。
打开PostgreSQL,数据库—>目录—>数据表,即可看到已导入的空间数据。
至此,数据部分准备完成,下面进入FeatureService发布过程。
四、FeatureService发布
在前面数据已经准备完成的基础上,可进行FeatureService发布过程,如下所示:
打开ArcMap,将已连接的看见数据打开—>文件—>共享为—>服务—>发布服务(注:如果此时未配置服务器,请先配置服务器)—>服务名称自己填写一个—>使用现有根目录:
①勾选“Feature Access”即表示创建FeatureService,完成其他参数的填写,点击上图中的“分析”,
②会出现错误要求注册数据库,打开ArcGIS Server—>站点—>数据存储—>注册数据库:
1.名称自己写一个;
2.发布者数据库连接,点击“导入”—>浏览,
此时,打开ArMap,找到数据库连接文件(即“连接到localhost.sde”文件),右键“属性”—>常规—>名称(此即为文件的存放路径)
复制该名称(注意去掉后面的“连接到localhost.sde”),在计算机地址中找到该路径,即可看到“连接到
localhost.sde”文件。
在上述浏览界面里找到该路径,选择“连接到localhost.sde”文件—>点击“导入”—>点击“创建”,即可注册数据库。
此时如出现错误:Error:
Registering a database data store fails with 'Invalid database connection' or 'The data item is inaccessible',是因为ArcGIS
Server为64位程序,PostgreSQL为64位程序,ArcGIS桌面为32位程序,ArcGIS
Server缺少相关的64位dll文件,解决办法:
将PostgreSQL-x64里面的五个dll文件(libeay32.dll,libiconv-2.dll,libintl-8.dll,libpq.dll,ssleay32.dll)复制到ArcGIS
Server安装目录bin目录下(与上述ArcGIS桌面程序类似)。
复制完成后,重新注册数据库即可。
③如无其他错误,点击“发布”即可发布服务。
④发布完成后,打开所有程序—>ArcGIS—>ArcGIS
10.2 for Server—>Services
Directory,即可查看已发布的要素服务。
附:PostgreSQL-9.0.18数据库及相关5个dll文件下载:
http://download.csdn.net/detail/u011534341/8826293
本文编写过程中参考了网上大量的文章,现将主要参考文章列举如下:
http://blog.csdn.net/arcgis_all/article/details/8202709 http://blog.csdn.net/arcgis_all/article/details/8202684 http://blog.csdn.net/arcgis_all/article/details/8202773 http://blog.csdn.net/arcgis_all/article/details/8215183
http://www.higis.cn/Tech/tech/tId/73/
http://support.esri.com/de/knowledgebase/techarticles/detail/40409
对于本文中的错误之处,欢迎大家指出!
操作系统:Windows 7 64 位旗舰版
GIS软件:ArcGIS Server 10.2、ArcGIS Desktop 10.2、ArcSDE10.2 for PostgreSQL
数据库:PostgreSQL-9.0.18-1-Windows-x64以及连接PostgreSQL数据库的32位客户端的5个dll文件(libeay32.dll,libiconv-2.dll,libintl-8.dll,libpq.dll,ssleay32.dll)
一、关于FeatureService和ArcSDE
FeatureService即要素服务,可以实现ArcGIS Server在线编辑功能,需要使用FeatureService,基于ArcGIS Server的WebGIS系统对于矢量要素的访问需要使用FeatureService,FeatureService的数据存储于通过ArcSDE访问的关系数据库中(如开源的PostgreSQL和商业关系数据库软件SQL
Server、Oracle等等),创建数据前需要配置SDE连接,关于要素服务数据的要求参考http://blog.csdn.net/arcgis_all/article/details/8202684
关于FeatureService的官方的解释为:要素服务可用来通过 Internet 提供要素,并提供显示要素时所要使用的符号系统。之后,客户端可执行查询操作以获取要素,并执行相应的编辑操作。要素服务提供了可用于提高客户端编辑体验的模板。此外,要素服务也可以对关系类和非空间表中的数据进行查询和编辑。
ArcSDE即空间数据库引擎,简单地讲就是,它可以让用户将空间数据存储于关系数据库中。
本文主要介绍了通过ArcSDE连接开源数据库PostgreSQL,将数据存储到关系数据库PostgreSQL中,并且将数据库注册到ArcGIS
Server中,最后发布FeatureService的过程。
二、PostgreSQL数据库安装
双击安装包,一路Next,中间设置一下数据库密码,改下数据库安装位置。
下面的Stack Builder可选择不安装,至此安装完成
打开PostgreSQL,界面如下图所示:
三、ArcSDE连接PostgreSQL
PostgreSQL数据库安装完成后,继续安装ArcSDE for PostgreSQL,安装过程如下图:
安装完ArcSDE后,如果在ArcGIS中直接连接数据库会报错,原因是ArcGIS Desktop是32位的,32位的桌面无法连接64位的PostgeSQL数据库,解决方法是:
①连接postgres的32位的客户端的dl五个dll(这五个dll是从32位的PostgreSQL客户端中抽取出来)文件放到ArcGIS的bin目录下(即安装目录),五个dll文件为:libeay32.dll,libiconv-2.dll,libintl-8.dll,libpq.dll,ssleay32.dll,需要放置的ArcGIS的bin目录为:安装目录—>ArcGIS—>Desktop10.2—>bin
完成后又会出现如下错误:
②解决方法:把ArcGIS目录中的ST_STGEOMETRY.dll放到PostgreSQl的lib目录下。
st_geometry.dll文件的目录为:安装目录—>ArcGIS—>Desktop10.2—>DatabaseSupport—>PostgreSQL—>Windows64
需要放的PostgreSQl的lib目录为:安装目录—>PostgreSQL—>9.0—>lib
至此,错误解决完成。下面开始ArcSDE连接PostgreSQL,ArcSDE连接PostgreSQL首先需要创建地理数据库,方法如下:
打开ArcMap的ArcToolbox,找到如下路径:
打开该工具,1.数据库平台选择PostgreSQL;
2.实例填写计算机名或localhost;
3.数据库填写sde;
4.数据库管理员为默认postgres,密码为安装PostgreSQL时设置的密码;
5.为简单起见,地理数据库管理员密码可跟数据库管理员密码一致;
6.授权文件为安装ArcGIS Server 10.2时的许可文件。
各项参数设置完成后,点击确定,创建企业级地理数据库。
企业级地理数据库创建完成后,在ArcMap中找到“目录”窗口—>数据库连接—>添加数据库连接:
1.数据库平台选择PostgreSQL;
2.实例为localhost;
3.用户名为sde(这个地方一定要注意,因为PostgreSQL有一个默认的数据库postgres,但是在创建企业级地理数据库时所填写的数据库sde才是此时的用户名),密码为数据库密码;
4.数据库自己填写一个;
填写完成之后,点击确定,即可连接到PostgreSQL数据库,在“数据库连接”目录下会出现一个“连接到localhost.sde”文件:
右击该文件—>导入—>要素类(单个)或要素类(多个),即可将数据导入到PostgreSQL数据库中,也可在右击,点击新建,新建一个要素类。
打开PostgreSQL,数据库—>目录—>数据表,即可看到已导入的空间数据。
至此,数据部分准备完成,下面进入FeatureService发布过程。
四、FeatureService发布
在前面数据已经准备完成的基础上,可进行FeatureService发布过程,如下所示:
打开ArcMap,将已连接的看见数据打开—>文件—>共享为—>服务—>发布服务(注:如果此时未配置服务器,请先配置服务器)—>服务名称自己填写一个—>使用现有根目录:
①勾选“Feature Access”即表示创建FeatureService,完成其他参数的填写,点击上图中的“分析”,
②会出现错误要求注册数据库,打开ArcGIS Server—>站点—>数据存储—>注册数据库:
1.名称自己写一个;
2.发布者数据库连接,点击“导入”—>浏览,
此时,打开ArMap,找到数据库连接文件(即“连接到localhost.sde”文件),右键“属性”—>常规—>名称(此即为文件的存放路径)
复制该名称(注意去掉后面的“连接到localhost.sde”),在计算机地址中找到该路径,即可看到“连接到
localhost.sde”文件。
在上述浏览界面里找到该路径,选择“连接到localhost.sde”文件—>点击“导入”—>点击“创建”,即可注册数据库。
此时如出现错误:Error:
Registering a database data store fails with 'Invalid database connection' or 'The data item is inaccessible',是因为ArcGIS
Server为64位程序,PostgreSQL为64位程序,ArcGIS桌面为32位程序,ArcGIS
Server缺少相关的64位dll文件,解决办法:
将PostgreSQL-x64里面的五个dll文件(libeay32.dll,libiconv-2.dll,libintl-8.dll,libpq.dll,ssleay32.dll)复制到ArcGIS
Server安装目录bin目录下(与上述ArcGIS桌面程序类似)。
复制完成后,重新注册数据库即可。
③如无其他错误,点击“发布”即可发布服务。
④发布完成后,打开所有程序—>ArcGIS—>ArcGIS
10.2 for Server—>Services
Directory,即可查看已发布的要素服务。
附:PostgreSQL-9.0.18数据库及相关5个dll文件下载:
http://download.csdn.net/detail/u011534341/8826293
本文编写过程中参考了网上大量的文章,现将主要参考文章列举如下:
http://blog.csdn.net/arcgis_all/article/details/8202709 http://blog.csdn.net/arcgis_all/article/details/8202684 http://blog.csdn.net/arcgis_all/article/details/8202773 http://blog.csdn.net/arcgis_all/article/details/8215183
http://www.higis.cn/Tech/tech/tId/73/
http://support.esri.com/de/knowledgebase/techarticles/detail/40409
对于本文中的错误之处,欢迎大家指出!
相关文章推荐
- js的Function(1)
- HTML5学习笔记简明版(11):新API
- HTML常用标签及其全称
- HTML常用标签及其全称
- 黑马day05 session&重新设置JSESSIONID的生命周期
- jQuery加载动画
- javascript字符串操作(一)
- CSS3 3D Transformations
- 典型注册页面JSP实现
- Li Fei-fei写给她学生的一封信,如何做好研究以及写好PAPER
- Backbone.js 的最佳应用场景有哪些?
- nodejs ajax 请求
- html css float 的使用说明
- qq音乐的歌词接口中例如:,.的特殊符号编码使用js进行转义
- jQuery 取父类窗口修改元素
- 关于html5与jsp页面同样的html代码展示的页面效果不一样的问题
- CSS position财产
- [置顶] js禁用回退键[backspace键]浏览历史跳转的解决办法
- jquery 复选框选中问题
- css @import必须放到其他css样式定义之前