什么是空间数据

空间数据(Spatial Data)

空间数据又称几何数据,它用来表示物体的位置、形态、大小分布等各方面的信息,是对
现实世界中存在的具有定位意义的事物和现象的定量描述。根据在计算机系统中对地图是
对现实教想的存储组织、处理方法的不同,以及空间数据本身的几何特征,空间数据又可分为图形数据和图像数据。

来源与类型

空间数据来源和类型繁多,概括起来主要可以分为地图数据、影像数据、地形数据、属性数据和元数据。

  1. 地图数据:这类数据主要来源于各种类型的普通地图和专题地图,这些地图的内容非常丰富。
  2. 影像数据:这类数据主要来源于卫星、航空遥感,包括多平台、多层面、多种传感器、多时相、多光谱、多角度和多种分辨率的遥感影像数据,构成多元海量数据,是空间数据库最有用、最廉价、利用率最低的数据源之一。
  3. 地形数据:这类数据来源于地形等高线图的数字化,已建立的数据高程模型(DEM)和其他实测的地形数据。
  4. 属性数据:这类数据主要来源于各类调查统计报告、实测数据、文献资料等。
  5. 混合数据:这类数据来源于卫星、航空遥感与各种类型的普通地图和专题地图形成多方面数据

空间数据常用存储文件格式

1. WKT:

WKT(Well-known text)是一种文本标记语言,用于表示矢量几何对象、空间参照系统及空间参照系统之间的转换。该格式由开放地理空间联盟(OGC)制定

以下是几个几何对象WKT表示的示例:

· Point:

POINT(15 20)

注意,指定点坐标时不使用分隔用逗号。

· 具有4个点的LineString:

LINESTRING(0 0, 10 10, 20 25, 50 60)

注意,点坐标对采用逗号隔开。

· 具有1个外部环和1个内部环的Polygon:

POLYGON((0 0,10 0,10 10,0 10,0 0),(5 5,7 5,7 7,5 7, 5 5))

· 具有三个Point值的MultiPoint:

MULTIPOINT(0 0, 20 20, 60 60)

· 具有2个LineString值的MultiLineString:

MULTILINESTRING((10 10, 20 20), (15 15, 30 15))

· 具有2个Polygon值的MultiPolygon:

MULTIPOLYGON(((0 0,10 0,10 10,0 10,0 0)),((5 5,7 5,7 7,5 7, 5 5)))

· 由2个Point值和1个LineString构成的GeometryCollection:

GEOMETRYCOLLECTION(POINT(10 10), POINT(30 30), LINESTRING(15 15, 20 20))

2. WKB:

WKB(well-known binary)是WKT的二进制表示形式,相比较于WKT则胜于在传输和在数据库中存储相同的信息上。

3. GeoJSON:

GeoJson是用json的语法表达和存储地理数据,可以说是json的子集如下所示是用GeoJson表示一个点:

{"type": "Feature","geometry": {"type": "Point","coordinates": [125.6, 10.1]},"properties": {"name": "Dinagat Islands"}
}
4. NASA NetCDF/HDF:

HDF
HDF(Hierarchical Data Format)由NCSA(National Center for Supercomputing Applications)设计提出,官方对其定义是HDF5 是一种独特的技术套件,可以管理极其庞大和复杂的数据集合。

HDF 支持 n 维数据集,数据集中的每个元素本身可能是一个复杂的对象。

HDF是对HDF数据模型,数据格式以及HDF库API等一系列技术的总称. HDF的最新版本是HDF5.
HDF数据模型基于组(groups)和数据集(datasets)概念:如果把HDF数据比作磁盘,那么组相当于文件夹,数据集相当于文件。组和数据集都有用户自定义的属性(attributes).

MODIS影像,以及我国的风云卫星数据都适用HDF格式进行存储.

NetCDF
NetCDF(Network Common Data Format)由 UCAR(University Corporation for Atmospheric Research)设计提出,其官方的定义是:NetCDF 是一组软件库和自描述的、独立于机器的数据格式,支持创建、访问和 共享面向阵列的科学数据。

NetCDF是面向多维数组的数据集,一个NetCDF文件主要是Dimensions, Variables, Attributes, Data 四个部分组成的:

  • Dimension主要是对维度的定义说明,例如:经度,维度,时间等;
  • Variables是对数据表示的现象的说明,例如:温度,湿度,高程等;
  • Attributes是一些辅助的元信息说明,例如变量的单位等;
  • Data是主要对现象的观测数据集。
    NetCDF有两个数据模型:经典模型(NetCDF3之前模型)和增强模型(NetCDF4)

NetCDF最新版本是NetCDF4,NetCDF4的API接口建立在HDF5之上,和HDF5是兼容的.

如果搞大气研究的同学一定对NetCDF格式不陌生,接触到的大部分数据都是这种格式

5. Shapefile (.shp, .shx, .dbf)

ESRI Shapefile(shp),或简称shapefile,是美国环境系统研究所公司(ESRI)开发的一种空间数据开放格式。该文件格式已经成为了地理信息软件界的一个开放标准,Shapefile也是一种重要的交换格式,它能够在ESRI与其他公司的产品之间进行数据互操作。

Shapefile文件指的是一种文件存储的方法,实际上该种文件格式是由多个文件组成的。其中,要组成一个Shapefile,有三个文件是必不可少的,它们分别是".shp", ".shx"与 ".dbf"文件。表示同一数据的一组文件其文件名前缀应该相同。例如,存储一个关于湖的几何与属性数据,就必须有lake.shp,lake.shx与lake.dbf三个文件。而其中“真正”的Shapefile的后缀为shp,然而仅有这个文件数据是不完整的,必须要把其他两个附带上才能构成一组完整的地理数据。除了这三个必须的文件以外,还有9个可选的文件,使用它们可以增强空间数据的表达能力。此外,所有的文件都必须位于同一个目录之中。

必须的文件:
  • .shp — 图形格式,用于保存元素的几何实体。
  • .shx — 图形索引格式。几何体位置索引,记录每一个几何体在shp文件之中的位置,能够加快向前或向后搜索一个几何体的效率。
  • .dbf — 属性数据格式,以dBase IV的数据表格式存储每个几何形状的属性数据。
其他可选的文件:
  • .prj — 投帧式,用于保存地理坐标系统与投影信息,是一个存储well-known text投影描述符的文本文件。
  • .sbnand.sbx — 几何体的空间索引
  • .fbnand.fbx — 只读的Shapefiles的几何体的空间索引
  • .ainand.aih — 列表中活动字段的属性索引。
  • .ixs — 可读写Shapefile文件的地理编码索引
  • .mxs — 可读写Shapefile文件的地理编码索引(ODB格式)
  • .atx —.dbf文件的属性索引,其文件名格式为shapefile.columnname.atx(ArcGIS 8及之后的版本)
  • .shp.xml — 以XML格式保存元数据。
  • .cpg — 用于描述.dbf文件的代码页,指明其使用的字符编码。

空间数据计算 Apache Sedona(GeoSpark)

官网地址

Apache Sedona(孵化阶段)是一个用于处理大规模空间数据的集群计算系统。 Sedona 使用一组开箱即用的空间弹性分布式数据集 / SpatialSQL 扩展了 Apache Spark / SparkSQL,这些数据集可以跨机器高效加载、处理和分析大规模空间数据。
Python API 也可在 PyPi 上使用。

下面是GeoSpark官网给出的基础架构图:

推荐理由:
  • 高速
    据Sedona GeoSpark团队的基准测试和第三方研究论文,Sedona 在计算密集型查询工作负载上的运行速度比其他基于 Spark 的地理空间数据系统快 2 到 10 倍。

  • 低内存消耗
    根据Sedona GeoSpark团队的基准测试和第三方研究论文,用于大规模内存查询处理 Sedona 的峰值内存消耗比其他基于 Spark 的地理空间数据系统少50%。

  • 使用简单
    Sedona 提供 Scala、Java、Python 和 Spatial SQL API,并小心地将它们集成到 Apache Spark 中。 您可以简单地创建空间分析和数据挖掘应用程序并在任何 Spark 环境中运行它们。

Sedona 主要模块
Name API Introduction
Core RDD SpatialRDDs and Query Operators.
SQL SQL/DataFrame SQL interfaces for Sedona core.
Viz RDD, SQL/DataFrame Visualization for Spatial RDD and DataFrame
Zeppelin Apache Zeppelin Plugin for Apache Zeppelin 0.8.1+
主要特性:
  1. Spatial RDD
  2. Spatial SQL
  3. Complex geometries / trajectories: point, polygon, linestring, multi-point, multi-polygon, multi-linestring, GeometryCollection
  4. Various input formats: CSV, TSV, WKT, WKB, GeoJSON, NASA NetCDF/HDF, Shapefile (.shp, .shx, .dbf): extension must be in lower case
  5. Spatial query: range query, range join query, distance join query, K Nearest Neighbor query
  6. Spatial index: R-Tree, Quad-Tree
  7. Spatial partitioning: KDB-Tree, Quad-Tree, R-Tree, Voronoi diagram, Hilbert curve, Uniform grids
  8. Coordinate Reference System / Spatial Reference System Transformation: for exmaple, from WGS84 (EPSG:4326, degree-based), to EPSG:3857 (meter-based)
    坐标参考系统/空间参考系统转换:例如,从 WGS84(EPSG:4326,基于度),到 EPSG:3857(基于米)
  9. High resolution map generation: Visualize Spatial DataFrame/RDD
    高分辨率地图生成:可视化空间数据帧/RDD

空间数据计算引擎GeoSpark调研相关推荐

  1. 全新一代人工智能计算引擎MaxCompute杭州开服,强化阿里云大数据能力,比肩谷歌微软...

    摘要: 3月22日,阿里云将正式开服售卖华东1(杭州)节点的大数据计算服务MaxCompute,以进一步提升对华东区域客户服务的响应速度,推动杭州大数据.人工智能产业的加速发展. 日前,全球权威调研机 ...

  2. 上:Spark VS Flink – 下一代大数据计算引擎之争,谁主沉浮?

    作者简介 王海涛,曾经在微软的 SQL Server和大数据平台组工作多年.带领团队建立了微软对内的 Spark 服务,主打 Spark Streaming.去年加入阿里实时计算部门,参与改进阿里基于 ...

  3. 为什么阿里会选择 Flink 作为新一代流式计算引擎?

    本文由 [AI前线]原创,ID:ai-front,原文链接:t.cn/ROISIr3 [AI前线导读]2017 年 10 月 19日,阿里巴巴的高级技术专家王绍翾(花名"大沙")将 ...

  4. 你公司到底需不需要引入实时计算引擎?

    前言 先广而告之,本文摘自本人<大数据重磅炸弹--实时计算框架 Flink>课程第二篇,内容首发自我的知识星球,后面持续在星球里更新. 自己之前发布过一篇 Chat <大数据&quo ...

  5. 3D Cube计算引擎加速运算

    3D Cube计算引擎加速运算 华为达芬奇架构的AI芯片Ascend910,同时与之配套的新一代AI开源计算框架MindSpore. 为什么要做达芬奇架构? AI将作为一项通用技术极大地提高生产力,改 ...

  6. BigData之Spark:Spark计算引擎的简介、下载、经典案例之详细攻略

    BigData之Spark:Spark计算引擎的简介.下载.经典案例之详细攻略 目录 Spark的简介 1.Spark三大特点 Spark的下载 Spark的经典案例 1.Word Count 2.P ...

  7. 百度 Serverless 函数计算引擎 EasyFaaS 正式开源

    "2021年4月,百度函数计算引擎 EasyFaaS,正式开源!" 1.什么是 EasyFaaS? EasyFaaS 是一个依赖轻.适配性强.资源占用少.无状态且高性能的函数计算服 ...

  8. 远程连接spark_spark内部原理篇之计算引擎和调度管理

    本篇主要内容包括spark 计算引擎与调度管理的实现方式, Spark 计算引擎原理 Spark 调度管理原理 Spark 存储管理原理 Spark 监控管理 一 :Spark 计算引擎原理 通过RD ...

  9. hadoop 传感器数据_读取模式错误,计算引擎操作复杂……面对Hadoop这些问题该如何应对?...

    作者 | Monte Zweben 译者 | 天道酬勤,责编 | Carol 封图 | CSDN 付费下载自视觉中国 Apache Hadoop于2006年出现在IT领域,它使用商品硬件,为组织提供前 ...

最新文章

  1. vue插槽面试题_Vue 的slot插槽 及一个奇怪的面试题
  2. python中global的用法
  3. 【中级软考】什么是McCabe测量法(McCabe复杂性度量、环路度量。计算有向弧数、结点数、强连通分量个数)
  4. 捍卫军人的尊严(武汉548公交车一幕)
  5. BZOJ.1005.[HNOI2008]明明的烦恼(Prufer 高精 排列组合)
  6. pip清华源安装Tensorflow-gpu
  7. 超实用的浏览器插件:CSDN 一键搜索、自定义工具、全站去广告、一键美化等
  8. 企业文化:谦虚(谦逊,虚心)
  9. python-类继承多态
  10. 零基础学python知乎-35岁了零基础自学Python可行吗?
  11. Ubuntu下添加打印机---之寻找设备lpinfo
  12. Q89:全局光照(Global Illumination)——Path Tracing(只用于间接光照)
  13. JavaScript中的标识符(附:关键字表)
  14. 5. OpenCV图像分割-watershed
  15. JavaScript浅析1——类型
  16. vue根据拼音选择城市better-scroll
  17. 字体磅数与字号对照表
  18. 计算机屏幕显示不全怎么办,电脑打开软件后屏幕显示不全怎么办
  19. c盘是不是越大越好_C盘分区并非越大越好
  20. gis生成道路中心线_ArcGIS方法-利用到路面提取道路中心线地方法

热门文章

  1. 测绘遥感地信 国内外期刊大全
  2. Django+Vue开发生鲜电商平台之3.数据模型设计和资源导入
  3. word编辑中空格变成灰点
  4. 令狐冲和TCP/IP协议的第三层协议的关系(经典)
  5. 用微信扫一扫功能扫描二维码下载安装APK不能用,不能打开APK下载链接的解决方案
  6. 携创教育:2022学历改革解读系列|提升学历、迫在眉睫
  7. 使用for循环编写倒立反方向直角三角形
  8. Android基于安卓手机个人理财系统
  9. DCM:中间件家族迎来新成员,属实牛逼
  10. 从“扫月亮”到“扫福字”,扒一扒背后的支付宝AR框架体系