postgis数据源一库多平台共用

2024-02-25 08:58

本文主要是介绍postgis数据源一库多平台共用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者:Neshoir

PostGIS数据源一库多平台共用

​         作为一枚Giser,应该没有人不会不知道PostGIS吧!众所周知PostGIS是一个主流的开源空间数据库引擎,基于开源数据库PostgreSQL的空间扩展插件。PostGIS提供了丰富的空间数据存储模型、矢量和栅格数据的处理能力、空间分析函数、GIST索引、空间坐标系等特性,具有完善的生态圈。很多开源产品如GeoServer、QGIS均使用了PostGIS,一些商业GIS软件如ArcMap、SuperMap iDesktop均有对接PostGIS,能够使用PostGIS作为空间数据的存储引擎,也支持基于它做一些空间分析。本文将重点介绍如果在多个GIS平台软件里共同使用同一个PostGIS库。

一、软件安装
  • SuperMap iDesktop、ArcMap、PostgreSQL、PostGIS等软件可自行去官网下载及安装。注意:iDesktop 10i对PostgreSQL8.3及以上版本均支持。ArcMap不同版本兼容不同版本的PostgreSQL,比如ArcMap10.8只支持9.6、10、11版本的PostgreSQL。
  • 根据系统和PostgreSQL版本,在ArcMap安装路径的…\DatabaseSupport\PostgreSQL\ … 目录对应st_geometry库拷贝到PostgreSQL安装路径的%PostgreSQL%\lib目录下。
二、创建数据库
  • 创建名称为sde的角色。

    -- 创建名称的sde的角色,赋予创建数据库权限,设置密码。
    CREATE ROLE sde WITH CREATEDB LOGIN PASSWORD 'qaz!123';
    
  • 创建名称为testdb的数据库。

    -- 创建一个数据库,拥有者为sde。
    CREATE DATABASE testdb OWNER sde TABLESPACE pg_default ENCODING 'UTF8';
    
  • 连接上testdb数据库,创建插件和schema。

    -- 创建postgis插件,在postgis 3以下版本,postgis插件包括了矢量和栅格模块,3.+版本把栅格模块独立出来了。
    CREATE EXTENSION postgis;
    -- 创建名称为sde的schema
    CREATE SCHEMA sde 
    

注意: 角色和schema的名称为sde,这是必须的,否则无法在ArcMap中无法将空间数据入库到PostGIS中。

三、SuperMap iDesktop和ArcMap连接PostGIS库
  • iDesktop创建PostGis数据源,以便能支持SuperMap里空间数据模型,如文本数据集、网络数据集、CAD数据集等(SuperMap扩展实现的存储类型,PostGIS本身不支持,只支持点线面类型。),创建后是一个空的数据源。

在这里插入图片描述

  • ArcMap新建PostGIS库链接。

    在这里插入图片描述

  • ArcMap开启并开启"地理数据库功能",以便能支持标注等类型。(ArcMap扩展类型,PostGIS本身不支持)。在PostGIS数据库链接上鼠标右键,点击"开启地理数据库",弹窗后,选择认证文件进行开启。

    在这里插入图片描述

四、通过iDesktop和ArcMap将矢量数据入库到PostGIS库中。
  • iDesktop打开china.udb数据源,将china_r面数据集复制到PostGIS中。

    在这里插入图片描述在这里插入图片描述

  • ArcMap链接的数据库刷新,即可。

在这里插入图片描述

  • ArcMap中复制gdb下的数据集到PostGIS中。在gdb中选择一个面数据集鼠标右键"复制",然后在PostGIS数据库鼠标右键"粘贴",这时会弹窗参数设置,注意类型选择PG_GEOMETRY。

    在这里插入图片描述

    在这里插入图片描述

  • iDesktop中数据库链接刷新,即可。

    在这里插入图片描述

总结:至此,iDesktop和ArcMap可以共用同一个PostGIS数据库,当然QGIS也可以共用。这样即可解决各个业务系统之家数据共享的问题。iDesktop支持对矢量数据的编辑、修改操作,ArcMap好像不支持,因为不是非SDE引擎不支持编辑。

这篇关于postgis数据源一库多平台共用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/745002

相关文章

在Java中基于Geotools对PostGIS数据库的空间查询实践教程

《在Java中基于Geotools对PostGIS数据库的空间查询实践教程》本文将深入探讨这一实践,从连接配置到复杂空间查询操作,包括点查询、区域范围查询以及空间关系判断等,全方位展示如何在Java环... 目录前言一、相关技术背景介绍1、评价对象AOI2、数据处理流程二、对AOI空间范围查询实践1、空间查

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

SpringBoot多数据源配置完整指南

《SpringBoot多数据源配置完整指南》在复杂的企业应用中,经常需要连接多个数据库,SpringBoot提供了灵活的多数据源配置方式,以下是详细的实现方案,需要的朋友可以参考下... 目录一、基础多数据源配置1. 添加依赖2. 配置多个数据源3. 配置数据源Bean二、JPA多数据源配置1. 配置主数据

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

在Android平台上实现消息推送功能

《在Android平台上实现消息推送功能》随着移动互联网应用的飞速发展,消息推送已成为移动应用中不可或缺的功能,在Android平台上,实现消息推送涉及到服务端的消息发送、客户端的消息接收、通知渠道(... 目录一、项目概述二、相关知识介绍2.1 消息推送的基本原理2.2 Firebase Cloud Me

SpringBoot利用dynamic-datasource-spring-boot-starter解决多数据源问题

《SpringBoot利用dynamic-datasource-spring-boot-starter解决多数据源问题》dynamic-datasource-spring-boot-starter是一... 目录概要整体架构构想操作步骤创建数据源切换数据源后续问题小结概要自己闲暇时间想实现一个多租户平台,

nginx配置多域名共用服务器80端口

《nginx配置多域名共用服务器80端口》本文主要介绍了配置Nginx.conf文件,使得同一台服务器上的服务程序能够根据域名分发到相应的端口进行处理,从而实现用户通过abc.com或xyz.com直... 多个域名,比如两个域名,这两个域名其实共用一台服务器(意味着域名解析到同一个IP),一个域名为abc

Spring Boot实现多数据源连接和切换的解决方案

《SpringBoot实现多数据源连接和切换的解决方案》文章介绍了在SpringBoot中实现多数据源连接和切换的几种方案,并详细描述了一个使用AbstractRoutingDataSource的实... 目录前言一、多数据源配置与切换方案二、实现步骤总结前言在 Spring Boot 中实现多数据源连接

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖