Files
geo_tools/.trae/rules/geo_rules.md
missum db51d41aef refactor: 重构项目结构,将geo_tools重命名为app并更新相关引用
- 将主包名从geo_tools改为app
- 更新所有模块中的引用路径
- 迁移并更新测试用例
- 添加项目规则文档
- 保持原有功能不变,仅进行结构调整
2026-04-12 19:49:56 +08:00

10 lines
786 B
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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` 处理所有文件路径,而不是字符串拼接。