Example #1
0
def test_extract_extended_enums():
    parser = ImdParser("./tests/data/ili/RoadsExdm2ben.imd")
    enum_tables = parser.extract_enums()
    print enum_tables
    assert enum_tables['RoadsExdm2ben.Roads.RoadSign.Type'] == [
        {'enumtxt': 'prohibition', 'enum': 'prohibition', 'id': 0},
        {'enumtxt': 'indication', 'enum': 'indication', 'id': 1},
        {'enumtxt': 'danger', 'enum': 'danger', 'id': 2},
        {'enumtxt': 'velocity', 'enum': 'velocity', 'id': 3}]

    parser = ImdParser("./tests/data/ili/RoadsExdm2ien.imd")
    enum_tables = parser.extract_enums()
    print enum_tables
    assert enum_tables['RoadsExdm2ben.Roads.RoadSign.Type'] == [
        {'enumtxt': 'prohibition', 'enum': 'prohibition', 'id': 0},
        {'enumtxt': 'indication', 'enum': 'indication', 'id': 1},
        {'enumtxt': 'danger', 'enum': 'danger', 'id': 2},
        {'enumtxt': 'velocity', 'enum': 'velocity', 'id': 3}]
    assert enum_tables['RoadsExdm2ien.RoadsExtended.RoadSign.Type'] == [
        {'enumtxt': 'prohibition', 'enum': 'prohibition', 'id': 0},  # FIXME: omit non-leaf enum!
        {'enumtxt': 'indication', 'enum': 'indication', 'id': 1},
        {'enumtxt': 'danger', 'enum': 'danger', 'id': 2},
        {'enumtxt': 'velocity', 'enum': 'velocity', 'id': 3},
        {'enumtxt': 'prohibition.noentry', 'enum': 'prohibition.noentry', 'id': 4},
        {'enumtxt': 'prohibition.noparking', 'enum': 'prohibition.noparking', 'id': 5},
        {'enumtxt': 'prohibition.other', 'enum': 'prohibition.other', 'id': 6}]
Example #2
0
def test_extract_enums():
    parser = ImdParser("./tests/data/ili/Beispiel.imd")
    enum_tables = parser.extract_enums()
    assert enum_tables['Beispiel.Bodenbedeckung.BoFlaechen.Art'][1] == {
        'enumtxt': 'befestigt',
        'enum': 'befestigt',
        'id': 1
    }
def test_ili_schema_to_postgis():
    imd = ImdParser("./tests/data/np/NP_73_CH_de_ili2.imd")
    transferfn = imd.gen_empty_transfer_file()
    trans = OgrConfig(config="tests/data/np/NP_73_CH_de_ili2-pg.cfg",
                      ds=transferfn + ",tests/data/np/NP_73_CH_de_ili2.imd")
    __, dstfile = tempfile.mkstemp(suffix='.sql')
    trans.transform(dstfile, "PGDump")
    print(dstfile)
    sql = codecs.open(dstfile, encoding='utf-8').read()
    assert """CREATE TABLE "public"."n0_grundnutzung_zonenflaeche" (""" in sql
    assert """SELECT AddGeometryColumn('public','n0_grundnutzung_zonenflaeche','geometrie',21781,'POLYGON',2);""" in sql
    os.remove(transferfn)
    os.remove(dstfile)
def test_ili_schema_to_postgis():
    imd = ImdParser("./tests/data/np/NP_73_CH_de_ili2.imd")
    transferfn = imd.gen_empty_transfer_file()
    trans = OgrConfig(
        config="tests/data/np/NP_73_CH_de_ili2-pg.cfg",
        ds=transferfn+",tests/data/np/NP_73_CH_de_ili2.imd")
    __, dstfile = tempfile.mkstemp(suffix='.sql')
    trans.transform(dstfile, "PGDump")
    print dstfile
    sql = codecs.open(dstfile, encoding='utf-8').read()
    assert """CREATE TABLE "public"."n0_grundnutzung_zonenflaeche" (""" in sql
    assert """SELECT AddGeometryColumn('public','n0_grundnutzung_zonenflaeche','geometrie',21781,'POLYGON',2);""" in sql
    os.remove(transferfn)
    os.remove(dstfile)
def test_extract_extended_enums():
    parser = ImdParser("./tests/data/ili/RoadsExdm2ben.imd")
    enum_tables = parser.extract_enums()
    print(enum_tables)
    assert enum_tables['RoadsExdm2ben.Roads.RoadSign.Type'] == [
        {'enumtxt': 'prohibition', 'enum': 'prohibition', 'id': 0},
        {'enumtxt': 'indication', 'enum': 'indication', 'id': 1},
        {'enumtxt': 'danger', 'enum': 'danger', 'id': 2},
        {'enumtxt': 'velocity', 'enum': 'velocity', 'id': 3}]

    parser = ImdParser("./tests/data/ili/RoadsExdm2ien.imd")
    enum_tables = parser.extract_enums()
    print(enum_tables)
    assert enum_tables['RoadsExdm2ben.Roads.RoadSign.Type'] == [
        {'enumtxt': 'prohibition', 'enum': 'prohibition', 'id': 0},
        {'enumtxt': 'indication', 'enum': 'indication', 'id': 1},
        {'enumtxt': 'danger', 'enum': 'danger', 'id': 2},
        {'enumtxt': 'velocity', 'enum': 'velocity', 'id': 3}]
    assert enum_tables['RoadsExdm2ien.RoadsExtended.RoadSign.Type'] == [
        # FIXME: omit non-leaf enum!
        {'enumtxt': 'prohibition', 'enum': 'prohibition', 'id': 0},
        {'enumtxt': 'indication', 'enum': 'indication', 'id': 1},
        {'enumtxt': 'danger', 'enum': 'danger', 'id': 2},
        {'enumtxt': 'velocity', 'enum': 'velocity', 'id': 3},
        {'enumtxt': 'prohibition.noentry',
            'enum': 'prohibition.noentry', 'id': 4},
        {'enumtxt': 'prohibition.noparking',
            'enum': 'prohibition.noparking', 'id': 5},
        {'enumtxt': 'prohibition.other', 'enum': 'prohibition.other', 'id': 6}]
Example #6
0
 def _empty_transfer_ds(self):
     imd = ImdParser(self.ui.mModelLineEdit.text())
     transferfn = imd.gen_empty_transfer_file()
     ds = transferfn + "," + self.ui.mModelLineEdit.text()
     return ds
def test_gen_empty_transfer():
    parser = ImdParser("./tests/data/ili/Beispiel.imd")
    transfer = parser.gen_empty_transfer()
    print(transfer)
    assert """<MODEL NAME="Beispiel">""" in transfer
def test_extract_enums_gml():
    parser = ImdParser("./tests/data/ili/Beispiel.imd")
    gml = parser.extract_enums_asgml()
    print(gml)
    assert b"_Art><id>1</id><enum>befestigt</enum><enumtxt>befestigt</enumtxt></enum" in gml
Example #9
0
 def _empty_transfer_ds(self):
     imd = ImdParser(self.ui.mModelLineEdit.text())
     transferfn = imd.gen_empty_transfer_file()
     ds = transferfn + "," + self.ui.mModelLineEdit.text()
     return ds
Example #10
0
def test_extract_enums():
    parser = ImdParser("./tests/data/ili/Beispiel.imd")
    enum_tables = parser.extract_enums()
    assert enum_tables['Beispiel.Bodenbedeckung.BoFlaechen.Art'][1] == {
        'enumtxt': 'befestigt', 'enum': 'befestigt', 'id': 1}
Example #11
0
def test_extract_enums_gml():
    parser = ImdParser("./tests/data/ili/Beispiel.imd")
    gml = parser.extract_enums_asgml()
    print gml
    assert "<gml:featureMember><enum2_Art><id>1</id><enum>befestigt</enum><enumtxt>befestigt</enumtxt></enum2_Art></gml:featureMember>" in gml
Example #12
0
def test_extract_enums_gml():
    parser = ImdParser("./tests/data/ili/Beispiel.imd")
    gml = parser.extract_enums_asgml()
    print gml
    assert "<gml:featureMember><enum2_Art><id>1</id><enum>befestigt</enum><enumtxt>befestigt</enumtxt></enum2_Art></gml:featureMember>" in gml
Example #13
0
def test_gen_empty_transfer():
    parser = ImdParser("./tests/data/ili/Beispiel.imd")
    transfer = parser.gen_empty_transfer()
    print transfer
    assert """<MODEL NAME="Beispiel">""" in transfer