64 lines
2.0 KiB
Python
64 lines
2.0 KiB
Python
"""
|
||
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",
|
||
]
|