summaryrefslogtreecommitdiff
path: root/ishtar_common/ignf_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/ignf_utils.py')
-rw-r--r--ishtar_common/ignf_utils.py181
1 files changed, 181 insertions, 0 deletions
diff --git a/ishtar_common/ignf_utils.py b/ishtar_common/ignf_utils.py
new file mode 100644
index 000000000..2f167299c
--- /dev/null
+++ b/ishtar_common/ignf_utils.py
@@ -0,0 +1,181 @@
+import xml.etree.ElementTree as ET
+
+
+# from the bellow script
+IGNF = {
+ "BORA01": 5607,
+ "CAD97": 4473,
+ "CAD97UTM38S": 5879,
+ "MAYO50UTM38S": 2980,
+ "CSG67UTM21": 3312,
+ "CSG67UTM22": 2971,
+ "STPM50": 5792,
+ "ED50UTM30": 23030,
+ "ED50UTM32": 23032,
+ "ED50UTM31": 23031,
+ "ETRS89": 4936,
+ "ETRS89LAEA": 3035,
+ "ETRS89LCC": 3034,
+ "ETRS89UTM28": 25828,
+ "ETRS89UTM29": 25829,
+ "ETRS89UTM30": 25830,
+ "ETRS89UTM31": 25831,
+ "ETRS89UTM32": 25832,
+ "ETRS89UTM33": 25833,
+ "ETRS89UTM34": 25834,
+ "ETRS89UTM35": 25835,
+ "ETRS89UTM36": 25836,
+ "ETRS89UTM37": 25837,
+ "EVRF2000": 5730,
+ "EVRF2007": 5621,
+ "GUADFMUTM20": 2969,
+ "GUADANNUTM20": 2970,
+ "HUAH01": 5605,
+ "ATUO63UTM7S": 3302,
+ "TAHITI66": 5601,
+ "MART87": 5756,
+ "GUAD88": 5757,
+ "GUAD88LS": 5616,
+ "GUAD88MG": 5617,
+ "GUAD88SB": 5619,
+ "GUAD88SM": 5620,
+ "REUN89": 5758,
+ "GUAD92LD": 5618,
+ "IGN72UTM58S": 3060,
+ "KERG62UTM42S": 3336,
+ "LIFOU56UT58S": 2981,
+ "MARE53UTM58S": 2995,
+ "MARTFDUTM20": 2973,
+ "MAUPITIUTM5S": 3306,
+ "MAUPITI01": 5604,
+ "MOOREA81": 5602,
+ "MOORE87UTM6S": 3305,
+ "NEA74LBTNM2": 3166,
+ "IGN69": 5720,
+ "IGN78C": 5721,
+ "NGF84": 5719,
+ "GUYA77": 5755,
+ "NGC48": 5791,
+ "NCAL69": 5753,
+ "NNLUX": 5774,
+ "LURESGKL": 2169,
+ "NTFLAMB1": 27561,
+ "NTFLAMB1C": 27571,
+ "NTFLAMB2": 27562,
+ "NTFLAMB2C": 27572,
+ "NTFLAMB2E": 27572,
+ "NTFLAMB3": 27563,
+ "NTFLAMB3C": 27573,
+ "NTFLAMB4": 27564,
+ "NTFLAMB4C": 27574,
+ "PETRE72SPSTA": 2985,
+ "RAIA01": 5603,
+ "RGAF09": 5487,
+ "RGAF09GEODD": 7085,
+ "RGAF09GDD": 7086,
+ "RGAF09G": 7086,
+ "RGAF09GEO": 7085,
+ "RGAF09UTM20": 5490,
+ "RGF93": 4964,
+ "RGF93CC42": 3942,
+ "RGF93CC43": 3943,
+ "RGF93CC44": 3944,
+ "RGF93CC45": 3945,
+ "RGF93CC46": 3946,
+ "RGF93CC47": 3947,
+ "RGF93CC48": 3948,
+ "RGF93CC49": 3949,
+ "RGF93CC50": 3950,
+ "RGF93GDD": 7084,
+ "RGF93GEODD": 7042,
+ "RGF93GEO": 7042,
+ "RGF93G": 7084,
+ "RGFG95": 4966,
+ "RGFG95GDD": 7041,
+ "RGFG95GEODD": 7040,
+ "RGFG95G": 7041,
+ "RGFG95GEO": 7040,
+ "RGFG95UTM21": 3313,
+ "RGFG95UTM22": 2972,
+ "RGM04": 4468,
+ "RGM04GDD": 7039,
+ "RGM04GEODD": 7038,
+ "RGM04G": 7039,
+ "RGM04GEO": 7038,
+ "RGM04UTM38S": 4471,
+ "RGNC": 4906,
+ "RGNCLAMBNC": 3163,
+ "RGNCUTM57S": 3169,
+ "RGNCUTM58S": 3170,
+ "RGNCUTM59S": 3171,
+ "RGPF": 4998,
+ "RGPFUTM5S": 3296,
+ "RGPFUTM6S": 3297,
+ "RGPFUTM7S": 3298,
+ "RGPFUTM8S": 3299,
+ "RGR92": 4970,
+ "RGR92GEODD": 7036,
+ "RGR92GDD": 7037,
+ "RGR92GEO": 7036,
+ "RGR92G": 7037,
+ "RGR92UTM40S": 2975,
+ "RGSPM06": 4465,
+ "RGSPM06GDD": 7035,
+ "RGSPM06GEODD": 7034,
+ "RGSPM06GEO": 7034,
+ "RGSPM06G": 7035,
+ "RGSPM06U21": 4467,
+ "RGTAAF07": 7071,
+ "RGTAAFGEODD": 7087,
+ "RGTAAF07GDD": 7133,
+ "RGTAAF07G": 7133,
+ "RGTAAFGEO": 7087,
+ "RGTAAFUTM37S": 7074,
+ "RGTAAFUTM39S": 7076,
+ "RGTAAFUTM42S": 7079,
+ "RGTAAFUTM43S": 7080,
+ "MAYO53": 5793,
+ "ST84UTM58S": 2996,
+ "ST87UTM58S": 3164,
+ "STPM50UTM21": 2987,
+ "TAHAA01": 5606,
+ "TAHI79UTM6S": 3304,
+ "TAHI51UTM6S": 2976,
+ "PGP50STEREPS": 2986,
+ "WALL78UTM1S": 2988,
+ "WGS72": 4984,
+ "WGS72UTM30": 32230,
+ "WGS72UTM31": 32231,
+ "WGS72UTM32": 32232,
+ "WGS72UTM1S": 32301,
+ "WGS84": 4978,
+ "WGS84UTM30": 32630,
+ "WGS84UTM31": 32631,
+ "WGS84UTM32": 32632,
+ "WGS84UTM1S": 32701,
+ "WGS84UTM39S": 32739,
+ "WGS84UTM42S": 32742,
+ "WGS84WMSV": 3857,
+}
+
+
+def extract_from_csv(filename):
+ tree = ET.parse(filename)
+ root = tree.getroot()
+ ns = "{http://www.isotc211.org/2005/gmx}"
+ ns_gml = "{http://www.opengis.net/gml}"
+ equiv = {}
+ base_srid = "urn:ogc:def:crs:EPSG:9.1.1:"
+
+ for crs_type in root.findall(f"{ns}crs"):
+ for crs in list(crs_type):
+ ignf_id = crs.attrib[f"{ns_gml}id"]
+ for epsg in crs.findall(f"{ns_gml}name"):
+ if epsg.text.startswith(base_srid):
+ equiv[ignf_id] = epsg.text[len(base_srid) :]
+ return equiv
+
+
+if __name__ == "__main__":
+ equiv = extract_from_csv("IGNF.xml")
+ print(equiv)