# 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` 处理所有文件路径,而不是字符串拼接。