@
此前从未接触过ArcGIS,对Oracle和postGre SQL也比较陌生。本文介绍了从零开始,到搭建环境,再到发布第一个ArcGIS地图服务的完整过程。
由于在地图制作时我们需要在 arcMap 中读取数据库中的地理数据,并且在发布地图服务时。arcGIS Server 也需要从数据库中读取数据并发布。所以我们需要建立起 arcMap----> 数据库 和 arcGIS Server----->数据库的连接。并且,由于我们可以在 arcMap 对 arcGIS Server 进行管理,所以也需要建立起这两者的连接。具体关系如下(以 postgreSQL为例:)
本文中ArcGis相关软件版本为10.2,Oracle版本为11g,PostgreSQL版本为9.1。
本文用到的软件下载地址:
度盘:https://pan.baidu.com/s/1fdAiJW1YSBlQcj7Siu4kpg ? ?提取码:a41c
在软件的安装过程中,有一些账号密码的配置,建议使用记事本等工具记录,以免忘记。
ArcGIS支持若干数据库,我们这里用了两种,Oracle和开源的postGre SQL,选用其中一种即可。相比较而言,使用Oracle作为地理数据库的搭建要简单一些,条件允许的话,推荐使用Oracle数据库。
这里选择的是Oracle11g 64位。
出现下图警告,不用理会
电子邮件可以不填
安装选项选择创建和配置数据库
根据机器的配置情况自行选择,这里选择的是桌面类
自定义Oracle的基目录,管理口令自行设置
完成
安装产品,时间会比较长,喝杯茶慢慢等待吧
测试Oracle是否安装完成:在Dos窗口里输入命令sqlplus,用户名和口令输入system账户的用户名和口令,如下,Oracle服务端安装完成。
Oracle配置,由于这里Oracle和Arcgis是安装在一台机器上,所以配置基本不用变更
Oracle客户端需要安装32位客户端,因为ArcGIS DeskTop是32位。
开始安装
警告不管
选择管理员
选择简体中文
自定义安装路径
完成
安装中,时间会比较长
客户端安装完成
客户端安装完成后,需要进行配置
选择本地网络服务名配置
选择添加
填写服务名
选择TCP
填入主机名,选择端口号
接下来选择下一步直到结束,至此,Oracle客户端安装配置完成。
需要注意的是,PostgreSQL作为地理数据库的时候需要安装它的扩展postgis.
PostgreSQL安装完成后,安装postgis。
安装目标路径需要选择刚才postgresql的安装目录
输入刚才设置的密码
postgis安装完成。
ArcGIS相关软件按照如下顺序安装。
点击
下一步……
选择安装路径
选择Python27安装路径
配置ArcGis Server Account的账号、密码
不导出配置文件
安装中,时间会比较长,再喝一杯茶
安装完成
配置完许可后,会打开ArcGis管理页面,选择创建新站点
填入用户名和密码
选择根服务目录
登录ArcgisServer站点
在站点上已经有一个世界地图的服务
用当前机器的ip也可以访问服务站点
许可证管理器。
为了后面的破解ArcGis Desktop:
停止
打开破解工具的文件夹,点击注册器
手动输入Version,点击All
生成的文本全部复制
新建一个文本,命名为service.txt,将上面复制的文本粘贴进去
将将破解文件 ARCGIS.exe、service.txt复制到License Manager 安装路径bin目录下替换掉已有的这两个文件。
启动,重新读取许可
点击可执行文件
下一步……
选择Complete
选择安装路径
选择Python27路径
安装完成后,进入如下页面,选择如下
在 License Manager看到如下,破解成功
点击下图所示图标,可以启动ArcMap
可以直接把shp格式的文件给拉进去,会创建新的图层。
为了发布地图服务,得创建和Arcgis Server的连接
选择管理ArcGIS Server
填入ArcGis Server站点的相关信息
可以从ArcGIS Desktop(Desktop Standard 或 Desktop Advanced)运行创建企业级地理数据库工具,或从 ArcGIS Desktop、ArcGIS Server 或 ArcGIS Engine 客户端运行 Python 脚本,来创建 sde 用户、方案、表空间和地理数据库。
这里通过创建企业级地理数据库工具来创建企业级空间数据库,该工具位于“数据管理”工具箱的“地理数据库管理”工具集中:
创建中,得一会儿
创建完成
由于desktop是32位,postgresql是64位,我们需要将:
libeay32.dll
libiconv-2.dll
libintl.dll
ibpd.dll
ssleay.dll
5个文件复制到Desktop安装目录 --> bin文件夹中,复制时选择全部替换。
在pgAdmin中新建数据库名称为sample,所有者为postgres,模板为postgis_20
创建模式(从ArcGIS Catalog连接postgresql数据库导入数据时,数据库中必须有postgres模式)。执行如下语句并显示成功:
create schema postgres;
OK,PostgreSQL的相关配置完成了,可以创建创建企业级地理数据库。
数据库平台选择PostgreSQL。
实例填入localhost(本机)。
数据库选择刚才创建的sample数据库。
数据库管理员为超级用户postgres。
数据库管理员密码为自己设置的密码
地理数据库管理员密码自己设定
授权文件选择arcgis server的授权文件。
创建成功:
企业级地理数据库创建完成之后,就可以连接了。
数据库连接中新建连接
输入上一步中的数据库相关配置
连接成功之后,可以看到数据库连接
数据库平台选择PostgreSQL
实例为localhost
数据库身份验证:用户名为超级用户。密码为自己设置的密码
数据库选择刚才创建的sample数据库
地理数据库连接之后,可以为地理数据库导入数据了。这里有两种导入的方式。
导入单个
数据成功导入地理数据库,可以将导进去的数据直接拖出来
上面的方式比较快捷,但是导入失败的概率相对要大一些,所以推荐用下面的方式。
导入成功
可以直接拖拽进地理空间数据库
直接拖入可能会因为空间坐标系不一致的原因失败,还可以在空间数据库上直接import
数据已经成功导入企业级地理数据库,接下里可以发布地图服务了。
将数据拖进去
可以对图层进行编辑,分类等操作
发布地图服务
发布之前可以先分析一下
发布
成功发布的服务可以在Arc Map里预览,这里从Arcgis Server站点查看
登录站点,可以找到我们发布的地图服务
在功能里可以看到地图服务提供给第三方调用的接口
点击进去,在这里可以选择通过ArcGis JavaScript的方式预览
Executing: CreateEnterpriseGeodatabase Oracle localhost/orcl # DATABASE_AUTH sys ***** SDE_SCHEMA sde ***** # D:\SoftwareFile\易智瑞版\arcgisserver10.2.ecp
Start Time: Thu Apr 02 18:07:32 2020
Cannot connect to database because the database client software failed to load. Be sure the database client software is installed and configured correctly.
Failed to execute (CreateEnterpriseGeodatabase).
Failed at Thu Apr 02 18:07:32 2020 (Elapsed Time: 0.01 seconds)
这个问题通常是这些原因导致的:
解决办法:
我的错误原因是只安装了64位的客户端,再装一个32位的客户端,把Path中64位的变量列在前面。
然后,重启电脑,问题解决。
PostgreSQL作为企业级地理数据库,刚连接的时候没有数据
正常应该是这种:
另外,PostgreSQL导入数据时,偶尔会失败,原因还未排查出来。
End!
ps:本人是一个Gis纯小白,文中有错漏之处,欢迎指出。希望能够相互学习,共同进步!
参考:
【1】:Oracle 11g 服务端、客户端的安装配置
【2】:arcgis链接oracle发布地图服务
【3】:Oracle 教程
【4】:在 Oracle 中创建地理数据库
【5】:ArcSDE直连总结
【6】:Error: Client software failed to load. Be sure the database client software is installed and configured correctly
【7】:ArcGIS server 10.2安装教程详细版
【8】:Arcgis License的安装及破解
【9】:ArcGIS Desktop 10.2 安装与破解图文教程
【10】:连接 arcMap、arcGIS Server 和 postgreSQL
【11】:arcgis10.2与postgresql9.2.2从安装到发布服务教程
原文:https://www.cnblogs.com/three-fighter/p/12630251.html