refactor: 重构项目结构,将geo_tools重命名为app并更新相关引用

- 将主包名从geo_tools改为app
- 更新所有模块中的引用路径
- 迁移并更新测试用例
- 添加项目规则文档
- 保持原有功能不变,仅进行结构调整
This commit is contained in:
2026-04-12 19:49:56 +08:00
parent fcb8e1f255
commit db51d41aef
41 changed files with 4132 additions and 808 deletions

10
.trae/rules/geo_rules.md Normal file
View File

@@ -0,0 +1,10 @@
# Geo-Tools 项目特定编码规范
## 地理数据处理黄金法则
1. **投影先行**:任何涉及距离、面积的计算前,必须先检查 CRS若是地理坐标系(如 EPSG:4326),必须提示用户或自动调用 `suggest_projected_crs` 转换。
2. **几何清洗**:任何接收用户输入的 GeoDataFrame 的公开方法,内部必须包含 `gdf = gdf[gdf.is_valid]``make_valid()` 的处理逻辑,防止脏数据导致底层 C 库崩溃。
3. **内存控制**:读取大文件函数需要提供 `mask` (裁剪范围) 或 `rows` (读取行数限制) 参数。
## 代码风格
- 空间操作函数返回新的 GeoDataFrame尽量不修改原始输入数据Immutable
- 使用 `pathlib.Path` 处理所有文件路径,而不是字符串拼接。