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

63
app/__init__.py Normal file
View File

@@ -0,0 +1,63 @@
"""
geo_tools
~~~~~~~~~
专业地理信息数据处理工具库。
核心依赖geopandas、shapely、fiona、pyproj。
快速开始
--------
>>> from geo_tools.io import readers
>>> from geo_tools.core import vector
>>> gdf = readers.read_vector("data/sample/sample_points.geojson")
>>> gdf_proj = vector.reproject(gdf, "EPSG:3857")
>>> print(gdf_proj.crs)
GDB 读写
--------
>>> from geo_tools.io import readers, writers
>>> layers = readers.list_gdb_layers("path/to/data.gdb")
>>> gdf = readers.read_gdb("path/to/data.gdb", layer="my_layer")
>>> writers.write_gdb(gdf, "output/result.gdb", layer="result_layer")
要素类投影
----------
>>> from geo_tools.core import projection
>>> gdf_proj = projection.reproject_gdf(gdf, "EPSG:4490")
>>> gdf_utm = projection.reproject_gdf(gdf, auto_utm=True)
"""
from importlib.metadata import PackageNotFoundError, version
# ── 版本 ──────────────────────────────────────────────────────────────────────
try:
__version__ = version("geo-tools")
except PackageNotFoundError:
__version__ = "0.1.0-dev"
# ── 配置 & 日志 ───────────────────────────────────────────────────────────────
from .io import readers, writers
from .config.settings import settings
from .utils.logger import get_logger, set_global_level
from .utils.validators import (
SUPPORTED_VECTOR_EXTENSIONS,
is_supported_vector_format,
is_valid_crs,
validate_crs,
validate_geometry,
validate_vector_path,
)
__all__ = [
"__version__",
"settings",
# utils
"get_logger",
"set_global_level",
"is_valid_crs",
"validate_crs",
"validate_geometry",
"is_supported_vector_format",
"validate_vector_path",
"SUPPORTED_VECTOR_EXTENSIONS",
]