一、文件结构
常见文件格式有嵌入式二进制首部、XML文件、.dbf(数据库表)、电子表格/CSV(逗号分隔值)、单独文本和二进制文件等。如下示例使用python的结构体模块从.shp中解析坐标边界
import os
import struct
data_dir=r"你的矢量文件路径"
#二进制struct解析.shp的边界顶点坐标
f=open(os.path.join(data_dir,"你的矢量文件名,带后缀"),"rb")#rb:二进制文件
f.seek(36)#定位到文件头的第36个字节
# Read min-x,min-y,max-x,max-y in little endian format
#读取8字节为单位的双精度数值(用d表示),并且使用结构体struct模块采用的小尾字节顺序解析数值(用<操作符)
print(struct.unpack("<d",f.read(8)))
print(struct.unpack("<d",f.read(8)))
print(struct.unpack("<d",f.read(8)))
print(struct.unpack("<d",f.read(8)))
#也可直接用32字节解析4个双精度数值
f.seek(36)
print(struct.unpack("<dddd",f.read(32)))
二、矢量文件
2.1Shapefile文件
.shp格式非常常见,它至少有三种文件,.shp(存储空间几何信息)、.shx(存储索引信息)、.dbf(存储属性信息)是必需的。此外.prj是以WKT格式存储的地图投影信息,.shp.xml为元数据。要对.shp文件进行修改最好使用GIS软件,否则会因为文件夹中各子文件名称不一致导致后期无法识别
2.2CAD文件
DXF(Drawing Exchange Format)和DWG(AutoCAD native Drawing)最常用,但在GIS软件中格式转换有一定困难
2.3标签和标记格式
最常见的标记格式是XML格式,包括KML、OSM一级GPS数据的佳明GPX格式。还有WKT(well-known text)常用作投影信息文件。SVG(Scalable Vector Graphics)格式是一种广泛应用于计算机图形学的XML格式
2.4GeoJSON
其与Javascript无缝集成,主要用于网站发布数据。以下是一个定义几何图形的示例:
gc={"type":"GeometryCollection",
"geometry":[
{
"type":"Point",
"coordinates":[-89.33,30.0]
},
{
"type":"LineString",
"coordinates":[[-89.33, 30.30],[-89.36, 30.28]]
}
]
}
print(gc)
三、栅格文件
前言
理解栅格数据最简单的方式就是将其看作图片。但不同在于栅格数据的分辨率对象是地面,如30m分辨率。另外栅格数据集包含物理光学中研究的光谱信息,如可见光、近红外、中红外、热红外等。比较有名的开源栅格库是地理空间数据抽象库(Geospatial Data Abstraction Library,GDAL),它还包含OGR库(用于矢量格式分析)
一、TIFF文件
标记化图片文件格式(The Tagged Image File Format,TIFF)最为常用,其可以说是成千上万中不兼容的文件格式组成了TIFF标准。GeoTIFF扩展定义了地理空间数据的存储,可使用的文件后缀有:.tiff、.tif、.gtif
二、JPEG/BMP/PNG
常用于图片格式,也可搭配WKT、.prj、和稍后介绍的世界文件这些地理参照信息的辅助文本文件使用。JPEG属于有损压缩,图片大小较小,最为常见;位图文件(Bitmap)常用于桌面应用和文档图形;PNG文件属于无损压缩,利于保护图片质量
三、ASCII网格
用于DEM高程数据存储
四、全球文件
地理空间软件能够识别世界文件是因为他们之间有命名约定。最普遍方法即使用栅格数据文件名,修改扩展名移除其中间的字母,之后在末尾加w:
栅格文件名 | 世界文件名 |
---|---|
world.tif | world.tfw |
world.jpg | world.jpw |
world.bmp | world.bpw |
world.png | world.pgw |
world.gif | world.gfw |
四、点云数据
可以使用激光器、雷达波、声学探测仪等创建点云。术语LIDAR是激光(light)和雷达(radar)组并来的,它能够高速、持续地收集数据,提供360度的视域。它最常用的数据格式是LAS(LIDAR Exchange Format)交换格式
五、Web服务
例如网络地图服务(Web Map Service,WMS)和网络要素服务(Web Feature Service,WFS),这些服务通过HTTP的GET请求调用,即使用URL网址。