ArcGIS连接Postgres 数据库
ArcGIS连接Postgres 数据库
此前在使用ArcGIS的过程中,一般使用文件方式对数据进行管理,后面也有使用 GeoDatabase 数据库对数据进行管理,但是这种管理方式也存在一些弊端,特别是在数据传输与共享方面,非常的不方便。 ArcGIS Spatial Database Engine(SDE)是一种空间数据引擎,通过这个中间件能够使得传统的DBMS数据库能够存储和管理空间数据。这种空间数据库的管理主要有如下优势:
便于数据的传输与共享
只要是在同一个局域网内的用户,通过对空间数据库的连接,便可以对数据进行查看、编辑,实现了数据共享
便于数据的处理
ArcGIS SDE 的这个空间扩展提供了很多的空间查询与分析的空间函数,可以使用SQL语句对数据库中的数据进行查询、处理、
分析,大大提高了工作效率

常用的主流数据库如 Oracle , SQL server ,Postgres SQL 均可以通过SDE和ArcGIS建立联系,实现对空间数据的储存和管理,这里以Postgres数据库为例。
系统环境: windows 10
软件环境:
- ArcGIS 10.4.1
- Postgres 9.4
步骤
安装相关软件环境
这里的ArcGIS 和Postgres版本必须要对应,例如,我的ArcGIS 10.4版本就只能支持Postgres 9.2-9.4版本
将ST_Geometry.dll拷贝到相应的数据库位置
这里ST_Geometry.dll文件位于一般位于ArcGIS Desktop\Server 的安装目录下面
C:\Program Files (x86)\ArcGIS\Desktop10.1\DatabaseSupport\PostgreSQL\Windows64
数据库的位置这里是指Postgres的安装目录
D:\Program Files\PostgreSQL\9.4\lib
ArcGIS 中创建地理数据库
工具:【Data Management Tools】->【GeoDatabase Administration】->【Create Enterprise GeoDatabase】

创建好数据库后,即可在数据库中查看,可以看到数据库中多了一个 sde的数据库,这个就是刚刚新创建的空间

连接新的空间数据库
创建完空间数据库后,还需要在ArcGIS中对空间数据进行连接,才能对空间数据库进行查看、编辑
连接数据库主要是在ArcGIS Catalog中进行 ,具体地址为:【Database Connections】->【Add Database Connections】

点击OK,即可完成连接,连接完成后,便可像处理文件夹或者本地的GeoDatabase数据库那样对数据进行处理。
常见问题
创建要素失败
postgresql中创建要素类提示
Database user name and current user schema do not match
解决方式: 用户使用的是postgres用户来连接SDE,这样可以连接但是创建不了要素类,必须使用sde
参考文章
ArcGIS连接Postgres 数据库的更多相关文章
- pgadmin(IDE)工具连接postgres数据库
1. 下载软件 软件地址:http://www.pgadmin.org/download/pgagent.php 2.安装软件 安装过程:略 打开软件64位会出现 “无 ...
- arcgis连接Oracle数据库
arcgis连接Oracle数据库 配置声明:本人的电脑是win10 64位,安装的Oracle是oracleR11gr2 64 arcgis版本位10.2 安装是在同一台电脑上. 一.首先是安装O ...
- Actix-web Rust连接Postgres数据库
Actix-web Rust连接Postgres数据库 Rust1.39支持了异步async,await,Actix-web在2.0.0-alpha支持了原生异步写法,所以本文中使用的Actix- ...
- 从ArcGIS连接Oracle数据库,并将Oracle数据库注册到ArcGIS Server
环境说明 客户端机器环境: ① Win7 SP1 64位 ② ArcGIS Desktop 10.2 32位 ③ ArcGIS Server 10.2 64位 服务器环境 ① Windows Serv ...
- shell编程连接postgres数据库(数据备份)
第一步:通过xshell或者其他工具连接到linux服务, 第二步:创建一个脚本:touch se.sh 第三步:输入i,代表开始输入内容 输入以下命令: 脚本如下:(sql语句可以是任何复杂的sql ...
- kaili 2.0 metasploit连接postgres数据库
第一步:使用命令 db_init 初始化数据库
- Metasploit连接postgres数据库
操作环境为Kali虚拟机 root@kali:~# apt-get install postgresql 启动服务 root@kali:~# service postgresql start [ ok ...
- kali 2.0中msf连接postgres数据库
装好kali 2.0后直接运行msfconsole msf> db_status postgres selected, no connection 百度到的解决方法多是针对BT和kali 1.0 ...
- arcgis连接oracle发布服务,提示数据未注册到服务器,手动注册服务器失败
arcgis连接oracle数据库发布服务时候,分析之后提示:数据未注册到服务器上. 手动注册之后提示:数据客户端没有正确配置.实际上数据库客户端已经安装完成也可以使用. 设置 PATH 环境变量(仅 ...
随机推荐
- Java匿名对象导致的内存泄漏
这几天与在某群与群友讨论了Runnable匿名对象导致内存泄漏的相关问题,特此记录一下. 示例代码如下: package com.memleak.memleakdemo; public class L ...
- [Java] 静态代理 动态代理
原理 静态代理=代理模式 动态代理=代理模式+反射 代理模式可以在不修改被代理对象的基础上,通过扩展代理类,进行一些功能的附加与增强 代理类和被代理类应该共同实现一个接口,或者是共同继承某个类 静态代 ...
- 【转载】Python 代码调试技巧
https://www.ibm.com/developerworks/cn/linux/l-cn-pythondebugger/ Python 代码调试技巧 张 颖2012 年 5 月 03 日发布 ...
- zabbix官方源替换为阿里云的zabbix源,一键脚本。(安装zabbix报错curl#18 - "transfer closed with 2988713 bytes remaining to read":15 ETA Trying other mirro)
最近突然安装zabbix总是报错,比如 (24/27): t1lib-5.1.2-14.el7.x86_64.rpm | 166 kB 00:00:00 zabbix-web-4.4.6-1.el7. ...
- MYSQL数据库快速添加测试数据方法
先添加两条数据,这里最好添加两条不一样的数据 INSERT INTO "表名"(**, **) VALUES (**,**),(**,**) 然后再次添加数据,这次把查询到的数据添 ...
- kylin聚合组的使用案例
在使用kylin聚合组进行优化的时候,往往不知道怎么使用. 这里有2个小案例可以参考. 1. 需要对某个维度进行隔离. 如果有些维度,你不想要它和其他维度一起出现,你就可以单独给它建一个聚合组,并且在 ...
- Qt 设置窗体透明
一.前言 在音频开发中,窗体多半为半透明.圆角窗体,如下为Qt 5.5 VS2013实现半透明方法总结. 二.半透明方法设置 1.窗体及子控件都设置为半透明 1)setWindowOpacity(0. ...
- Django(38)mac安装redis
安装redis 1.使用Homebrew安装Redis brew install redis 执行上述命令后出现以下内容,则成功安装 Download failed: https://mirrors. ...
- python报错“AttributeError: 'set' object has no attribute 'items'“
作为才开始学爬虫的萌新,遇到了一个这样的错,很懵逼 后面到网络到处查看大佬的解决方法,才发现headers的请求头部信息有错误,headers是一个字典,不是字符串,所以报错了 原代码 headers ...
- CAP理论之思考
分布式系统的最大难点就是各个节点如何保持一致.最近我在工作中就遇到这样的问题,不同节点之间,彼此通过API,进行通信,交互数据,但有些服务节点存在延迟等问题,导致我看到的并不是实时的数据,以及系统更新 ...