当前位置: 首页 > article >正文

GIS基础知识:WKT格式、WKB格式

什么是WKT格式?

WKT(Well-Known Text)是一种用于描述地理空间几何对象的文本格式。

这种格式是由Open Geospatial Consortium(OGC)定义并维护的一种开放标准,主要用于在不同的GIS系统和数据库之间交换空间数据。

WKT格式使用简单的ASCII文本来表示各种类型的几何对象,如点、线、多边形等。它具有易于阅读和编写的特点,并且由于其纯文本性质,可以方便地在网络上传输。

WKT几何对象类型

WKT支持以下几种基本几何对象类型:

Point(点)

表示一个单一的位置。

示例:POINT (10 20)

LineString(线串)

表示一系列有序的点,形成一条线。

示例:LINESTRING (10 10, 20 20, 30 30)

Polygon(多边形)

表示一个封闭的区域,由一系列有序的点组成,最后一个点与第一个点相连。

示例:POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))

MultiPoint(多点)

表示多个独立的点。

示例:MULTIPOINT ((10 10), (20 20), (30 30))

MultiLineString(多线串)

表示多个独立的线串。

示例:MULTILINESTRING ((10 10, 20 20, 10 40), (40 40, 30 30, 40 20, 30 10))

MultiPolygon(多边形集)

表示多个独立的多边形。

示例:MULTIPOLYGON (((30 20, 45 40, 10 40, 30 20)), ((15 5, 40 10, 10 20, 5 10, 15 5)))

GeometryCollection(几何对象集)

表示一个几何对象的集合,其中可以包含上述任何类型的几何对象。

示例:GEOMETRYCOLLECTION (POINT (10 10), LINESTRING (20 20, 30 30))

除了这些基本的几何类型之外,WKT还可以表示更复杂的几何对象,如TIN(不规则三角网)和多面体。

几何类型WKT格式PointPOINT (30 10)LineStringLINESTRING (30 10, 10 30, 40 40)PolygonPOLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))PolygonPOLYGON ((35 10, 45 45, 15 40, 10 20, 35 10),(20 30, 35 35, 30 20, 20 30))MultiPointMULTIPOINT ((10 40), (40 30), (20 20), (30 10))MultiPointMULTIPOINT (10 40, 40 30, 20 20, 30 10)MultiLineStringMULTILINESTRING ((10 10, 20 20, 10 40),(40 40, 30 30, 40 20, 30 10))MultiPolygonMULTIPOLYGON (((30 20, 45 40, 10 40, 30 20)),((15 5, 40 10, 10 20, 5 10, 15 5)))MultiPolygonMULTIPOLYGON (((40 40, 20 45, 45 30, 40 40)),((20 35, 10 30, 10 10, 30 5, 45 20, 20 35),(30 20, 20 15, 20 25, 30 20)))

WKT的使用场景

WKT格式常用于以下情况:

交换地理空间数据。

在GIS软件中导入导出数据。

存储在支持空间数据的数据库中。

在Web服务中传输空间数据。

什么是WKB格式

WKB(well-known binary) 是WKT的二进制表示形式,解决了WKT表达方式冗余的问题,便于传输和在数据库中存储相同的信息WKB是采用二进制存储表示点线面等。

WKB比WKT的优势在于WKB是二进制,主要是解决传输和存储的效率问题,所以MySQL,Postgre数据存储Geometry类型的数据,存储的值是WKB格式的。

GIS资料免费领


http://www.kler.cn/a/373116.html

相关文章:

  • yocto 下基于SDK的 tcpdump 移植
  • 使用Python和Parsel库爬取CSDN博客文章专栏并生成Markdown链接列表的导航
  • Vue3 学习笔记(十三)Vue组件详解
  • MySQL定时异机备份
  • 基于uniapp微信小程序的校园二手书交易系统
  • Chromium 在WebContents中添加自定义数据c++
  • 「C/C++」C++标准库之#include<fstream>文件流
  • 深入布局- grid布局
  • echarts属性之radar
  • React 异步渲染机制
  • 鸿蒙生态未来的发展趋势探讨?
  • 【STM32 Blue Pill编程实例】-4位7段数码管使用
  • Spring Boot 开发常见问题及解决方案汇总
  • 公安专业知识笔记-桐哥
  • 计算机毕业设计Java银行存取系统 银行交易管理系统 金融数据处理 用户存取管理系统(源码+定制+开发)
  • 威胁评估助力新能源车企发掘风险,推动安全与智能化业务发展
  • UE5 不同的编译模式下,module的组织形式
  • 上市公司企业数字金融认知数据集(2001-2023年)
  • 【Android】ViewPager的MVP架构搭建
  • 谷歌浏览器安装axure插件
  • 为什么音频采样率通常是44.1kHz?
  • css 对称按钮,中间斜平行间隔,两头半圆
  • 动手学深度学习64 注意力机制
  • 线性数据结构之数组
  • 基于 GADF+Swin-CNN-GAM 的高创新扰动信号识别模型!
  • 在深度学习研究方向有哪些创新点