【ArcGIS 10.2新特性】ArcGIS 10.2将PostgreSQL原生数据发布为要素服务

摘要:
ArcGIS10.2 forServer增强了此功能。ArcGIS10.2 forServer可以将本地数据库中的空间数据作为功能服务发布。让我们以PostgreSQL数据库为例。事实上,PostGIS为PostgreSQL添加了空间类型。
1、ArcGIS 10.2支持原生数据发布为要素服

    有没有将自己已有的空间数据发布为要素服务的需求?有没有将非Esri空间数据类型的数据作为服务在Web端展示的需求?
    ArcGIS 10.2 for Server增加了这方面的能力,ArcGIS 10.2 for Server 可以将原生数据库中的空间数据发布为要素服务。
    想必都知道现在的关系型数据库,也都对空间数据有一定的支持,如postgreSQL的pg_geometry,Oracle的sdo_geometry,SQL Server的geometry等,如果用户的数据已经是这些格式了,如何发布为要素服务?
    在ArcGIS 10.0的时候Esri支持了要素服务,因为要素服务提供了在线编辑的功能,因此得到很多用户的青睐,但是发布要素服务有一个条件,就是数据必须存储在SDE数据库中,如果用户的空间数据已经是原生数据库的空间数据类型,要发布要素服务的话,我们需要将这些数据到SDE数据库中。
    当然Esri也会考虑用户的需求,和针对用户的需求做出相应的反应,ArcGIS 10.2 for Server 就可以直接将这种原生的空间数据作为要素服务暴露出去,这样的话,省了数据转换等一系列的操作,更让人兴奋的是,这样的能力不需要SDE的支持。
下面我们就以PostgreSQL数据库为例进行说明。
    PostgreSQL数据要支持空间数据,需要安装一个扩展- PostGIS,这个扩展和Oracle的 Oracle Spatial类似。PostGIS 是 Refractions Research 开发的产品,用于为 PostgreSQL 数据库添加对 PostGIS 空间数据类型的支持。PostGIS 遵从开放地理空间联盟 (OGC) 关于结构化查询语言 (SQL) 的简单要素规范。它使用 OGC 熟知二进制 (WKB) 和可识别文本 (WKT) 表示几何。实际上,PostGIS 是向 PostgreSQL 添加空间类型。

2、安装POSTGIS

    安装POSTGIS有两种方法:1,可以从http://download.osgeo.org/postgis/下载,根据自己已经安装的postgreSQL版本进行选择,请注意,ArcGIS for Server支持(9.0系列,9.1系列和9.2系列的postgreSQL);2,也可以在postgreSQL安装后自带的Stack Builder中进行安装,在这里我的是后者。

2.1 打开Stack Builder

      【ArcGIS 10.2新特性】ArcGIS 10.2将PostgreSQL原生数据发布为要素服务第1张

2.2 选择空间扩展,可以根据需要选择其他的辅助功能

      【ArcGIS 10.2新特性】ArcGIS 10.2将PostgreSQL原生数据发布为要素服务第2张

2.3 选择下载目录

      【ArcGIS 10.2新特性】ArcGIS 10.2将PostgreSQL原生数据发布为要素服务第3张

      【ArcGIS 10.2新特性】ArcGIS 10.2将PostgreSQL原生数据发布为要素服务第4张

2.4 选择创建空间数据库前面的复选框

      【ArcGIS 10.2新特性】ArcGIS 10.2将PostgreSQL原生数据发布为要素服务第5张
    等一会儿,当安装完成后,会在postgreSQL中创建template_postgis_20等模板和postgis20数据库如下:
      【ArcGIS 10.2新特性】ArcGIS 10.2将PostgreSQL原生数据发布为要素服务第6张

3、数据准备

    POSTGIS提供了将shape数据转成PG_GEOMETRY的工具,但是这里我要介绍的不是这个工具,而是通过ArcMap完成这个数据转换的操作,ArcMap可以在PostgreSQL数据库中创建要素类,导入数据,导出数据等,这些功能大大简化了数据转换的操作,也很方便。
    在操作数据之前,首先要新建postgres模式
        【ArcGIS 10.2新特性】ArcGIS 10.2将PostgreSQL原生数据发布为要素服务第7张
    接下来使用直连的方式连接PostgreSQL数据库,在ArcMap右侧的Catalog目录中进行连接。
      【ArcGIS 10.2新特性】ArcGIS 10.2将PostgreSQL原生数据发布为要素服务第8张
    这时,我从geodatabase中找到一个多边形数据复制到postgis20数据库当中,作为数据库中的原生空间数据。然后,将它加载到ArcMap当中并保存地图文档。
      【ArcGIS 10.2新特性】ArcGIS 10.2将PostgreSQL原生数据发布为要素服务第9张
    在添加完数据库之后,我们可以在PostgresSQL当中看到该数据,如下图所示。
      【ArcGIS 10.2新特性】ArcGIS 10.2将PostgreSQL原生数据发布为要素服务第10张

4、发布要素服务

    在发布时,会要求数据库必须进行注册,可以提前在Server属性当中进行设置。
      【ArcGIS 10.2新特性】ArcGIS 10.2将PostgreSQL原生数据发布为要素服务第11张
    选择Register Database,弹出对话框如下图左侧,为数据库命名,然后通过Import方式,找到连接的数据库并选择,如下图右侧。点击OK。
      【ArcGIS 10.2新特性】ArcGIS 10.2将PostgreSQL原生数据发布为要素服务第12张

    现在,可以发布要素服务了。在Fiel菜单下找到Share As选择Service。

      【ArcGIS 10.2新特性】ArcGIS 10.2将PostgreSQL原生数据发布为要素服务第13张

      【ArcGIS 10.2新特性】ArcGIS 10.2将PostgreSQL原生数据发布为要素服务第14张

      【ArcGIS 10.2新特性】ArcGIS 10.2将PostgreSQL原生数据发布为要素服务第15张

      【ArcGIS 10.2新特性】ArcGIS 10.2将PostgreSQL原生数据发布为要素服务第16张


作者:小醉、Ivorymjl

免责声明:文章转载自《【ArcGIS 10.2新特性】ArcGIS 10.2将PostgreSQL原生数据发布为要素服务》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇测试平台系列(71) Python定时任务方案SELinux的启动和关闭下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用Oracle DBLink进行数据库之间对象的访问操作

Oracle中自带了DBLink功能,它的作用是将多个oracle数据库逻辑上看成一个数据库,也就是说在一个数据库中可以操作另一个数据库中的对象,例如我们新建了一个数据database1,我们需要操作数据库database2中的表,或者我们需要操作远程机器上数据库database3中的表,我们就可以使用dblink这个强大的功能!1、我们如果要创建全局的D...

sharding-jdbc

https://www.cnblogs.com/fengpinglangjingruma/p/14005759.html sharding-jdbc 提供了4种分片算法: 1、精确分片算法 精确分片算法(PreciseShardingAlgorithm)用于单个字段作为分片键,SQL中有 = 与 IN 等条件的分片,需要在标准分片策略(StandardSh...

ESRI系列产品报价表(ArcGIS 9.2系列)

ESRI系列产品报价表(ArcGIS 9.2系列) 1        ArcIMS        ArcIMS V9.2 Server License (Up to 2 Sockets, max 2 cores per socket). 12 Month Software Maintenace Service.        167,000.00 2    ...

MongoDB超级简明入门教程

1.概念篇 MongoDB和MySQL分别作为非关系型数据库和关系型数据库的代表,通过它们之间的对比可以很快的建立起对MongoDB的认知。 MongoDB MySQL 数据库(Database) 数据库(Database) 集合(Collection) 表(Table) 文档(Document) 记录(record) 对于关系型数...

php中mysql数据库操作类 -李盛鹏 -博客园

本白演示的代码属于较为简单的数据库封装类,较适合初学。因为水平有限,见谅。 接着稍微说说整体的思路。整个类的封装,包含一个连接数据库的私有属性$conn和若干操作函数。$conn在对象实例化的时候,由构造函数处理传入的参数后返回一个资源型的连接句柄。而后即可通过调用该实例化的对象的相应方法对数据库进行增删查改的操作。 talk less and show...

MySQL(5.0~5.7)Linux环境

 安装服务 1.MySQL-5.0.40 1.1.Source Installation Overview(lines 74 of install-source) 系统默认可能会安装三个mysql的包: mysql-libs mysql mysql-devel 从下往上依赖关系。 源码包安装mysql #检查环境 rpm -aq | grep...