diff options
| author | Kristian Evers <kristianevers@gmail.com> | 2020-01-08 19:42:22 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-01-08 19:42:22 +0100 |
| commit | 2d76bcffdc4d154860512c904c877ad086ca6b6d (patch) | |
| tree | fb7a89bad15edbd55aab154532911933af591dc8 /scripts/build_db.py | |
| parent | 6cd3a80bf5d015ec9c6dc601720a418c17ffa340 (diff) | |
| parent | 6426bcbd3605bf8cd6ae5c7869931fa89a26d641 (diff) | |
| download | PROJ-2d76bcffdc4d154860512c904c877ad086ca6b6d.tar.gz PROJ-2d76bcffdc4d154860512c904c877ad086ca6b6d.zip | |
Merge pull request #1827 from rouault/improve_createObjectsFromName
Improvements regarding name aliases (refs #1823)
Diffstat (limited to 'scripts/build_db.py')
| -rwxr-xr-x | scripts/build_db.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/scripts/build_db.py b/scripts/build_db.py index dbb1c727..05f9a9a9 100755 --- a/scripts/build_db.py +++ b/scripts/build_db.py @@ -561,6 +561,33 @@ def fill_alias(proj_db_cursor): else: print('Cannot find datum %s in geodetic_datum or vertical_datum' % (code)) + proj_db_cursor.execute("SELECT object_code, alias FROM epsg.epsg_alias WHERE object_table_name = 'epsg_coordinatereferencesystem'") + for row in proj_db_cursor.fetchall(): + code, alt_name = row + if int(code) > 60000000: + continue + proj_db_cursor.execute('SELECT 1 FROM geodetic_crs WHERE code = ?', (code,)) + if proj_db_cursor.fetchone() is not None: + proj_db_cursor.execute("INSERT INTO alias_name VALUES ('geodetic_crs','EPSG',?,?,'EPSG')", (code, alt_name)) + continue + + proj_db_cursor.execute('SELECT 1 FROM projected_crs WHERE code = ?', (code,)) + if proj_db_cursor.fetchone() is not None: + proj_db_cursor.execute("INSERT INTO alias_name VALUES ('projected_crs','EPSG',?,?,'EPSG')", (code, alt_name)) + continue + + proj_db_cursor.execute('SELECT 1 FROM vertical_crs WHERE code = ?', (code,)) + if proj_db_cursor.fetchone() is not None: + proj_db_cursor.execute("INSERT INTO alias_name VALUES ('vertical_crs','EPSG',?,?,'EPSG')", (code, alt_name)) + continue + + proj_db_cursor.execute('SELECT 1 FROM compound_crs WHERE code = ?', (code,)) + if proj_db_cursor.fetchone() is not None: + proj_db_cursor.execute("INSERT INTO alias_name VALUES ('compound_crs','EPSG',?,?,'EPSG')", (code, alt_name)) + continue + + print('Cannot find CRS %s in geodetic_crs, projected_crs, vertical_crs or compound_crs' % (code)) + def find_table(proj_db_cursor, code): for table_name in ('helmert_transformation', 'grid_transformation', 'concatenated_operation', 'geodetic_crs', 'projected_crs', 'vertical_crs', 'compound_crs'): |
