Пример #1
0
def test_coordinate_operation_grids():
    cc = CoordinateOperation.from_epsg(1312)
    assert (
        repr(cc.grids)
        == "[Grid(short_name=NTv1_0.gsb, full_name=, package_name=, url=, "
        "direct_download=False, open_license=False, available=False)]"
    )
Пример #2
0
def test_coordinate_operation_grids():
    cc = CoordinateOperation.from_epsg(1312)
    assert (
        repr(cc.grids)
        == "[Grid(short_name=NTv1_0.gsb, full_name=, package_name=, url=, "
        "direct_download=False, open_license=False, available=False)]"
    )
Пример #3
0
def test_coordinate_operation_grids__alternative_grid_name():
    cc = CoordinateOperation.from_epsg(1312, True)
    assert len(cc.grids) == 1
    grid = cc.grids[0]
    assert grid.short_name == "ntv1_can.dat"
    assert grid.full_name.endswith(grid.short_name)
    assert grid.package_name == "proj-datumgrid"
    assert grid.url.startswith("https://download.osgeo.org/proj/proj-datumgrid")
    assert grid.direct_download is True
    assert grid.open_license is True
    assert grid.available is True
Пример #4
0
def test_coordinate_operation_grids__alternative_grid_name():
    cc = CoordinateOperation.from_epsg(1312, True)
    assert len(cc.grids) == 1
    grid = cc.grids[0]
    assert grid.short_name == "ntv1_can.dat"
    assert grid.full_name.endswith(grid.short_name)
    assert grid.package_name == "proj-datumgrid"
    assert grid.url.startswith("https://download.osgeo.org/proj/proj-datumgrid")
    assert grid.direct_download is True
    assert grid.open_license is True
    assert grid.available is True
Пример #5
0
def test_coordinate_operation_grids__alternative_grid_name():
    cc = CoordinateOperation.from_epsg(1312, True)
    assert len(cc.grids) == 1
    grid = cc.grids[0]
    assert grid.direct_download is True
    assert grid.open_license is True
    assert grid.short_name == "ca_nrc_ntv1_can.tif"
    if grids_available(grid.short_name):
        assert grid.available is True
        assert grid.full_name.endswith(grid.short_name)
    else:
        assert grid.available is False
        assert grid.full_name == ""
    assert grid.package_name == ""
    assert grid.url == "https://cdn.proj.org/ca_nrc_ntv1_can.tif"
Пример #6
0
def test_coordinate_operation_grids__alternative_grid_name():
    cc = CoordinateOperation.from_epsg(1312, True)
    assert len(cc.grids) == 1
    grid = cc.grids[0]
    assert grid.direct_download is True
    assert grid.open_license is True
    assert grid.available is True
    if LooseVersion(proj_version_str) >= LooseVersion("7.0.0"):
        assert grid.short_name == "ca_nrc_ntv1_can.tif"
        assert grid.full_name.endswith("ntv1_can.dat")
        assert grid.package_name == ""
        assert grid.url == "https://cdn.proj.org/ca_nrc_ntv1_can.tif"
    else:
        assert grid.short_name == "ntv1_can.dat"
        assert grid.full_name.endswith(grid.short_name)
        assert grid.package_name == "proj-datumgrid"
        assert grid.url.startswith("https://download.osgeo.org/proj/proj-datumgrid")
Пример #7
0
def test_coordinate_operation__from_epsg__empty():
    with pytest.raises(CRSError, match="Invalid authority"):
        CoordinateOperation.from_epsg(1)
Пример #8
0
def test_coordinate_operation__from_user_input(user_input):
    assert CoordinateOperation.from_user_input(
        user_input) == CoordinateOperation.from_epsg(1671)
Пример #9
0
def test_coordinate_operation__from_epsg():
    cc = CoordinateOperation.from_epsg(16031)
    assert cc.method_auth_name == "EPSG"
    assert cc.method_code == "9807"
Пример #10
0
def test_scope__remarks():
    co = CoordinateOperation.from_epsg("8048")
    assert "GDA94" in co.scope
    assert "Scale difference" in co.remarks
Пример #11
0
def test_coordinate_operation_equals():
    co = CoordinateOperation.from_epsg(1671)
    assert co == 1671
    assert not co != 1671
    assert co != "invalid"
Пример #12
0
    assert cc.method_code == "9807"


def test_coordinate_operation__from_authority():
    cc = CoordinateOperation.from_authority("EPSG", 16031)
    assert cc.method_auth_name == "EPSG"
    assert cc.method_code == "9807"


@pytest.mark.parametrize(
    "user_input",
    [
        1671,
        ("EPSG", 1671),
        "urn:ogc:def:coordinateOperation:EPSG::1671",
        CoordinateOperation.from_epsg(1671),
        CoordinateOperation.from_epsg(1671).to_json_dict(),
        "RGF93 to WGS 84 (1)",
    ],
)
def test_coordinate_operation__from_user_input(user_input):
    assert CoordinateOperation.from_user_input(
        user_input) == CoordinateOperation.from_epsg(1671)


def test_coordinate_operation__from_user_input__invalid():
    with pytest.raises(CRSError, match="Invalid coordinate operation"):
        CoordinateOperation.from_user_input({})


def test_coordinate_operation__from_epsg__empty():
Пример #13
0
def test_coordinate_operation__from_epsg__empty():
    CoordinateOperation.from_epsg(1) is None
Пример #14
0
def test_coordinate_operation__from_epsg():
    cc = CoordinateOperation.from_epsg(16031)
    assert cc.method_auth_name == "EPSG"
    assert cc.method_code == "9807"