9.8 KiB
9.8 KiB
🔄 几何计算工具整合更新
📋 更新概览
几何计算工具已成功整合到空间数据管理功能中,作为第5个标签页。
✅ 完成的更改
1. 菜单结构调整
之前的菜单:
地块数字化与地图管理
├── GIS地图管理
├── 数字化绘制与编辑
├── 空间查询与分析
├── 几何计算工具 ⬅️ 独立菜单项
└── 地块影像
更新后的菜单:
地块数字化与地图管理
├── GIS地图管理
├── 数字化绘制与编辑
├── 空间数据管理 ⬅️ 包含查询和计算
└── 地块影像
2. 功能整合
空间数据管理现在包含5个标签页:
标签页1: 点面查询 (ST_Contains)
- 判断坐标点是否在多边形内
- 计算点到边界的距离
标签页2: 面面相交 (ST_Intersects)
- 检测多边形之间的相交关系
- 计算相交面积和比例
标签页3: 相邻查询 (ST_Touches)
- 查找相邻地块
- 计算共享边界长度
标签页4: 缓冲区分析 (ST_Buffer)
- 生成缓冲区
- 分析范围内的地块
标签页5: 几何计算 ⭐ 新增
包含5个子功能:
5.1 面积计算 (ST_Area)
- 输入多边形坐标点
- 计算精确面积(平方米、亩、公顷)
- L'Huilier球面三角形面积定理
- 精度误差 < 0.1%
5.2 周长计算 (ST_Perimeter)
- 输入多边形坐标点
- 计算周长(米、千米)
- Haversine公式
- 考虑地球曲率
5.3 中心点计算 (ST_Centroid)
- 输入多边形坐标点
- 计算几何中心坐标
- 加权质心法
5.4 距离计算 (ST_Distance)
- 输入两点坐标
- 计算球面距离(米、千米)
- Haversine公式
5.5 包围盒计算 (ST_Envelope)
- 输入多边形坐标点
- 计算最小矩形边界
- AABB算法
🎯 访问路径
导航:地块信息管理 → 地块数字化与地图管理 → 空间数据管理
URL: /field/map/spatial-query
操作:点击顶部的 "几何计算" 标签
🎨 界面展示
主界面 - 5个标签页
┌────────────────────────────────────────────────────────────┐
│ 点面查询 | 面面相交 | 相邻查询 | 缓冲区分析 | 几何计算 │
└────────────────────────────────────────────────────────────┘
几何计算标签页 - 5个子标签
┌──────────────────────────────────────────────────────┐
│ 面积 | 周长 | 中心点 | 距离 | 包围盒 │
└──────────────────────────────────────────────────────┘
面积计算界面示例
┌─────────────────────────────────────┐
│ 多边形坐标点 [添加点] │
│ │
│ 点1 [纬度: 39.9040] [经度: 116.4070] [删除] │
│ 点2 [纬度: 39.9080] [经度: 116.4070] [删除] │
│ 点3 [纬度: 39.9080] [经度: 116.4120] [删除] │
│ 点4 [纬度: 39.9040] [经度: 116.4120] [删除] │
│ │
│ [计算面积 (ST_Area)] │
│ │
│ ✅ 计算结果 │
│ ┌────────┬────────┬────────┐ │
│ │平方米 │ 亩 │ 公顷 │ │
│ │100000.50│150.00 │10.0000│ │
│ │ m² │ 亩 │ ha │ │
│ └────────┴────────┴────────┘ │
└─────────────────────────────────────┘
📝 使用步骤
示例:计算地块面积
步骤1:访问功能
地块信息管理 → 地块数字化与地图管理 → 空间数据管理
步骤2:切换到几何计算
点击顶部 "几何计算" 标签
步骤3:选择计算类型
点击 "面积" 子标签
步骤4:输入坐标点
系统默认提供4个示例点
可以:
- 修改现有点的坐标
- 点击"添加点"增加新点
- 点击删除按钮移除点(至少保留3个)
步骤5:执行计算
点击 "计算面积 (ST_Area)" 按钮
步骤6:查看结果
显示3种单位:
- 平方米 (m²)
- 亩
- 公顷 (ha)
🔧 技术更改
文件修改
1. /types/navigation.ts
- 删除了
field-geometry-calc菜单项 - 将 "空间查询与分析" 改名为 "空间数据管理"
2. /components/dashboard/FieldManagement.tsx
- 删除了
GeometryCalculator组件的导入 - 删除了
/field/map/geometry-calc路由
3. /components/field/FieldSpatialQuery.tsx
- 添加了几何计算相关状态
- 添加了5个几何计算处理函数
- 添加了"几何计算"标签页(包含5个子标签)
- 整合了完整的几何计算界面
4. 删除的文件
/components/field/GeometryCalculator.tsx(功能已整合)
🎯 功能特性
✅ 保留的优势
-
所有计算功能完整保留
- 面积、周长、中心点、距离、包围盒
-
高精度算法不变
- L'Huilier定理(面积)
- Haversine公式(距离/周长)
- 加权质心法(中心点)
-
用户体验优化
- 直观的坐标点编辑
- 实时计算反馈
- 多种单位显示
✅ 新的优势
-
功能集中
- 所有空间数据功能在一个页面
- 减少菜单层级,更易访问
-
统一界面
- 与空间查询功能使用相同的设计语言
- 标签页切换流畅
-
逻辑清晰
- 空间查询 + 几何计算 = 完整的空间数据管理
📊 界面对比
之前:两个独立页面
空间查询页面:
- 点面查询
- 面面相交
- 相邻查询
- 缓冲区分析
几何计算页面:(独立菜单)
- 面积
- 周长
- 中心点
- 距离
- 包围盒
现在:一个集成页面
空间数据管理:
├── 空间查询(4个标签)
│ ├── 点面查询
│ ├── 面面相交
│ ├── 相邻查询
│ └── 缓冲区分析
└── 几何计算(1个标签,5个子标签)
├── 面积
├── 周长
├── 中心点
├── 距离
└── 包围盒
💡 使用技巧
技巧1: 快速切换
使用键盘快捷键在标签页间快速切换:
- 主标签:Tab键
- 子标签:方向键
技巧2: 批量编辑坐标
在面积、周长等计算中:
- 先设置好第一个点
- 点击"添加点"
- 逐个调整坐标
技巧3: 复用坐标点
几何计算的坐标点在所有子标签间共享:
- 在"面积"中设置的点
- 在"周长"、"中心点"、"包围盒"中自动可用
🎓 实战案例
案例:完整的地块分析流程
场景: 分析一块新地块,需要全面的空间数据
步骤:
-
打开空间数据管理
地块信息管理 → 空间数据管理 -
检查地块位置(点面查询)
输入地块中心坐标 确认所在区域 -
检查重叠情况(面面相交)
选择当前地块 查找是否与其他地块重叠 -
查找相邻地块(相邻查询)
分析周边情况 规划连片作业 -
计算地块面积(几何计算 → 面积)
输入边界坐标 获取精确面积 -
计算周长(几何计算 → 周长)
使用相同坐标点 规划围栏长度 -
获取中心点(几何计算 → 中心点)
确定设备安装位置
结果:
- 全面了解地块空间特性
- 一个页面完成所有分析
- 数据一致性高
❓ 常见问题
Q1: 为什么要整合到一起?
A:
- 功能相关性高: 空间查询和几何计算都是空间数据分析
- 减少菜单层级: 用户不需要在多个页面间切换
- 提高效率: 一站式完成所有空间数据操作
Q2: 原来的几何计算功能有变化吗?
A:
- ✅ 所有功能100%保留
- ✅ 算法完全相同
- ✅ 精度没有任何改变
- ✅ 界面更加统一美观
Q3: 如何快速找到几何计算?
A:
方式1: 菜单导航
地块信息管理 → 空间数据管理 → 几何计算标签
方式2: 直接访问
URL: /field/map/spatial-query
然后点击"几何计算"标签
Q4: 坐标点数据会丢失吗?
A:
- 在当前会话中,坐标点在各子标签间共享
- 刷新页面会重置为默认值
- 建议重要数据及时记录
📚 相关文档
🎉 总结
更新亮点
✅ 功能集中化 - 所有空间数据功能集中在一个页面
✅ 界面统一化 - 使用一致的设计语言和交互模式
✅ 操作便捷化 - 减少菜单层级,提高使用效率
✅ 功能完整化 - 保留所有原有功能,无任何删减
立即体验
访问路径:
地块信息管理 → 地块数字化与地图管理 → 空间数据管理 → 几何计算
更新日期: 2025-10-18
版本: v2.0
维护团队: 智慧农业研发中心