diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2021-04-04 22:34:26 +0200 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2021-04-06 23:26:37 +0200 |
| commit | 9a6c7c7814fde397638426565a109adb400f2e0f (patch) | |
| tree | a20ccf9911bdad0fb73c2184e6bf2eaf63847b53 /scripts | |
| parent | cfe5615b5bb8693de09a85c7f45d8ca3c5afd5b9 (diff) | |
| download | PROJ-9a6c7c7814fde397638426565a109adb400f2e0f.tar.gz PROJ-9a6c7c7814fde397638426565a109adb400f2e0f.zip | |
Database: minor refresh of ignf.sql and import script with new locations of resources
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/build_db_create_ignf_from_xml.py | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/scripts/build_db_create_ignf_from_xml.py b/scripts/build_db_create_ignf_from_xml.py index 013bbd69..f248d9d1 100755 --- a/scripts/build_db_create_ignf_from_xml.py +++ b/scripts/build_db_create_ignf_from_xml.py @@ -34,7 +34,7 @@ import requests import sys # url = "http://librairies.ign.fr/geoportail/resources/IGNF.xml" -url = "https://geodesie.ign.fr/contenu/fichiers/IGNF.v3.1.0.xml" +url = "https://raw.githubusercontent.com/rouault/proj-resources/master/IGNF.v3.1.0.xml" if len(sys.argv) not in (1, 2) or (len(sys.argv) == 2 and sys.argv[1].startswith('-')): print('Usage: build_db_create_ignf.py [path_to_IGNF.xml]') @@ -393,7 +393,11 @@ for node in root.iterfind('.//VerticalCRS'): mapGridURLs = { # France metropole 'http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/RAF09.mnt': - 'http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/metropole/RAF09.mnt', + 'http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/anciennes/RAF09.mnt', + + # France metropole + 'https://geodesie.ign.fr/contenu/fichiers/documentation/grilles/metropole/RAF18.mnt': + 'http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/anciennes/RAF18.mnt', # Corse 'http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/RAC09.mnt': @@ -453,26 +457,26 @@ mapGridURLs = { # Guadeloupe WGS84 'http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggg00.txt': - 'http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggg00v2.mnt', + 'http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/anciennes/ggg00v2.txt', # Les Saintes WGS84 'http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggg00_ls.txt': - 'http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggg00_lsv2.mnt', + 'http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/anciennes/ggg00_lsv2.txt', 'ggg00_lsv2.mnt': - 'http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggg00_lsv2.mnt', + 'http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/anciennes/ggg00_lsv2.txt', # Martinique WGS84 'http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggm00.txt': - 'http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggm00v2.mnt', + 'http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/anciennes/ggm00v2.txt', # Saint Barthelemy WGS84 'http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggg00_sb.txt': - 'http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggg00_sbv2.mnt', + 'http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/anciennes/ggg00_sbv2.txt', # Saint Martin WGS84 'http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggg00_sm.txt': - 'http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggg00_smv2.mnt', + 'http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/anciennes/ggg00_smv2.txt', # La Desirade WGS84 'http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggg00_ld.txt': @@ -532,7 +536,7 @@ for node in root.iterfind('.//Transformation'): print('Fixing URL of ' + filename + ' to ' + mapGridURLs[filename]) filename = mapGridURLs[filename] - if not filename.endswith('RAF09.mnt') and not filename.endswith('ggspm06v1.mnt'): # no longer available + if not filename.endswith('ggspm06v1.mnt'): # no longer available r = requests.head(filename, allow_redirects = True ) if r.status_code not in (200, 302): assert False, (r.status_code, id, name, filename) @@ -1134,12 +1138,16 @@ all_sql.append("""INSERT INTO grid_alternatives(original_grid_name, 'https://cdn.proj.org/fr_ign_ntf_r93.tif', 1, 1, NULL); """) -for grid in setVerticalGrids: +for grid in sorted(setVerticalGrids): original_grid_name = grid old_proj_grid_name = grid[grid.rfind('/')+1:].replace('.txt', '.gtx').replace('.mnt', '.gtx').replace('.gra', '.gtx') gtiff_grid_name = 'fr_ign_' + old_proj_grid_name[0:-4] + '.tif' + proj_cdn_url = 'https://cdn.proj.org/' + gtiff_grid_name + r = requests.head(proj_cdn_url, allow_redirects = True) + assert r.status_code in (200, 302), proj_cdn_url + all_sql.append("""INSERT INTO grid_alternatives(original_grid_name, proj_grid_name, old_proj_grid_name, @@ -1155,7 +1163,7 @@ for grid in setVerticalGrids: 'geoid_like', 0, NULL, - '%s', 1, 1, NULL);""" % (original_grid_name, gtiff_grid_name, old_proj_grid_name, 'https://cdn.proj.org/' + gtiff_grid_name)) + '%s', 1, 1, NULL);""" % (original_grid_name, gtiff_grid_name, old_proj_grid_name, proj_cdn_url)) all_sql.append('') |
