GIS 相关知识

本贴最后更新于 1997 天前,其中的信息可能已经时移世易

GIS 的三大应用

第一类是政府应用,“电子政务” 是当今政府加强信息化建设的新方向,是指在现代计算机、网络通信等技术支撑下,政府机构日常办公、信息收集与发布、公共管理等事务在数字化、网络化的环境下进行的国家行政管理形式。GIS 已成为很多政府决策部门工作必备的支撑系统之一,在国家水利、电力、林牧业、地矿、交通、资源环境保护等机构己发挥重要作用。
第二类是企业应用,随着信息时代的到来,企业的组织、运营、管理也逐渐向信息化方向发展,GIS 通过提供可视化地理空间信息服务结合企业管理信息系统,为企业的业务规划、物流等领域提供辅助决策。
第三类是大众应用,WebGIS 的产生为大众提供了获取地理空间信息服务的平台,通过开放的、操作简单的 WebGis 服务,满足大众对地理信息的需求,如:方便人们出行的谷歌、百度地图服务。GIS 三大组成部分

(1)数字化的数据

数字化的数据是信息在计算机中的表现形式,是指要使用计算机软硬件进行图形化显示和空间分析操作的地理空间信息。GIS 中的数据不同于其他信息系统的数据,它具有空间特性,Gis 数据分为空间数据和非空间数据两类.比如 GIS 中的一条数据经度和纬度数据表示该事物的空间位置,属于空间数据,名字和日期数据表示该事物的属性,属于非空间数据,GIS 将空间数据和非空间数据进行结合进行分析、处理。GIS 功能
基本功能应包括:数据输入、数据编辑、数据存储、数据操作、数据分析、数据显示和输出

(1)数据输入:也称数据采集
人工数字化输入 远程遥感的卫星图像和 GPS
(2)数据编辑:随着地图要素的数字化操作,用户需要完成将所有的空间要素关联到其对应的属性数据,清理并改正在数据转换过程中产生的错误.
(3)数据存储:当数据经过数字化、编辑后,数字化的地图数据需要存储在磁盘或其他存储设备上,存储使用的数据模型最常用的包括:栅格格式和矢量格式。两种格式都将原有图数据简化为一种容易存储的通用格式。
(4)数据操作:当数据在系统中存储后,用户就可以对数据进行一系列的操作,GIS 操作通常以一个工具包的形式提供给用户,工具包中包括基本的数据操作和分析功能,如:数据检索、面积周长测量、坐标转换、投影变换、图幅接边等。
(5) 数据分析:Gls 的核心在于其强大的分析能力,如对距离某一事故地点一定范围内各种空间要素的搜索,并对相关的信息进行统计分析,为事故处理提供所需要的信息。

遥感技术、全球定位技术与地理信息系统合称为“3S”技术 OpenGIS
(Open Geodata Interoperation Specification,OGIS-开放的地理数据互操作规范)
是由美国 OGC(OpenGIS 协会,OpenGIS Consortium)提出,主要架构和类库几何基础类库
代表: JTS(Java), GEOS(C++), Shapely(Python)
这类几何基础类库主要实现的是 OpenGIS 的 Simple Feature Access 标准,简单地说他们就是对几何类型(Geometry)进行了一定程度的封装。

以 JTS 为例,它按照 OpenGIS 对于 Geometry 的描述实现了基于 Java 的接口和继承关系,制作好了可以使用的类似 Point、LineString 这样的类。另外这些类库还普遍实现了 OpenGIS 的 DE-9IM 空间位置关系判断和一些常用的计算几何方法(如缓冲(buffer))此类软件是所有 GIS 类库的基础,正如几何是 GIS 的基础之一一样。

数据源实现代表:PostGIS(PostgreSQL),MySQL Spatial
数据源的实现主要是开源数据库的空间扩展。数据库的空间扩展不仅仅在数据表中支持几何类型的存储,而且更提供了 SQL 级别的集合关系判断,例如,可以直接利用 SQL 查询在某个多边形内的点。
PostGIS 是加拿大 Refractions 公司支持的开源项目,它为开源数据库 PostgreSQL 提供了空间支持。PostGIS 安装后,PostgreSQL 中出现一个模版数据库,新建空间数据库时只需以 PostGIS 为模版即可。PostGIS 在 SQL 级别上实现了基本的空间运算功能。另外绝大多数开源 GIS 软件(即使是不严格遵守 OpenGIS 标准的)都支持 PostGIS 数据表的直接载入,读写等功能。毋庸置疑,PostGIS 是 OpenGIS 数据源最佳实现。
目的是促进采用新的技术和商业方式来提高地理信息处理的互操作性(Interoperability),
它致力于消除地理信息应用(如地理信息系统,遥感,土地信息系统,自动制图/设施管理(AM/FM)系统)
之间以及地理应用与其它信息技术应用之间的藩篱,建立一个无“边界”的、分布的、基于构件的地理数据互操作环境

中间件代表:GeoTools(Java)
中间件在系统中扮演连接数据和服务的角色。GeoTools 承担了从各种数据源(如 PostGIS,GML,Shapefile,WFS)读取数据并将数据标准化的工作。Feature 接口就定义在 GeoTools 中,不同数据源的数据读出后被统一成包含一个 Geometry 成员(定义在 JTS 中)的 Feature 接口的实现。这样,进一步的操作只需面向 Feature 即可,
省去了高层软件对于不同数据源的解读过程。另外,GeoTools 还是 OpenGIS 标准的全面实现,其中包括 Filter、坐标转换、GML。

GeoTools 和 JTS 还有 GeoAPI 到底是什么关系?
JTS 是加拿大的 Vivid Solutions 做的一套开放源码的 Java API。它提供了一套空间数据操作的核心算法。为在兼容 OGC 标准的空间对象模型中进行基础的几何操作提供 2D 空间谓词 API。GeoAPI 为 OpenGIS 规范提供一组 Java 接口。Geotools 是一个开源的 Java GIS 工具包,可利用它来开发符合标准的地理信息系统。
Geotools 提供了 OGC(Open Geospatial Consortium)规范的一个实现来作为他们的开发。
简单而言:GeoTools 的目标是致力于开发一个符合规范的 Gis 工具包,既然是工具包,那么就要有很多工具用来对付构建一个完整的地理信息系统时会碰到的问题,常见的问题比如:投影的转换,基准面的设定,空间数据对象的渲染和样式,各种数据源的支持,各种 GIS 文件格式支持,空间数据过滤与搜索。。。。等等的问题。

在开发这些工具的时候,恰好在处理空间数据图形关系的时候,有一个非常好的解决方案,那就是 JTS,JTS 解决了对象与对象之间拓扑关系的判定和计算,并提供很多有用的算法来解决对象的面积,长度。。。等等等的问题。这样而言,JTS 就相当于 GeoTools 中的一个子模块。但因为这个模块本身不是 GeoTools 工程的,所以在 javadoc 中找不到 JTS 的 API,需要到 JTS 官网上面另外下载。至于 GeoAPI 则是 GeoTools 符合标准的模板。它制定了地理信息系统中所有的数据类型应该是什么,投影转换的方式有哪几种诸如此类的规范。这样兼容 GeoAPI 接口的 GeoTools 才是一个符合规范的地理信息系统工具包。

WMS/WFS 服务器
Web Map Service(WMS)根据用户的请求返回相应的地图(包括 PNG,GIF,JEPG 等栅格数据或者 SVG,WEB CGM 矢量数据) 。
代表: GeoServer(Java),MapServer(PHP)
地图服务器扮演向网络中的客户端提供地图服务的角色。这类地图服务器可以接收统一规范的 WMS 和 WFS 请求(request),返回多种格式的数据。这个过程有 WMS/WFS 规范的严格规定,所以,对客户端来说其地图服务器的实现究竟是什么并不会造成太大影响。

GeoServer 是 OpenGIS Web 服务器规范的 J2EE 实现的社区开源项目,利用 GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过 GeoServer 可以比较容易的在用户之间迅速共享空间地理信息。
GeoServer 兼容 WMS 和 WFS 特性;支持 PostGIS 、 Shapefile 、 ArcSDE 、 Oracle 、 VPF 、 MySQL 、 MapInfo ;支持上百种投影;能够将网络地图输出为 jpeg 、 gif 、 png 、 SVG 、 KML 等格式;能够运行在任何基于 J2EE/Servlet 容器之上;嵌入 MapBuilder 支持 AJAX 的地图客户端 OpenLayers;

客户端
代表:OpenLayers/MapBuilder(JavaScript),uDig(Java),QGIS(C++)
客户端分为浏览器和桌面客户端程序两种。以 OpenLayers 为代表的 B/S 系统客户端现在已经非常强大,它可以封装 WMS 请求,在浏览器上实现地图的切片载入功能。另外拖动、缩放都功能也非常完善,可以实现跨浏览器操作。最近的 OpenLayers 版本还支持了矢量编辑功能,可以通过 WFS-t 提交。
而传统的桌面客户端程序功能则更加强大,支持多种包括 WMS 和 WFS 在内的数据源,另外编辑功能、操作性也要比浏览器中的强大。数据格式 ESRI 的 Shapefile 格式
是 GIS 矢量文件格式的事实标准,通常由.shp, .shx, .prj, .dbf 等文件组成。
OpenGIS 的实现软件普遍支持 Shapefile 的读写。Shapefile 在 GeoServer 中可以直接作为数据源,但是这种方式并不被推荐,原因很简单,基于文件的数据源可能造成性能不佳和数据丢失。shape 格式文件最少包含 3 个文件,他们的后缀是:.shp, .dbf, .shx。.shp 存储地理形状和位置信息,.dbf 存储属性信息,.shx 是索引文件。
MapInfo 的.mif/.mid 格式
.MIF 的文件,它主要用来保存空间对象的几何数据;扩展名为.MID 的文件,它主要用来保存与几何数据相对应的属性数据;

GML
GML 是 OpenGIS 的标准规范之一,它基于 xml 描述地理数据。于 Shapefile 相比,xml 更容易读写,易于在网络中以各种形式传播。
同时,xml 还具有可读性,人可以理解和辨识。GeoTools 实现了 GMLDataStore,因此在 GeoServer 中 GML 也可以直接作为数据源(需要下载 GML 扩展)。
同时,GML 的数据源为数据源动态化提供了实现的思路和可能性。

地理应用服务器

Mapinfo MapXtreme
MapObject Autodesk
Map Guide
ArcIMS
Super MapArcGIS Server

MapXtreme 是 MapInfo 公司开发的基于 Internet/ Intranet 的应用服务器,它具有强大的地图化功能,包括绘制专题地图、缓冲区分析、地图编辑、地图目标查找、地图显示、图层控制、空间选择、地理编码、扩展地图库和示例数据等。管理员只要在 Web 服务器上对 MapXtreme 进行编程和管理,用户就能够通过 Web 浏览器访问到地图信息。

工作方式
  MapXtreme 的工作方式总体来说是瘦客户端的工作方式,客户端看到的地图是服务端根据用户请求动态生成的某种格式的图片。MapXtreme 采用的是 B/S 模式三层架构客户端首先向 Web 服务器提交 HTTP 请求,递交 Form 表单,Web 服务器收到该请求后,把地图操作请求提交给地图应用服务,地图应用服务在内部调用 MapXServer 响应用户的操作请求,进行相应的空间分析和处理后,产生新的地图图片,返回给 Web 服务器,Web 服务器再把该图片嵌入到 HTML 页面中并返回到客户端的浏览器上

原文链接:https://blog.csdn.net/cdl2008sky/article/details/7266680

  • GIS
    10 引用 • 23 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • OpenShift

    红帽提供的 PaaS 云,支持多种编程语言,为开发人员提供了更为灵活的框架、存储选择。

    14 引用 • 20 回帖 • 661 关注
  • PWL

    组织简介

    用爱发电 (Programming With Love) 是一个以开源精神为核心的民间开源爱好者技术组织,“用爱发电”象征开源与贡献精神,加入组织,代表你将遵守组织的“个人开源爱好者”的各项条款。申请加入:用爱发电组织邀请帖
    用爱发电组织官网:https://programmingwithlove.stackoverflow.wiki/

    用爱发电组织的核心驱动力:

    • 遵守开源守则,体现开源&贡献精神:以分享为目的,拒绝非法牟利。
    • 自我保护:使用适当的 License 保护自己的原创作品。
    • 尊重他人:不以各种理由、各种漏洞进行未经允许的抄袭、散播、洩露;以礼相待,尊重所有对社区做出贡献的开发者;通过他人的分享习得知识,要留下足迹,表示感谢。
    • 热爱编程、热爱学习:加入组织,热爱编程是首当其要的。我们欢迎热爱讨论、分享、提问的朋友,也同样欢迎默默成就的朋友。
    • 倾听:正确并恳切对待、处理问题与建议,及时修复开源项目的 Bug ,及时与反馈者沟通。不抬杠、不无视、不辱骂。
    • 平视:不诋毁、轻视、嘲讽其他开发者,主动提出建议、施以帮助,以和谐为本。只要他人肯努力,你也可能会被昔日小看的人所超越,所以请保持谦虚。
    • 乐观且活跃:你的努力决定了你的高度。不要放弃,多年后回头俯瞰,才会发现自己已经成就往日所仰望的水平。积极地将项目开源,帮助他人学习、改进,自己也会获得相应的提升、成就与成就感。
    1 引用 • 487 回帖 • 2 关注
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    240 引用 • 224 回帖 • 3 关注
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    209 引用 • 2040 回帖
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    315 引用 • 547 回帖
  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    127 引用 • 169 回帖 • 1 关注
  • 导航

    各种网址链接、内容导航。

    45 引用 • 177 回帖 • 3 关注
  • 电影

    这是一个不能说的秘密。

    122 引用 • 608 回帖
  • Word
    13 引用 • 41 回帖
  • Anytype
    3 引用 • 31 回帖 • 27 关注
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    181 引用 • 400 回帖
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖
  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖 • 1 关注
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    29 引用 • 202 回帖 • 28 关注
  • 区块链

    区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。

    92 引用 • 752 回帖
  • ngrok

    ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。

    7 引用 • 63 回帖 • 654 关注
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    86 引用 • 165 回帖 • 1 关注
  • 创造

    你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!

    186 引用 • 1021 回帖
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    49 引用 • 192 回帖
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖 • 2 关注
  • 996
    13 引用 • 200 回帖 • 5 关注
  • 倾城之链
    23 引用 • 66 回帖 • 167 关注
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    59 引用 • 22 回帖 • 10 关注
  • etcd

    etcd 是一个分布式、高可用的 key-value 数据存储,专门用于在分布式系统中保存关键数据。

    6 引用 • 26 回帖 • 544 关注
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    29 引用 • 66 回帖 • 1 关注
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 405 关注