纯国产环境中利用ArcPy创建sde并发布服务实践方案

测试背景:

需要在纯国产环境中利用企业级地理数据库sde发布服务,但目前arcgis桌面不支持国产Linux环境,于是有了以下测试

本次测试基于GeoScene Server2.1 、ArcMap10.8.1、PostgreSQL11.7版本

以下是数据库测试包

📎postgresql-11.7.tar.gz

前提条件:

1、成功安装GeoScene Server产品

2、选择好跟GeoScene 产品对应版本的数据库:例如PostgreSQL(或者国产数据库人大金仓)进行安装

https://blog.csdn.net/weixin_43230682/article/details/108403642(此为PostgreSQL的安装帮助文档)

3、若Server与数据库不在在同一台机器,需要确保两台机器能正常访问链接

4、外部的SDE内的数据需要跟国产环境中SDE的数据保持一致。

5、数据库版本、用户名密码都需要保持一致

PS:

因为是在国产环境中发布服务,又Linux环境中暂时没有支持的桌面,所以需要一下操作来进行发布服务:

1、需要在外部机器安装一个跟国产环境中一模一样的数据库、如果数据库与geoscene不在同一机器上,需要保证ip、用户名、密码都一致、

在同一机器上的话用localhost连接则保证用户名密码一致即可。

2、将外部设置好的sde导入Server那台机器中,既可进行注册数据库操作。

3、在发布服务的时候,要保证数据的名称和位置一样,这样在外部保存的sd文件导入到国产环境中依旧能正常发布服务。

4、外部的SDE内的数据需要跟国产环境中SDE的数据保持一致。

创建sde步骤

1、连接虚拟机,进入装有geoscene产品的机器。

2、进入安装用户

su – geoscene

3、从geoscene的安装目录中定位到geoscene server的工具箱

cd /home/geoscene/geoscene/server/tools

4、运行Python工具。

./python

5、需要先导入ArcPy。

import arcpy

6、运行创建企业级地理数据库的代码。

arcpy.CreateEnterpriseGeodatabase_management("POSTGRESQL", "10.10.10.113", "sde", "DATABASE_AUTH", "postgres", "xy942698", "", "sde", "xy942698", "", "/home/geoscene/geoscene/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License10.8/sysgen/keycodes")

创建成功,会返回Result ‘true’

详细参数解释见官方帮助文档。

创建企业级地理数据库 (数据管理)—ArcMap | 文档

在server manager中注册数据库

(这步需要提前在ArcMap中连接数据库,生成一个sde的文件,将这个文件导入到国产环境中。)

进入到mangager页面,进入站点-GIS服务器-数据存储

点击注册数据库

导入连接的sde,即注册成功(保证连接参数一样)

发布服务

将sde中的数据打开,导入到地图中,到文件-共享为-服务

保存服务定义

选择服务器连接

确定文件分布位置

选择服务sd 文件的存放位置

相关参数填写

分析

过渡、进行保存sd文件

过度成功,得到sd文件。

将sd文件复制到国产环境中,打开server,选择发布服务、选择上一步保存的sd文件

设置参数、发布服务

发布成功、得到地图服务

查看服务工作空间,是引用数据库sde中的数据。

过程中出现的错误:

创建企业级地理数据库失败。出现向地理数据库表插入值失败,

查看日志文件sde_setup.log,

需要对libxml进行重构。

于是对安装数据库的时候需要利用./configure进行重构,具体步骤如下

./configure --with-libxml make make install

以及PostgreSQL下的两个文件都需要拷贝

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值