def set_data_dir(proj_data_dir: str) -> None: """ Set the data directory for PROJ to use. Parameters ---------- proj_data_dir: str The path to the PROJ data directory. """ global _USER_PROJ_DATA global _VALIDATED_PROJ_DATA _USER_PROJ_DATA = proj_data_dir # set to none to re-validate _VALIDATED_PROJ_DATA = None # need to reset the global PROJ context # to prevent core dumping if the data directory # is not found. from pyproj._datadir import pyproj_global_context_initialize pyproj_global_context_initialize()
"itransform", "pj_ellps", "pj_list", "get_angular_units_map", "get_ellps_map", "get_prime_meridians_map", "get_proj_operations_map", "get_units_map", "show_versions", ] import warnings from pyproj import _datadir from pyproj._list import ( # noqa: F401 get_angular_units_map, get_authorities, get_codes, get_ellps_map, get_prime_meridians_map, get_proj_operations_map, get_units_map, ) from pyproj._show_versions import show_versions # noqa: F401 from pyproj.crs import CRS # noqa: F401 from pyproj.exceptions import DataDirError, ProjError # noqa: F401 from pyproj.geod import Geod, geodesic_version_str, pj_ellps # noqa: F401 from pyproj.proj import Proj, pj_list, proj_version_str # noqa: F401 from pyproj.transformer import Transformer, itransform, transform # noqa: F401 __proj_version__ = proj_version_str try: _datadir.pyproj_global_context_initialize() except DataDirError as err: warnings.warn(str(err))
def test_pyproj_global_context_initialize__datadir_missing(): with proj_env(), pytest.raises(DataDirError), patch( "pyproj._datadir.get_data_dir", side_effect=DataDirError("test")): pyproj_global_context_initialize()