refactor: 重构项目结构,将geo_tools重命名为app并更新相关引用
- 将主包名从geo_tools改为app - 更新所有模块中的引用路径 - 迁移并更新测试用例 - 添加项目规则文档 - 保持原有功能不变,仅进行结构调整
This commit is contained in:
10
.trae/rules/geo_rules.md
Normal file
10
.trae/rules/geo_rules.md
Normal 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` 处理所有文件路径,而不是字符串拼接。
|
||||
8
.trae/rules/project_rules.md
Normal file
8
.trae/rules/project_rules.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# 给 AI 助手看的规则 - 小白专用版
|
||||
|
||||
## 关于内存(最重要)
|
||||
1. 凡是读文件的函数,只要没加 `rows` 限制或 `chunk_size` 分块,都要在注释里用【警告】两个字提醒用户注意内存风险。
|
||||
2. 不要用 `for` 循环一行行修改 GeoDataFrame,要用 `apply` 或者向量化操作。
|
||||
|
||||
## 关于报错
|
||||
3. 禁止直接把底层库(fiona, shapely)的英文报错抛给用户看。必须包一层 try-except,翻译成中文提示,例如:“文件打不开,检查一下路径是不是有中文?”或者“数据里有烂掉的图形,已自动修复/跳过”。
|
||||
Reference in New Issue
Block a user