概念

坐标系

大地坐标系

  • 用经纬度表示的是地理坐标系,也称大地坐标系
  • WGS84 是大地坐标系 ,B,L,H 分别指 纬度、经度、高度

空间直角坐标系

  • x,y,z为其坐标元素,单位为米

  • WGS84 北京54 西安80大地坐标系,是用经纬度表示的 。也有WGS84 北京54 西安80平面坐标系,使用xy表示的

OGC

OGC 全称是开放地理空间信息联盟(Open Geospatial Consortium),是一个非盈利的国际标准组织,它制定了数据和服务的一系列标准,GIS厂商按照这个标准进行开发可保证空间数据的互操作,致力于提供地理信息行业软件和数据及服务的标准化工作

建筑物白膜

  • 利用高精度卫星影像或无人机航飞资料,精准数字化描述建筑物轮廓,并通过立体建模精确量算建筑物高度。从而生成可用于智慧城市、智慧园区的建筑物白膜、贴图等三维场景数据、并生成不同格式,包括空间瓦片以便供三维系统调用
  • 特点
    • 提供建筑物标准轮廓
    • 精准测量建筑物高度
    • 真实坐标位置
    • 生成立体图形
    • 多种输出格式(osgb\b3dm\obj)
    • 增强版提供精细建筑物标准轮廓,体现阳台、女儿墙、建筑物顶部建筑

数据格式

osgb「倾斜影像数据」、udb 、dwg、 tif, tiff、web天地图

DEM

DEM是数字高程模型的英文简称(Digital Elevation Model),是研究分析地形、流域、地物识别的重要原始资料。由于DEM 数据能够反映一定分辨率的局部地形特征,因此通过DEM 可提取大量的地表形态信息,可用于绘制等高线、坡度图、坡向图、立体透视图、立体景观图,并应用于制作正射影像、立体地形模型与地图修测。在测绘、水文、气象、地貌、地质、土壤、工程建设、通讯、军事等国民经济和国防建设以及人文和自然科学领域有着广泛的应用。如在工程建设上,可用于如土方量计算、通视分析等;在防洪减灾方面,DEM是进行水文分析如汇水区分析、水系网络分析、降雨分析、蓄洪计算、淹没分析等的基础; 在无线通讯上,可用于蜂窝电话的基站分析等

Shape files

  • Shape files是ESRI提供的一种矢量数据格式,它没有拓扑信息,一个Shape files由一组文件组成,其中必要的基本文件包括坐标文件(.shp)、索引文件(.shx)和属性文件(.dbf)三个文件

  • 坐标文件(.shp)用于记录空间坐标信息。它由头文件和实体信息两部分构成

    文件头
    记录头 记录内容
    记录头 记录内容
    记录头 记录内容
    记录头 记录内容
  • Shapefile文件支持的几何类型(ShapeType)

    编号 几何类型
    0 Null Shape(表示这个Shapefile文件不含坐标)
    1 Point(表示Shapefile文件记录的是点状目标,但不是多点)
    3 PolyLine(表示Shapefile文件记录的是线状目标)
    5 Polygon(表示Shapefile文件记录的是面状目标)
    8 MultiPoint(表示Shapefile文件记录的是多点,即点集合)
    11 PointZ(表示Shapefile文件记录的是三维点状目标)
    13 PolyLineZ(表示Shapefile文件记录的是三维线状目标)
    15 PolygonZ(表示Shapefile文件记录的是三维面状目标)
    18 MultiPointZ(表示Shapefile文件记录的是三维点集合目标)
    21 PointM(表示含有Measure值的点状目标)
    23 PolyLineM(表示含有Measure值的线状目标)
    25 PolygonM(表示含有Measure值的面状目标)
    28 MultiPointM(表示含有Measure值的多点目标)
    31 MultiPatch(表示复合目标)
  • 对于一个不是记录Null Shape 类型的Shapefile文件,它所记录的空间目标的几何类型必须一致,不能在一个Shapefile文件中同时记录两种不同类型的几何目标不同的几何目标,对应不同的 Shapefiles

  • 点状目标

    shapefile中的点状目标由一对X、Y坐标构成,坐标值为双精度型(double)

  • 线状目标

    shapefile中的线状目标是由一系列点坐标串构成,一个线目标可能包括多个子线段,子线段之间可以是相离的,同时子线段之间也可以相交。Shapefile允许出现多个坐标完全相同的连续点

  • 面状目标

    shapefile中 的面状目标是由多个子环构成,每个子环是由至少四个顶点构成的封闭的、无自相交现象的环。对于含有岛的多边形,构成它的环有内外环之分,每个环的顶点的排 列顺序或者方向说明了这个环到底是内环还是外环。一个内环的顶点是按照逆时针顺序排列的;而对于外环,它的顶点排列顺序是顺时针方向。如果一个多边形只由 一个环构成,那么它的顶点排列顺序肯定是顺时针方向。

    每条多边形记录的数据结构与线目标的数据结构完全相同

  • 属性文件的结构说明

    属性文件(.dbf)用于记录属性信息。它是一个标准的DBF文件,也是由头文件和实体信息两部分构成

  • 索引文件的结构说明

    索引文件(.shx)主要包含坐标文件的索引信息,文件中每个记录包含对应的坐标文件记录距离坐标文件的文件头的偏移量。通过索引文件可以很方便地在坐标文件中定位到指定目标的坐标信息

Kml

  • KML 是一种文件格式,用于描述地理空间数据(如点、线、面、多边形和模型

  • KML 使用包含嵌套的元素和属性的结构(基于标记),并符合 XML 标准

  • 所有标记都区分大小写,并且必须与 KML 参考中列出的完全一样,该参考指出了哪些标记是可选的在给定元素内,标记必须按照参考中列出的顺序显示

  • 2008 年4月,KML的最新版本2.2 被OGC 宣布为开放地理信息编码标准,并改由OGC 维护和发展

点数据示例:map.kml

一个 Placemark 标签代表一个点、线、面信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
<?xml version="1.0" encoding="UTF-8"?>
<kml
xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Placemark>
<name> 这是另外一个点</name>
<ExtendedData>
<Data name="name">
<value> 这是另外一个点</value>
</Data>
<Data name="marker-color">
<value>#a25757</value>
</Data>
<Data name="marker-size">
<value>medium</value>
</Data>
<Data name="marker-symbol">
<value>circle</value>
</Data>
</ExtendedData>
<Point>
<coordinates>109.16015624999999,29.458731185355344</coordinates>
</Point>
</Placemark>
<Placemark>
<ExtendedData></ExtendedData>
<Point>
<coordinates>110.42358398437499,33.17434155100208</coordinates>
</Point>
</Placemark>
<Placemark>
<ExtendedData></ExtendedData>
<Point>
<coordinates>112.78564453124999,32.29641979896909</coordinates>
</Point>
</Placemark>
<Placemark>
<ExtendedData></ExtendedData>
<Point>
<coordinates>112.576904296875,31.16580958786196</coordinates>
</Point>
</Placemark>
<Placemark>
<ExtendedData></ExtendedData>
<Point>
<coordinates>113.66455078125,31.015278981711266</coordinates>
</Point>
</Placemark>
<Placemark>
<name> 这是一个点</name>
<ExtendedData>
<Data name="marker-color">
<value>#ab1c9f</value>
</Data>
<Data name="marker-size">
<value>large</value>
</Data>
<Data name="marker-symbol">
<value>star</value>
</Data>
<Data name="name">
<value> 这是一个点</value>
</Data>
</ExtendedData>
<Point>
<coordinates>108.80859375,33.43144133557529</coordinates>
</Point>
</Placemark>
<Placemark>
<name>这是一个折线</name>
<ExtendedData>
<Data name="stroke">
<value>#a31919</value>
</Data>
<Data name="stroke-width">
<value>5</value>
</Data>
<Data name="stroke-opacity">
<value>0.6</value>
</Data>
<Data name="name">
<value>这是一个折线</value>
</Data>
</ExtendedData>
<LineString>
<coordinates>112.1484375,39.30029918615029 116.3671875,33.94335994657882 114.345703125,28.76765910569123</coordinates>
</LineString>
</Placemark>
<Placemark>
<name> 这是一个多边形</name>
<ExtendedData>
<Data name="stroke">
<value>#5158bd</value>
</Data>
<Data name="stroke-width">
<value>2</value>
</Data>
<Data name="stroke-opacity">
<value>1</value>
</Data>
<Data name="fill">
<value>#df6868</value>
</Data>
<Data name="fill-opacity">
<value>0.5</value>
</Data>
<Data name="name">
<value> 这是一个多边形</value>
</Data>
</ExtendedData>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<coordinates>95.537109375,33.284619968887675 93.33984375,30.372875188118016 95.2734375,27.137368359795584 102.12890625,27.059125784374068 102.12890625,31.728167146023935 95.537109375,33.284619968887675</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name> 这是一个正方形</name>
<ExtendedData>
<Data name="stroke">
<value>#559172</value>
</Data>
<Data name="stroke-width">
<value>2</value>
</Data>
<Data name="stroke-opacity">
<value>1</value>
</Data>
<Data name="fill">
<value>#bd7575</value>
</Data>
<Data name="fill-opacity">
<value>0.5</value>
</Data>
<Data name="name">
<value> 这是一个正方形</value>
</Data>
</ExtendedData>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<coordinates>92.10937499999999,35.24561909420681 101.689453125,35.24561909420681 101.689453125,39.639537564366684 92.10937499999999,39.639537564366684 92.10937499999999,35.24561909420681</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name> 这是另外一个点</name>
<ExtendedData>
<Data name="marker-color">
<value>#a25757</value>
</Data>
<Data name="marker-size">
<value>medium</value>
</Data>
<Data name="marker-symbol">
<value>circle</value>
</Data>
<Data name="name">
<value> 这是另外一个点</value>
</Data>
</ExtendedData>
<Point>
<coordinates>109.16015624999999,29.458731185355344</coordinates>
</Point>
</Placemark>
<Placemark>
<ExtendedData></ExtendedData>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<coordinates>116.630859375,41.64007838467894 125.41992187499999,41.64007838467894 125.41992187499999,44.465151013519616 116.630859375,44.465151013519616 116.630859375,41.64007838467894</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
</Document>
</kml>

GEOJSON

https://geojson.io/

  • GeoJSON 是一种用于编码各种地理数据结构的格式,可以用来表示空间数据和属性数据的集合,还可以包含图层信息

  • GeoJSON 不是OGC的标准

  • GeoJSON 支持以下几何类型: Point、 LineString、 Polygon、 MultiPoint、 MultiLine 、 MultiPolygon、GeometryCollection

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    {
    "type": "FeatureCollection",
    "features": [
    {
    "type": "Feature",
    "properties": {
    "marker-color": "#ab1c9f",
    "marker-size": "large",
    "marker-symbol": "star",
    "name": " 这是一个点"
    },
    "geometry": {
    "type": "Point",
    "coordinates": [
    108.80859375,
    33.43144133557529
    ]
    }
    },
    {
    "type": "Feature",
    "properties": {
    "stroke": "#a31919",
    "stroke-width": 5,
    "stroke-opacity": 0.6,
    "name": "这是一个折线"
    },
    "geometry": {
    "type": "LineString",
    "coordinates": [
    [
    112.1484375,
    39.30029918615029
    ],
    [
    116.3671875,
    33.94335994657882
    ],
    [
    114.345703125,
    28.76765910569123
    ]
    ]
    }
    },
    {
    "type": "Feature",
    "properties": {
    "stroke": "#5158bd",
    "stroke-width": 2,
    "stroke-opacity": 1,
    "fill": "#df6868",
    "fill-opacity": 0.5,
    "name": " 这是一个多边形"
    },
    "geometry": {
    "type": "Polygon",
    "coordinates": [
    [
    [
    95.537109375,
    33.284619968887675
    ],
    [
    93.33984375,
    30.372875188118016
    ],
    [
    95.2734375,
    27.137368359795584
    ],
    [
    102.12890625,
    27.059125784374068
    ],
    [
    102.12890625,
    31.728167146023935
    ],
    [
    95.537109375,
    33.284619968887675
    ]
    ]
    ]
    }
    },
    {
    "type": "Feature",
    "properties": {
    "stroke": "#559172",
    "stroke-width": 2,
    "stroke-opacity": 1,
    "fill": "#bd7575",
    "fill-opacity": 0.5,
    "name": " 这是一个正方形"
    },
    "geometry": {
    "type": "Polygon",
    "coordinates": [
    [
    [
    92.10937499999999,
    35.24561909420681
    ],
    [
    101.689453125,
    35.24561909420681
    ],
    [
    101.689453125,
    39.639537564366684
    ],
    [
    92.10937499999999,
    39.639537564366684
    ],
    [
    92.10937499999999,
    35.24561909420681
    ]
    ]
    ]
    }
    },
    {
    "type": "Feature",
    "properties": {
    "marker-color": "#a25757",
    "marker-size": "medium",
    "marker-symbol": "circle",
    "name": " 这是另外一个点"
    },
    "geometry": {
    "type": "Point",
    "coordinates": [
    109.16015624999999,
    29.458731185355344
    ]
    }
    }
    ]
    }

TopoJSON

  • 是 GeoJSON 按拓扑学编码后的扩展形式。使用点、弧(有向线)来表示图形

    1
    2
    3
    4
    5
    //TopoJSON可以由GeoJSON转换而来
    npm install -g topojson@1

    //subunits.geojson->uk.topojson
    topojson -o uk.topojson subunits.geojson
  • TopoJSON 由三部分组成,transform、objects和arcs组成

    • objects 描述地理实体包含空间及属性信息
      • 点状地理实体由坐标表示
      • 线状地理实体由弧索引表示
      • 多边形由弧索引表示
    • transform描述了变换参数
    • arcs 描述了有向弧的空间关系,弧由一系列起点及相对于起点的有向偏移坐标表示。基于这种弧的存储方式可以表达出拓扑关系
  • 由于弧只记录一次,且地理坐标使用整数,不使用浮点数,相对于GeoJSON,TopoJSON 消除了冗余,文件大小缩小了 80%

WKT

  • WKT(Well-known text)是开放地理空间联盟OGC(Open GIS Consortium )制定的一种文本标记语言,用于表示矢量几何对象、空间参照系统及空间参照系统之间的转换
  • WKT是OGC的标准,而GeoJson并不是OGC的标准
  • WKT是单独用来表示空间点线面几何数据的,不能附带属性数据
1
2
3
4
5
6
7
POINT (109.16015624999999 29.458731185355344)
POINT (110.42358398437499 33.17434155100208)
POINT (108.80859375 33.43144133557529)
LINESTRING (112.1484375 39.30029918615029, 116.3671875 33.94335994657882, 114.345703125 28.76765910569123)
POLYGON ((95.537109375 33.284619968887675, 93.33984375 30.372875188118016, 95.2734375 27.137368359795584, 102.12890625 27.059125784374068, 102.12890625 31.728167146023935, 95.537109375 33.284619968887675))
POLYGON ((92.10937499999999 35.24561909420681, 101.689453125 35.24561909420681, 101.689453125 39.639537564366684, 92.10937499999999 39.639537564366684, 92.10937499999999 35.24561909420681))
POINT (109.16015624999999 29.458731185355344)

图层服务

在线资源

https://service.tianditu.gov.cn

服务类型分为:地图服务、应用服务、数据服务、其它

WMS

  • WMS服务:Web Map Service,网络地图服务,它是利用具有地理空间位置信息的数据制作地图,其中将地图定义为地理数据的可视化表现,能够根据用户的请求,返回相应的地图,包括PNG、GIF、JPEG等栅格形式,或者SVG或者WEB CGM等矢量形式。WMS支持HTTP协议,所支持的操作是由URL决定的

  • WMS提供如下操作:

    GetCapabitities:返回服务级元数据,它是对服务信息内容和要求参数的一种描述
    GetMap:返回一个地图影像,其地理空间参考和大小参数是明确定义了的
    GetFeatureInfo:返回显示在地图上的某些特殊要素的信息
    GetLegendGraphic:返回地图的图例信息

WMTS

  • 切片地图web服务 (OpenGIS Web Map Title Service)WMTS提供了一种采用预定义图块方法发布数字地图服务的标准化解决方案。WMTS弥补了WMS不能提供分块地图的不足。WMS针对提供可定制地图的服务,是一个动态数据或用户定制地图(需结合SLD标准)的理想解决办法。WMTS牺牲了提供定制地图的灵活性,代之以通过提供静态数据(基础地图)来增强伸缩性,这些静态数据的范围框和比例尺被限定在各个图块内。这些固定的图块集使得对WMTS服务的实现可以使用一个仅简单返回已有文件的Web服务器即可,同时使得可以利用一些标准的诸如分布式缓存的网络机制实现伸缩性

  • WMTS接口支持的三类资源:

    • 一个服务元数据(ServiceMetadata)资源(面向过程架构风格下对GetCapabilities操作的响应)(服务器方必须实现)
    • ServiceMetadata资源描述指定服务器实现的能力和包含的信息。在面向过程的架构风格中该操作也支持客户端与服务器间的标准版本协商
    • 图块资源(对面向过程架构风格下GetTile操作的响应)(服务器方必须实现)。图块资源表示一个图层的地图表达结果的一小块
    • 要素信息(FeatureInfo)资源(对面向过程架构风格下GetFeatureInfo操作的响应)(服务器方可选择实现)。该资源提供了图块地图中某一特定像素位置处地物要素的信息,与WMS中GetFeatureInfo操作的行为相似,以文本形式通过提供比如专题属性名称及其取值的方式返回相关信息

TMS

(tile map Servcie)切片地图服务(TMS)定义了一些操作,这些操作允许用户按需访问切片地图,访问速度更快,还支持修改坐标系

WFS

  • WFS(Web Feature Service)可以对WebGIS服务器中的地理数据(存储在空间数据库中)直接进行增、删、改、查
  • 该服务根据HTTP客户请求返回要素级的GML(Geography Markup Language、地理标识语言)数据,并提供对要素的增加、修改、删除等事务操作,是对Web地图服务的进一步深入。WFS通过OGC Filter构造查询条件,支持基于空间几何关系的查询,基于属性域的查询,当然还包括基于空间关系和属性域的共同查询
  • WFS提供如下操作:
    • GetCapabitities:返回服务级元数据,它是对服务信息内容和要求参数的一种描述
    • DescribeFeatureType:生成一个Schema用于描述WFS实现所能提供服务的要素类型。Schema描述定义了在输入时WFS实现如何对要素实例进行编码以及输出时如何生成一个要素实例
    • GetFeature:可根据查询要求返回一个符合GML规范的数据文档
    • LockFeature:用户通过Transaction请求时,为了保证要素信息的一致性,即当一个事务访问一个数据项时,其他的事务不能修改这个数据项,对要素数据加要素锁
    • Transaction: 与要素实例的交互操作。该操作不仅能提供要素读取,同时支持要素在线编辑和事务处理。Transaction操作是可选的,服务器根据数据性质选择是否支持该操作

ArcGIS Rest 服务

矢量瓦片服务 Mapbox

XYZ瓦片服务

GIS 地图厂家

腾讯地图、百度地图、高德地图

ArcGIS

SuperMap

天地图

Cesium

百度地图离线API_v2.1

http://www.arctiler.com/sample/Baidu_JS_v2.1/index.html

  • 默认只支持10 级瓦片
  • 通过太乐地图下载器下载更多瓦片,但需要收费

太乐地图WebGIS开发平台 v1.1

http://www.arctiler.com/webdev/index.html

  • 完全免费
  • 太乐地图WebGIS开发平台 是基于太乐地图下载器的网络客户端开发平台。集成了领先的开源地图库、可视化库,为用户提供了丰富的离线地图和可视化功能,通过本产品可快速实现浏览器和移动端上美观、流畅的地图呈现与空间分析
  • 全面对接集成了 LeafletOpenLayersMapbox GL JSEChartsMapV 等常用的地图库和图表库,避免用户的重复学习和成本投入
  • 您可以使用 太乐地图下载器 下载全球任意地区的离线地图、卫星影像、地形图等丰富的地图资源,然后基于此平台快速开发完全离线的WebGIS地图应用
  • 支持多种动态、静态的二三维可视化呈现,包括热度图、蜂巢图、格网图、散点图、OD图、轨迹图等
  • 支持丰富的高性能的客户端GIS计算能力,包括:空间分析、拓扑分析、等值分析、量算等

OpenLayers

https://openlayers.org

  • OpenLayers是一个用于开发WebGIS客户端的JavaScript包
  • OpenLayers是一个开源的项目,其设计之意是为互联网客户端提供强大的地图展示功能,包括地图数据显示与相关操作,并具有灵活的扩展机制
  • 支持从OSM、Bing、MapBox、Stamen和其他任何你能找到的XYZ瓦片资源中提取地图瓦片并在前端展示。同时也支持OGC的WMTS规范的瓦片服务以及ArcGIS规范的瓦片服务
  • 也支持矢量切片的访问和展示,包括MapBox矢量切片中的pbf格式,或者GeoJSON格式和TopoJSON格式的矢量切片
  • 能够渲染GeoJSON、TopoJSON、KML、GML和其他格式的矢量数据,上面说的矢量切片形式的数据也可以被认为是在矢量图层中渲染
  • OpenLayers支持OGC制定的WMS、WFS等GIS网络服务规范
  • 利用Canvas 2D、WebGL以及HTML5中最新的技术来构建功能。同时支持在移动设备上运行
  • 最新版本的OpenLayers采用纯面向对象的ECMA Script 6进行开发
  • OpenLayers实现了类似于Ajax的无刷新功能,可以结合很多优秀的JavaScript功能插件,带给用户更多丰富的交互体验

标准地图服务

http://bzdt.ch.mnr.gov.cn/index.html

说明

  • 国家基础地理信息中心编制的地图
  • 标准地图依据中国和世界各国国界线画法标准编制而成,可用于新闻宣传用图、书刊报纸插图、广告展示背景图、工艺品设计底图等,也可作为编制公开版地图的参考底图。社会公众可以免费浏览、下载标准地图,直接使用标准地图时需要标注审图号。
  • 标准地图有JPG、EPS两种数据格式,地图幅面分为64开、32开、16开、8开、4开、对开等。需要编辑EPS格式地图时,建议使用Adobe Illustrator软件。对地图内容编辑(包括放大、缩小和裁切)改动的,公开使用前需要送自然资源主管部门审核
  • 目前发布的标准地图包括:中国地图249幅,世界地图79幅,专题地图10幅

Java GIS SDK

geotools

Https://geotools.org

入门

http://docs.geotools.org/latest/userguide/tutorial/quickstart/intellij.html