version: 0.2
分为矢量(vector)数据和栅格(raster)数据。
GIS矢量文件可以理解为一种特殊的表格。
GIS栅格文件可以理解为一种特殊的图像。
GIS数据里的坐标值都是真实世界坐标,也必须有CRS(坐标参考系统),因为脱离了坐标系的坐标毫无意义。
GDAL提供的驱动程序及其对应格式的表格:
Shapefile格式是一种地理信息系统(GIS)软件的地理空间矢量数据格式。它由Esri开发和规范,作为在Esri和其他GIS软件产品之间实现数据互操作性的开放规范。Shapefile格式可以在空间上描述矢量要素,如点、线和多边形,代表水井、河流和湖泊等。每个项目通常都有描述它的属性,比如名称或温度。
Shapefile存储离散的空间元素,或者说标注结果,不储存地图本身。
一份Shapefile只允许存储1种几何体。
Shapefile以单个空间元素为单位,相对于普通表格,它的特殊之处就在于有一个geometry列,存储几何体对象。
一份Shapefile至少包括3个文件:.shp(主文件)、.shx(索引文件)和.dbf(dBASE表)。
.shp 只存空间元素本身,也就是它的坐标信息,例如多边形的每个顶点、折线的顶点等等。
.shx 存储空间元素的索引,和.shp顺序对应。
.dbf 存储属性,和.shp顺序对应。例如希望给每个省附加上人口、男女比等。
Shapefile的缺点是格式太老以及1份文件包含多个子文件,使用起来很不方便。
河南省1:500万地质图(1990年)(部分)。
.shp:几何体对象
.dbf:属性
.xml:GIS软件生成的辅助文件
.prj:投影信息,即CRS
.sbn/.sbx/.shx:索引文件
表格形式(用Python的GeoPandas库读取)
CRS(用Python的GeoPandas库读取)
<Geographic 2D CRS: EPSG:4326>
Name: WGS 84
Axis Info [ellipsoidal]:
- Lat[north]: Geodetic latitude (degree)
- Lon[east]: Geodetic longitude (degree)
Area of Use:
- name: World.
- bounds: (-180.0, -90.0, 180.0, 90.0)
Datum: World Geodetic System 1984 ensemble
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich
Geographic 2D CRS: EPSG:4326:
Name: WGS 84:
Axis Info [ellipsoidal]:
Area of Use:
Datum: World Geodetic System 1984 ensemble:
Ellipsoid: WGS 84:
Prime Meridian: Greenwich:
可视化
GeoJSON 是一种用于表示简单地理要素及其非空间属性的开放标准格式。它基于 JSON 格式。
这些要素包括点(因此包括地址和位置)、线串(因此包括街道、高速公路和边界)、多边形(国家、省份、土地区等),以及这些类型的多部分集合。GeoJSON 的要素不仅需要表示物理世界的实体;例如,移动路由和导航应用程序可能使用 GeoJSON 描述其服务覆盖范围。
GeoJSON 格式与其他 GIS 标准的不同之处在于,它不是由正式的标准组织编写和维护的,而是由一个互联网开发者工作组负责。
GeoJSON 的一个显著衍生产品是 TopoJSON,它是 GeoJSON 的扩展,编码地理空间拓扑关系,并通常提供更小的文件大小。
英国 Key Stage 2(KS2)数据集。
原始形式
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"WD19CD": "E05001371",
"School Ward": "Brighouse",
"No. of Primary Schools in Ward": 4,
"Reading - Total No. of Pupils": 134,
"Reading - No. of Pupils Achieved EXS+": 118,
"Reading - KS1-2 Average Progress Score": 0.77,
"Writing - Total No. of Pupils": 134,
"Writing - No. of Pupils Achieved EXS+": 109,
"Writing - KS1-2 Average Progress Score": -0.33,
"Maths - Total No. of Pupils": 134,
"Maths - No. of Pupils Achieved EXS+": 119,
"Maths - KS1-2 Average Progress Score": 0.09,
"Reading & Writing & Maths Combined (RWM) - Total No. of Pupils": 134,
"Reading & Writing & Maths Combined (RWM) - No. of Pupils Achieved EXS+": 103
},
"geometry": {
"type": "MultiPolygon",
"coordinates": [
[
[
[
-1.74448,
53.71582
],
[
-1.74879,
53.71411
],
...
],
...
],
...
]
}
},
...
]
}
features列表存所有的空间元素,单个空间元素有properties(属性)和geometry(几何对象)两大字段。
注意MultiPolygon对象是4层列表:x + y坐标组成单个点;n个点组成1条边缘;1条外边缘 + n条内边缘(即镂空) 组成1个多边形;n个多边形组成1个MultiPolygon。其他几何体结构并不复杂,不展示了。
表格形式、可视化形式和Shapefile并无区别,因此省略
GeoTIFF是一种公共领域的元数据标准,允许将地理参考信息嵌入到TIFF文件中。潜在的额外信息包括地图投影、坐标系统、椭球体、基准等一切用于建立文件精确空间参考的必要信息。GeoTIFF格式完全符合TIFF 6.0标准,因此无法读取和解释专门元数据的软件仍然能够打开GeoTIFF格式文件。
与"内联"TIFF地理空间元数据相对的是*.tfw World File副本文件格式,它可以位于与常规TIFF文件相同的文件夹中,提供了此处描述的标准GeoTIFF功能的子集。
.twf是可选的,等价于从图像坐标系到世界坐标系的3 * 3 仿射变换矩阵
四川省1km栅格土地利用城乡、工矿、居民用地类型数据(1980s)。
原始文件
用普通的图像软件打开
用QGIS打开
数组形式(用Python的rasterio库读取)
tif = r'D:/sprite/PythonProject/main/gis/tiff/sichuan_ild51.tif'
raster = rasterio.open(tif)
raster_array = raster.read()
print(raster_array)
"""
[[[-32768 -32768 -32768 ... -32768 -32768 -32768]
[-32768 -32768 -32768 ... -32768 -32768 -32768]
[-32768 -32768 -32768 ... -32768 -32768 -32768]
...
[-32768 -32768 -32768 ... -32768 -32768 -32768]
[-32768 -32768 -32768 ... -32768 -32768 -32768]
[-32768 -32768 -32768 ... -32768 -32768 -32768]]]
"""
print(raster_array.shape)
# (1, 232, 140),代表1个band,高232个像素,宽140个像素。
print(raster_array.min(), raster_array.max())
# -32768 10000
CRS(用Python的rasterio库读取)
print(raster.crs)
"""
PROJCS["WGS_1984_Albers",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["latitude_of_center",0],PARAMETER["longitude_of_center",105],PARAMETER["standard_parallel_1",25],PARAMETER["standard_parallel_2",47],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH]]
"""
PROJCS[“WGS_1984_Albers”:
GEOGCS[“WGS 84”,…]:
PROJECTION[“Albers_Conic_Equal_Area”]:
PARAMETER[“latitude_of_center”,0]:
PARAMETER[“longitude_of_center”,105]:
PARAMETER[“standard_parallel_1”,25]:
PARAMETER[“standard_parallel_2”,47]:
PARAMETER[“false_easting”,0] 和 PARAMETER[“false_northing”,0]:
UNIT[“metre”,1,AUTHORITY[“EPSG”,“9001”]]:
AXIS[“Easting”,EAST] 和 AXIS[“Northing”,NORTH]:
GeoPackage(GPKG)是一种开放、非专有、跨平台且基于标准的地理信息系统数据格式,构建在 SQLite 数据库的一组约定之上。由开放地理空间协会(OGC)定义,得到了美国军方的支持,并于2014年发布,GeoPackage在各种政府、商业和开源组织中得到了广泛支持。
OS Open Built Up Areas 数据集(大不列颠地区面积达到或超过200,000平方米或20公顷的建成区域)
虽然GeoPackage可以同时存储矢量数据和栅格数据,但并没有找到这种数据集
原始形式
表格形式、可视化形式和Shapefile、GeoJSON并无区别,因此省略
CRS:空间参考系统(SRS)或坐标参考系统(CRS)是一个框架,用于精确测量地球表面上的位置坐标。因此,它将坐标系统的抽象数学和解析几何应用于地理空间。一个特定的SRS规范(例如,“通用横轴墨卡托投影 WGS 84 区域 16N”)包括对地球椭球体、水平基准、地图投影(在地理坐标系中除外)、原点和测量单位的选择。为了在世界各地或特定区域以及不同目的上使用,已经规定了成千上万个坐标系统,因此需要在不同的SRS之间进行转换。
分为地理坐标系(geographic coordinate system)和投影坐标系(projected coordinate system)
地理坐标系:地理坐标系(GCS)是一种用于测量和直接表示地球上位置的球面或大地测地坐标系,通常用纬度和经度表示。它是各种正在使用的空间参考系统中最简单、最古老且最广泛使用的一种,也是大多数其他系统的基础。尽管纬度和经度形成了一个坐标元组,就像笛卡尔坐标系一样,但地理坐标系并非笛卡尔坐标系,因为测量的是角度而不是平面表面上的坐标。
例如GPS使用的坐标系WGS84(World Geodetic System 1984)。
投影坐标系:投影坐标系,也称为投影坐标参考系统、平面坐标系或格网坐标系,是一种空间参考系统的类型,通过特定的地图投影在一个平面表面上使用笛卡尔坐标(x,y)表示地球上的位置。每个投影坐标系,例如“通用横轴墨卡托投影 WGS 84 区域 26N”,由地图投影的选择(具有特定参数)、用于将坐标系统绑定到地球上实际位置的大地基准的选择、原点和测量单位的选择所定义。已经为各种目的在各个地区指定了数百个投影坐标系。
WKT(Well-known text representation of coordinate reference systems):坐标参考系统的文本表示(WKT或WKT-CRS)是一种文本标记语言,用于表示空间参考系统和空间参考系统之间的转换。这些格式最初由开放地理空间联盟(OGC)定义,并在其“简单要素访问”和“坐标参考系统的文本表示”规范中进行描述。当前的标准定义是ISO 19162:2019,这取代了ISO 19162:2015。
空间分辨率(spatial resolution):在物理学和地球科学中,空间分辨率一词指的是独立测量之间的距离,或表示图像像素的物理尺寸的物理维度。虽然在一些仪器中,如相机和望远镜,空间分辨率直接与角分辨率相关,但其他仪器,如合成孔径雷达或一系列气象站,生成的数据其空间采样布局更与地球表面相关,例如在遥感和卫星图像中。
epsg(The European Petroleum Survey Group)代码:由于不同地区、国家使用的坐标系多种多样,为了方便管理,由epsg统一分配编号。所以确定epsg代码就能确定使用的坐标系。epsg的一切信息可以去官网看:https://epsg.io/
投影带:由于三维球体投影成二维平面会带来不可避免的失真,为减少这种失真而设置了投影带。类似于划分时区。例如上面案例中的epsg 32647就对应坐标系:WGS 84 / UTM zone 47N,斜杠后的"UTM zone 47N"就代表使用通用横墨尔卡投影(Universal Transverse Mercator),投影带选择47N(北半球,96°E-102°E)。