MapGIS 数据管理——数据管理与显示模型架构

在学习开发过程中模型架构的学习尤为重要,特别是GIS二次开发是与GIS原理的紧密结合,下面介绍一下MapGIS数据管理与显示的模型。

(本模型较简单,适合初学者学习理解)

学习本模型可以先接触MapGIS的相关操作,其中MapGIS K9中数据管理与地图的管理和这个模型相同,对应MapGISK9的工具有地图编辑器,GDB企业管理器。MapGIS 10的使用的就是上述模型。对应工具产品为工作空间,Catalog数据管理等内容。

模型中大致分成两条线,在地里空间数据和地图文档。

从空间数据上理解,所有的空间数据都存放在地里数据库中,地里数据库可以来源于本地的HDF本地数据数据库,也可以来自于SQL、Oracle等关系型数据库文件。下图所示为空间数据管理模型

从地图文档上理解,所有的图层都是有地图管理,地图又是由地图文档管理。换句话说一个地图文档,对应多个地图,一个地图中对应多个图层。

从上面的的示例中我们可以看到:地图文档,地图,图层中都没有存储空间数据,地图中是做做了不同图层的配置,如动态注记,显示比例,自绘驱动等等。地图文档中做了相应的版面配置等。真正的空间数据时存储到数据库中。

那么数据和图层又是什么关系能,可以理解为图层是绑定数据进行显示的,也就是说地图中只能显示图层,而不能显示数据。数据要显示表达,必须通过图层。

时间: 2024-10-15 12:29:40

MapGIS 数据管理——数据管理与显示模型架构的相关文章

浅谈服务器单I/O线程+工作者线程池模型架构及实现要点

转自 http://www.cnblogs.com/ccdev/p/3542669.html 单I/O线程+多工作者线程的模型,这也是最常用的一种服务器并发模型.我所在的项目中的server代码中,这种模型随处可见.它还有个名字,叫“半同步/半异步“模型,同时,这种模型也是生产者/消费者(尤其是多消费者)模型的一种表现. 这种架构主要是基于I/O多路复用的思想(主要是epoll,select/poll已过时),通过单线程I/O多路复用,可以达到高效并发,同时避免了多线程I/O来回切换的各种开销,

UGUI ScrollView中显示模型和特效

游戏开发中有时候会遇到在UI上显示模型和特效的需求,这次需要在ScrollView上显示.我们使用UGUI的Screen Space - Camera模式,修改模型和特效的layer使之显示在UI上面,但是会遇到ScrollView的mask无法剔除模型和特效的问题. 解决思路:计算出ScrollView的显示矩形框的世界坐标和尺寸,传给模型和特效的shader,在shader里判断这个像素的世界坐标是否超过矩形框,来判断是否显示图像. C#代码部分: using System.Collecti

LVS之NAT模型架构

LVS-NAT 一.架构平台环境 系统平台:CentOS 6.5 64bit  vmw10.0 lvs01(RS),lvs02(RS),lvs03(Director) 相关服务和专用名词定义 Director:负责调度集群的主机:也简称为调度器.分发器 VIP:Virtual IP 向外提供服务的IP:通常此IP绑定域名 DIP:与内部主机RIP通信的IP,在Director主机上 RIP:RealServer IP:内部真正提供服务的主机 CIP:客户端IP 二.LVS-NAT架构 三.LVS

强类型的HTML模板方法与直接显示模型

模型: public class Article { [Display(Name="文章")] public string ArticleID { get; set; } [Display(Name="栏目类别")] public string CategoryID { get; set; } [Display(Name="标题")] [Required] [StringLength(50)] public string Title { get;

tornado项目之基于领域驱动模型架构设计的京东用户管理后台

本博文将一步步揭秘京东等大型网站的领域驱动模型,致力于让读者完全掌握这种网络架构中的“高富帅”. 一.预备知识: 1.接口: python中并没有类似java等其它语言中的接口类型,但是python中有抽象类和抽象方法.如果一个抽象类有抽象方法,那么继承它的子类必须实现抽象类的所有方法,因此,我们基于python的抽象类和抽象方法实现接口功能. 示例代码: from abc import ABCMeta from abc import abstractmethod #导入抽象方法 class F

【Stage3D学习笔记续】真正的3D世界(二):显示模型

虽然我们进入真3D世界了,但是上一章的Demo仍然是显示的一个平面,尽管我们的平面在3D空间中旋转可以看出一点3D透视的效果,但是既然是真3D,就要拿出点3D的样子来! 如果要显示3D模型,我们就要告别直接使用代码编写顶点数据的时代了,想想上一节,平面的四边形手写顶点或许还过得去,但是如果手写一个立方体的8个顶点数据就有点难了吧,如果是显示更加复杂的形状呢? 要显示一个3D模型,就需要一个特定格式的3D模型文件,3D模型文件一般使用3D建模工具创建,美术完成建模后会将模型导出为特定格式的3D模型

DAO模型 架构

这是项目的架构 dao层下面有一个平级的包 impl   //dao层  访问数据库. GradeDAOImpl 他继承了BaseDAO 实现了IGradeDAO接口 public class GradeDAOImpl extends BaseDAO implements IGradeDAO { @Override public List<Grade> findAllGrades() throws Exception { List<Grade> list = new ArrayLi

在 ASP.NET Core 中向 Razor Pages 应用显示模型

以下是实现也一个asp.net core Razor Pages的基本步骤 1.定义模型元素 using System; using System.ComponentModel.DataAnnotations; namespace RazorPagesMovie.Models { public class Movie { public int ID { get; set; } public string Title { get; set; } [DataType(DataType.Date)]

选型宝分享Informatica中国数据管理5大经典案例

写在前面 我们请来了Informatica大中国区的首席架构师但彬先生,和大家聊一聊数据和数据管理的话题. 李维良(主持人) 在数据管理这个大概念下,有哪些细分领域?在每个细分领域中,Informatica又布局了哪些产品? 但彬 我们常说IT(Information Technology信息技术),其中一半是I,也就是信息,尤其在今天,数据和信息变得越来越重要.从数据库(Database)到数据仓库(Data Warehouse)和数据挖掘,再到今天的大数据(Big Data)和数据治理,数据