Hotdata CLI 地理空间查询完全指南:PostGIS风格SQL玩转WKB几何数据
【免费下载链接】hotdata-cliCLI for Hotdata项目地址https://gitcode.com/gh_mirrors/ho/hotdata-cli点击查看免费下载想在命令行里做 GIS 分析却不想自己搭一套 PostGIS 环境️Hotdata CLI让你在熟悉的 SQL 里直接完成地理空间查询点是否在多边形内、两个位置相距多少米、哪些区域落在指定范围内——一条命令就能出结果。本文带你从安装到进阶把 WKB 几何数据玩明白。为什么选择 Hotdata CLI 做地理空间分析传统 GIS 栈QGIS PostGIS Postgres要装一堆组件而 Hotdata 把数据库、SQL 引擎、空间函数打包成一个命令行工具✅开箱即用用 PostgreSQL 方言的 SQL 查询空间数据无需部署数据库✅PostGIS 风格函数ST_Distance、ST_Within、ST_Area等熟悉的ST_*函数直接可用✅零配置搜索与导入从文件、S3、API 拉数据入库随查随用完整背景见 README.md。一分钟安装 Hotdata CLIbrew install hotdata-dev/tap/cli # macOS / LinuxHomebrew没有 Homebrew 也没关系可以直接从源码构建git clone https://gitcode.com/gh_mirrors/ho/hotdata-cli cd hotdata-cli cargo install --path . # 需要 Rust 环境登录后建库、灌数据三步完成准备工作hotdata auth login # 浏览器登录 hotdata databases create --catalog geo hotdata databases load --catalog geo --table places --url https://example.com/places.parquet 表名查询一律写成三段式catalog.schema.table例如geo.public.places。认识 WKB 几何数据两类关键列地理空间表通常携带两个特殊列在 skills/hotdata/subskills/geospatial/SKILL.md 中有完整说明列名类型作用wkb_geometryBinaryWKB 编码的几何体点、多边形等空间计算的原料wkb_geometry_bboxStruct预计算的包围盒xmin/ymin/xmax/ymax经纬度两个使用要点解析任何空间函数之前先用ST_GeomFromWKB(wkb_geometry)把二进制解析成几何对象取包围盒Struct 字段必须用方括号访问wkb_geometry_bbox[xmin]✓点号写法 ✗。用hotdata databases tables show geo.public.places就能确认表里有没有这两列找Binary和Struct类型。ST_* 函数速查表四大类函数搞定一切Hotdata 支持一套 PostGIS 风格函数完整目录见 references/functions.md 构建几何函数说明示例ST_GeomFromWKB(col)解析 WKB 二进制列ST_GeomFromWKB(wkb_geometry)ST_GeomFromText(wkt)用 WKT 文本现场画几何ST_GeomFromText(POLYGON((...)))ST_MakePoint(lon, lat)快速造一个点ST_MakePoint(-122.27, 37.80) 查看几何函数返回ST_GeometryType类型名ST_Point、ST_Polygon…ST_X/ST_Y点的经度 / 纬度ST_Centroid质心点ST_AsText转成 WKT 文本方便导出查看 空间关系返回布尔值ST_Within在内部、ST_Contains包含、ST_Intersects相交、ST_Overlaps重叠、ST_Touches仅边界相接、ST_Disjoint不相交等——判断谁在谁里面、谁挨着谁全靠它们。 测量与加工函数说明ST_Distance(a, b)两几何间距离十进制度ST_Area(geom)面积十进制的平方量级参考ST_Simplify(geom, 容差)Douglas–Peucker 简化容差单位是度ST_OrientedEnvelope(geom)最小旋转包围盒ST_ConvexHull(geom)凸包多边形实战5 个最常用的地理空间查询① 先探路表里都是什么几何类型SELECT ST_GeometryType(ST_GeomFromWKB(wkb_geometry)) AS geom_type, COUNT(*) FROM geo.public.places WHERE wkb_geometry IS NOT NULL GROUP BY 1② 范围过滤只留某个矩形框内的数据没有ST_MakeEnvelope用ST_GeomFromText手画一个闭合矩形首尾顶点要重复WHERE ST_Within( ST_Centroid(ST_GeomFromWKB(wkb_geometry)), ST_GeomFromText(POLYGON((-122.5 37.5, -122.0 37.5, -122.0 38.0, -122.5 38.0, -122.5 37.5))) )大表提速技巧直接过滤预计算包围盒跳过 WKB 解析快得多WHERE wkb_geometry_bbox[xmin] -122.5 AND wkb_geometry_bbox[xmax] -122.0 AND wkb_geometry_bbox[ymin] 37.5 AND wkb_geometry_bbox[ymax] 38.0③ 点在多边形内这个坐标落在哪个区域SELECT * FROM geo.public.regions WHERE ST_Contains(ST_GeomFromWKB(wkb_geometry), ST_MakePoint(-122.27, 37.80))④ 最近邻离某点最近的 10 个设施SELECT id, ST_Distance(ST_Centroid(ST_GeomFromWKB(wkb_geometry)), ST_MakePoint(-122.27, 37.80)) * 111000 AS dist_meters FROM geo.public.places WHERE wkb_geometry IS NOT NULL ORDER BY dist_meters LIMIT 10⑤ 面积与质心导出SELECT id, ST_Area(ST_GeomFromWKB(wkb_geometry)) * 111000 * 111000 AS area_sqm, ST_X(ST_Centroid(ST_GeomFromWKB(wkb_geometry))) AS lon, ST_Y(ST_Centroid(ST_GeomFromWKB(wkb_geometry))) AS lat FROM geo.public.places所有查询都通过同一条命令执行hotdata query 你的SQL -o table⚠️ 重要结果单位是度换算公式请收好Hotdata 没有::geography类型测量结果一律是十进制度约按 37°N 纬度估算向两极误差会增大想要的单位换算米距离度 × 111,000公里度 × 111英里度 × 69.0平方米面积度² × 111,000²英亩面积度² × 111,000² ÷ 4,047 面积结果是量级参考而非精确值误差随纬度平方放大。需要精确面积时请导出 WKT 后在外部投影再算。不支持的函数都有替代方案不支持替代写法ST_Buffer/ST_DWithinST_WithinST_GeomFromText(POLYGON(...))手画范围ST_MakeEnvelope同上POLYGON((minLon minLat, maxLon minLat, maxLon maxLat, minLon maxLat, minLon minLat))ST_AsGeoJSON用ST_AsText拿 WKT客户端再解析ST_EnvelopeST_OrientedEnvelopeST_Transform/ 投影转换客户端导出后处理新表探索工作流4 步上手任何空间表找几何列——hotdata databases tables listtables show定位BinaryWKB/Structbbox列看类型分布—— 跑上面①的查询摸清覆盖范围—— 对 bbox 取MIN/MAX四个角得到整张表的经纬度边界抽样看结构—— 用ST_AsText(...) LIMIT 3看看 WKT 长什么样小结Hotdata CLI 用PostGIS 风格的 SQL把地理空间查询装进了终端ST_GeomFromWKB解析数据、ST_Within/ST_Contains判关系、ST_Distance量距离再乘上 111,000 就是米。配合预计算包围盒wkb_geometry_bbox还能在大表上飞快过滤。更多分析技巧OLAP、全文/向量搜索可继续查看 skills/hotdata/SKILL.md 中捆绑的子技能。现在打开终端跑第一条hotdata query吧赞分享【免费下载链接】hotdata-cliCLI for Hotdata项目地址https://gitcode.com/gh_mirrors/ho/hotdata-cli点击查看免费下载相关推荐DeepSeekMoE快速入门指南如何在单张40GB GPU上部署16B参数模型DeepSeekMoE快速入门指南如何在单张40GB GPU上部署16B参数模型 想要在有限的GPU资源上运行大型语言模型吗DeepSeekMoE 16B模人工智能大模型基础模型微调DeepSeekPostgreSQL地理空间查询PostGIS高级空间分析功能终极指南PostgreSQL地理空间查询PostGIS高级空间分析功能终极指南 PostgreSQL作为功能最强大的开源关系型数据库通过PostGIS扩展提供了专业文档知识库数据库Philoagents-course核心技术揭秘RAG与长期记忆如何塑造智能对话Philoagents course核心技术揭秘RAG与长期记忆如何塑造智能对话 Philoagents course是一个将哲学与AI智能体相结合的创新项目创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

HyperQwen 上下文复述加速:lookup 草稿如何把 25k 文档复读推到 381 tok/s

HyperQwen 上下文复述加速:lookup 草稿如何把 25k 文档复读推到 381 tok/s

HyperQwen 上下文复述加速:lookup 草稿如何把 25k 文档复读推到 381 tok/s 【免费下载链接】HyperQwen Serve large Qwen models fast on the GPUs you actually own. Qwen3.8-27B on a single 24 GB card with vLLM: 127 tok/s single-user (381 when the answer q…

2026/10/11 20:40:27 阅读更多 →
Android手势识别全解:从MotionEvent到自定义模板匹配

Android手势识别全解:从MotionEvent到自定义模板匹配

从第一次接触Android开发到现在,我一直觉得手势识别是最能体现“交互感”的一块内容。你辛辛苦苦写了个很酷的交互逻辑,结果用户手指一滑、一按、一捏,完全没反应,那种挫败感真的很难受。反过来,如果把手势识别处理好&…

2026/10/11 20:40:27 阅读更多 →
HTML5语义化标签实战:告别div盘丝洞,构建清晰网页骨架

HTML5语义化标签实战:告别div盘丝洞,构建清晰网页骨架

很多前端新手拿到设计稿,第一反应永远是 div。一个 div 包一层,不够再套一个 div,最后变成了一层叠一层的“div 盘丝洞”。我自己早期也这么写过,直到后来接手一个老项目,光是梳理页面结构就花了整整一下午&#xff0c…

2026/10/11 20:40:27 阅读更多 →

最新新闻

PgQue 监控实战:5 个必须告警的队列健康指标 + 如何揪出卡住的消费者

PgQue 监控实战:5 个必须告警的队列健康指标 + 如何揪出卡住的消费者

【免费下载链接】PgQue PgQue – Zero-bloat Postgres queue built on top of on battle-proven Skypes PgQ. One SQL file to install, pg_cron to tick https://pgque.dev 项目地址: https://gitcode.com/gh_mirrors/pg/PgQue 点击查看 免费下载 PgQue 是一个零膨…

2026/10/11 22:49:35 阅读更多 →
农行银企直联全链路实战:从密钥申请到转账对账的Java避坑指南

农行银企直联全链路实战:从密钥申请到转账对账的Java避坑指南

简介:这份资源面向使用 Java 对接农业银行银企直联的开发者,聚焦企业财务系统与银行系统之间的电子数据交换场景,帮助解决转账、余额查询、支付等业务自动化处理中的接口开发与安全控制问题。压缩包共 20 个文件,约 23KB&#xff…

2026/10/11 22:49:35 阅读更多 →
从需求到建库:工厂物资管理数据库系统设计实战

从需求到建库:工厂物资管理数据库系统设计实战

简介:《工厂物资管理数据库系统》是一份面向高校数据库课程设计、毕业设计及物资管理项目初学者的完整设计报告。文档围绕工厂物资采购、入库、领用、库存盘点与报废处理全流程,按设计任务说明、需求分析、概念模型设计、逻辑模型设计、物理模型设计和数…

2026/10/11 22:49:35 阅读更多 →
Java实现人体姿态识别与动作评分:ONNX Runtime与DTW实战指南

Java实现人体姿态识别与动作评分:ONNX Runtime与DTW实战指南

简介:基于Java的人体姿态识别与动作评分系统,以动态捕捉画面中人体关键点为入口,在双侧肩、肘、髋、膝八个关节处同步生成角度数据,并融合姿态评估、实时语音提示和训练后多维分析,可服务于运动康复、体态矫正等专业场…

2026/10/11 22:49:35 阅读更多 →
从多智能体到提示注入:awesome-ai-agent-papers 5大核心分类全解析

从多智能体到提示注入:awesome-ai-agent-papers 5大核心分类全解析

【免费下载链接】awesome-ai-agent-papers A curated collection of AI agent research papers released in 2026, covering agent engineering, memory, evaluation, workflows, and autonomous systems. 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-ai-…

2026/10/11 22:49:35 阅读更多 →
Vscode插件推荐——智能切换输入法(Smart IME)与TaoToken配置实践

Vscode插件推荐——智能切换输入法(Smart IME)与TaoToken配置实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 22:48:31 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →