先了解几个基本概念,有助于了解本文应用场景
地理信息系统GIS-百度百科
地理信息系统(Geographic Information System或 Geo-Information system,GIS)有时又称为“地学信息系统”。它是一种特定的十分重要的空间信息系统。它是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统
ArcGIS平台
ArcGIS产品线为用户提供一个可伸缩的,全面的GIS平台。ArcObjects包含了许多的可编程组件,从细粒度的对象(例如单个的几何对象)到粗粒度的对象(例如与现有ArcMap文档交互的地图对象)涉及面极广,这些对象为开发者集成了全面的GIS功能。
Geometry数据类型
Geometry是一种空间几何数据类型,常用于描述空间几何信息,例如坐标点、线、面、三维信息等。
也就是说,GIS一般使用Geometry数据类型来存储及展示地理信息。
常见的支持Geometry的数据库有Oracle、SqlServer、Mysql、PostgreSQL
Sql-Server中支持的Geometry文档以及Sql-Server中可选择的地理数据类型如图
应用场景示例
如图,该应用主要为使用ArcGIS做地理信息系统,使用SqlServer作为空间数据库,使用Java搭建后台服务处理数据,使用JS的Vue结合ArcGIS的API做前端的渲染,成功的将地理信息高亮标识在地图上
本文关注点:使用java对Geometry数据进行处理,附带对arcgis系统一些简单使用说明 简单描述一个gis应用系统的处理流程
1. 使用ArcGIS创建地理数据库,发布GIS服务
数据库和 ArcGIS Enterprise
如何注册数据库到 ArcGIS Server 站点
发布地图服务
通过以上的文档,我们可以创建一个地理数据库,并将数据库通过arcgis进行连接,发布为一个Restful服务
访问该接口,如图
image.png
那这个接口提供了那些功能呢?
支持的操作大概如下:
Supported Operations: Query Apply Edits Add Features Update Features Delete Features Calculate Validate SQL Generate Renderer Return Updates Iteminfo Thumbnail Metadata
由ArcGIS提供的这些服务,我们可以以可视化的方式,对空间地理信息进行查询及展示
后面我们将做进一步的说明
2. 空间数据以及WKT熟知文本
好的,我们有了数据库,也有了arcgis提供的服务,现在该如何新增空间数据呢?
先通过WKT了解下空间数据Geometry大概长什么样
WKT,是一种文本标记语言,用于表示矢量几何对象、空间参照系统及空间参照系统之间的转换。它的二进制表示方式,亦即WKB(well-known binary)则胜于在传输和在数据库中存储相同的信息。该格式由开放地理空间联盟(OGC)制定。
WKT可以表示的几何对象包括:点,线,多边形,TIN(不规则三角网)及多面体。可以通过几何集合的方式来表示不同维度的几何对象。
几何物体的坐标可以是2D(x,y),3D(x,y,z),4D(x,y,z,m),加上一个属于线性参照系统的m值。
以下为几何WKT字串样例:
POINT(6 10)
LINESTRING(3 4,10 50,20 25)
POLYGON((1 1,5 1,5 5,1 5,1 1),(2 2,2 3,3 3,3 2,2 2))
MULTIPOINT(3.5 5.6, 4.8 10.5)
MULTILINESTRING((3 4,10 50,20 25),(-5 -8,-10 -8,-15 -4))
MULTIPOLYGON(((1 1,5 1,5 5,1 5,1 1),(2 2,2 3,3 3,3 2,2 2)),((6 3,9 2,9 4,6 3)))
GEOMETRYCOLLECTION(POINT(4 6),LINESTRING(4 6,7 10))
POINT ZM (1 1 5 60)
POINT M (1 1 80)