TOON:一种值得 GIS 行业关注的数据新载体
在人工智能技术日新月异的今天,我们每天都在探索如何让AI更高效地处理各类数据,当下里通用的数据格式中JSON最为主流,但JSON数据冗余比较大,导致我们与AI交互的时候消耗了大量的TOKEN。为了解决这个问题,一种名为TOON的全新数据格式被设计出来,用于替代JSON与LLM交互,可以减少Token消耗。
TOON GitHub官网:https://github.com/toon-format/toon
演示官网:https://toonformat.dev/

格式示意
常规的JOSN格式如下:
{
"users": [
{ "id": 1, "name": "Alice", "role": "admin" },
{ "id": 2, "name": "Bob", "role": "user" }
]
}
转换成 TOON 格式如下:
users[2]{id,name,role}:
1,Alice,admin
2,Bob,user
哎,历史是不是一个轮回?这玩意和CSV有什么区别?要说有的话,就是这玩意更好的支持嵌套。
如果TOON用于GIS行业?
我们再尝试一个GeoJSON数据:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"name": "Sample Point"
},
"geometry": {
"type": "Point",
"coordinates": [
116.3974,
39.9093
]
}
}
]
}
转换成TOON格式如下:
type: FeatureCollection
features[1]:
- type: Feature
properties:
name: Sample Point
geometry:
type: Point
coordinates[2]: 116.3974,39.9093
这么一对比是省了不少啊,如果进一步压缩可以做到更少的体积,所以小编认为这种结构特别适合下面类型的轻GIS应用,比如:
- 移动端地图应用
- 小程序
- WebGL 地图工具
- 后端 API 大量传输要素数据
- IoT + GIS 终端上传轻量位置数据
目前还没有GIS开发框架原生支持 TOON 格式,可以借助 JOSN 和 TOON 转换的工具来实现。
PS:小编目前也没有尝试,大家可以自行来实践。
JSON转换TOON工具
为了给大家尝试,小编把之前开发的JSON格式化工具增加了一个转换成 Toon 的功能,大家有需要的可以在工具中尝试。
https://tools.malagis.com/zh/json-converter
与TopoJSON区别
看到这里是不是会有人想起咱GIS行业另外一个格式 TopoJSON? 那么TOON 格式与TopoJSON有什么区别呢?TopoJSON 是 GeoJSON 的拓扑压缩版本,而 TOON 则是一种轻量化、可扩展的对象序列化格式。两者都能降低 GIS 数据体积,但解决的问题完全不一样。
TopoJSON依赖“拓扑共享边”的压缩,通过将面与面的公共边(arc)进行抽取与复用,实现数据压缩,多个行政区共享同一条边,只存一次,对行政区等复杂面状数据,压缩率可达 80%+。
TOON 的压缩来自于二进制结构(比文本 GeoJSON 更小)、去掉冗余字段(如 "type": "Feature" 等)及自定义对象结构更紧凑来实现,数据量减少一般为 30%~60%,但依赖具体 schema。TOON 不懂拓扑,也不进行几何优化。
小编认为TOON 与 TopoJSON 不是竞争关系,而是互补关系,TopoJSON 是地图几何优化格式,特别适合行政区、面状数据的强压缩;TOON 是轻量对象数据协议,适合面向业务对象、IoT、前后端 API、小型 GIS 数据传输。
总结
果然有时候贫穷也会成为第一生产力,传统的JSON格式之前已经得到不少的诟病,但因为其轻量、易读等特性一直统治着整个web数据传输领域。AI时代有了Token这一烧钱利器之后,果然又有新的格式来替代了,小编相信TOON不是终点,这仅仅是开始~
相关阅读
声明
1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。
2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。