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格式的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/915396.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

力扣(LeetCode)611. 有效三角形的个数(Java)

White graces:个人主页 🙉专栏推荐:Java入门知识🙉 🐹今日诗词:雾失楼台,月迷津渡🐹 ⛳️点赞 ☀️收藏⭐️关注💬卑微小博主🙏 ⛳️点赞 ☀️收藏⭐️关注💬卑微小博主…

Mac Nginx 前端打包部署

安装homebrew /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 安装Nginx brew install nginx nginx相关命令 nginx启动命令:nginx nginx -s reload #重新加载配置 nginx -s reopen #重启 nginx -s stop #…

利用VMware workstation pro 17安装 Centos7虚拟机以及修改网卡名称

通过百度网盘分享的文件:安装虚拟机必备软件 链接:https://pan.baidu.com/s/1rbYhDh8x1hTzlSNihm49EA?pwdomxy 提取码:omxy 123网盘 https://www.123865.com/s/eXPrVv-UsKch 提取码:eNcy 先自行安装好VMware workstation pro 17 设置虚拟机…

《实时流计算系统设计与实现》-Part 2-笔记

做不到实时 做不到实时的原因 实时计算很难。通过增量计算的方式来间接获得问题的(伪)实时结果,即使这些结果带有迟滞性和近似性,但只要能够带来尽可能最新的信息,那也是有价值的。 原因可分成3个方面: …

《C陷阱与缺陷》

文章目录 1、【词法陷阱】1.1 符号与组成符号间的关系1.1 与 1.3 y x/*p 与 y x/(*p),a-1 与 a - 1 与 a -1, 老版本编译器的处理是不同的,严格的ANSI C则会报错1.4 十进制的 076,会被处理为八进制,ANSI C禁止这种用法&#x…

初阶C++之C++入门基础

大家好!欢迎来到C篇学习,这篇文章的内容不会很难,为c的引入,c的重点内容将在第二篇的文章中讲解,届时难度会陡然上升,请做好准备! 我们先看网络上的一个梗:21天内⾃学精通C 好了&am…

Maven 构建项目

Maven 是一个项目管理和构建工具,主要用于 Java 项目。它简化了项目的构建、依赖管理、报告生成、发布等一系列工作。 构建自动化:Maven 提供了一套标准化的构建生命周期,包括编译、测试、打包、部署等步骤,通过简单的命令就可以执…

Android中桌面小部件的开发流程及常见问题和解决方案

在Android中,桌面小部件(App Widget)是应用程序可以在主屏幕或其他地方显示的一个可视化组件,提供简化信息和交互功能。Android桌面小部件的framework为开发者提供了接口,使得可以创建和更新小部件的内容。以下是Andro…

opencv(c++)----图像的读取以及显示

opencv(c)----图像的读取以及显示 imread: 作用:读取图像文件并将其加载到 Mat 对象中。参数: 第一个参数是文件路径,可以是相对路径或绝对路径。第二个参数是读取标志,比如 IMREAD_COLOR 表示以彩色模式读取图像。 返回值&#x…

马斯克万卡集群AI数据中心引发的科技涟漪:智算数据中心挑战与机遇的全景洞察

一、AI 爆发重塑数据中心格局 随着AI 技术的迅猛发展,尤其是大模型的崛起,其对数据中心产生了极为深远的影响。大模型以其数以亿计甚至更多的参数和对海量数据的处理需求,成为了 AI 发展的核心驱动力之一,同时也为数据中心带来了…

搭建Python2和Python3虚拟环境

搭建Python3虚拟环境 1. 更新pip2. 搭建Python3虚拟环境第一步:安装python虚拟化工具第二步: 创建虚拟环境 3. 搭建Python2虚拟环境第一步:安装虚拟环境模块第二步:创建虚拟环境 4. workon命令管理虚拟机第一步:安装扩…

C语言的内存函数(文章后附gitee链接,模拟实现函数)

之前我们已经讲解过了字符型数据的一类字符串函数, 现在我们来讨论字符型以外的数据处理。 1:memcpy 的使用和模拟实现 void * memcpy ( void * destination, const void * source, size_t num ); 注意: 1:函数memcp…

FPGA/Verilog,Quartus环境下if-else语句和case语句RT视图对比/学习记录

基本概念 RTL(Register - Transfer - Level)视图:是一种硬件描述语言的抽象层次,用于描述数字电路中寄存器之间的数据传输和操作。在这个层次上,可以看到电路的基本结构,如寄存器、组合逻辑、多路复用器等…

react的创建与书写

一:创建项目 超全面详细一条龙教程!从零搭建React项目全家桶(上篇) - 知乎 1.创建一个文件夹,shift鼠标右键选择在此处打开powershell 2.为了加速npm下载速度,先把npm设置为淘宝镜像地址。 npm config s…

【动态规划】两个数组的 dp 问题

1. 最长公共子序列 1143. 最长公共子序列 状态表示: dp[i][j] 表示 s1 的 0 ~ i 区间和 s2 的 0 ~ j 区间内所有子序列中,最长公共子序列的长度 状态转移方程: 当 s1[i] 和 s2[j] 相等时,那么最长公共子序列一定是以这两个位置…

【计算机网络】【传输层】【习题】

计算机网络-传输层-习题 文章目录 10. 图 5-29 给出了 TCP 连接建立的三次握手与连接释放的四次握手过程。根据 TCP 协议的工作原理,请填写图 5-29 中 ①~⑧ 位置的序号值。答案技巧 注:本文基于《计算机网络》(第5版)吴功宜、吴英…

nacos集群部署与配置

Nacos集群模式 1. 预备环境准备 请确保是在环境中安装使用: 64 bit OS Linux/Unix/Mac,推荐使用Linux系统。64 bit JDK 1.8;下载. 配置。Maven 3.2.x;下载. 配置。3个或3个以上Nacos节点才能构成集群 ubuntu中假如没安装jdk,则…

Python学习从0到1 day26 第三阶段 Spark ③ 数据计算 Ⅱ

目录 一、Filter方法 功能 语法 代码 总结 filter算子 二、distinct方法 功能 语法 代码 总结 distinct算子 三、SortBy方法 功能 语法 代码 总结 sortBy算子 四、数据计算练习 需求: 解答 总结 去重函数: 过滤函数: 转换函数: 排…

Jmeter基础篇(23)TPS和QPS的异同

前言 这是一篇性能测试指标的科普文章哦! TPS和QPS是同一个概念吗? TPS(Transactions Per Second)和QPS(Queries Per Second)虽然都是衡量系统性能的指标,但是它们并不是同一个概念。这两个各…

IEC60870-5-104 协议源码架构详细分析

IEC60870-5-104 协议源码架构 前言一、资源三、目录层级一二、目录层级二config/lib60870_config.hdependencies/READMEexamplesCMakeLists.txtcs101_master_balancedcs104_client_asyncmulti_client_servertls_clienttls_server说明 make这些文件的作用是否需要导入这些文件&a…