aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/build_db.py199
-rwxr-xr-xscripts/build_db_create_ignf_from_xml.py40
-rwxr-xr-xscripts/build_db_from_esri.py306
-rwxr-xr-xscripts/dump_exported_symbols.sh2
-rw-r--r--scripts/reference_exported_symbols.txt964
-rwxr-xr-xscripts/reformat_cpp.sh2
6 files changed, 1457 insertions, 56 deletions
diff --git a/scripts/build_db.py b/scripts/build_db.py
index 4f09a659..26839669 100755
--- a/scripts/build_db.py
+++ b/scripts/build_db.py
@@ -134,7 +134,7 @@ def fill_conversion(proj_db_cursor):
trigger_sql = """
CREATE TRIGGER conversion_method_check_insert_trigger
BEFORE INSERT ON conversion
-FOR EACH ROW BEGIN
+BEGIN
"""
proj_db_cursor.execute("SELECT coord_op_code, coord_op_name, area_of_use_code, coord_op_method_code, coord_op_method_name, epsg_coordoperation.deprecated FROM epsg.epsg_coordoperation LEFT JOIN epsg.epsg_coordoperationmethod USING (coord_op_method_code) WHERE coord_op_type = 'conversion' AND coord_op_name NOT LIKE '%to DMSH'")
@@ -229,11 +229,19 @@ def fill_projected_crs(proj_db_cursor):
def fill_compound_crs(proj_db_cursor):
#proj_db_cursor.execute(
# "INSERT INTO crs SELECT ?, coord_ref_sys_code, coord_ref_sys_kind FROM epsg.epsg_coordinatereferencesystem WHERE coord_ref_sys_kind IN ('compound')", (EPSG_AUTHORITY,))
- proj_db_cursor.execute("INSERT INTO compound_crs SELECT ?, coord_ref_sys_code, coord_ref_sys_name, NULL, NULL, ?, cmpd_horizcrs_code, ?, cmpd_vertcrs_code, ?, area_of_use_code, deprecated FROM epsg.epsg_coordinatereferencesystem WHERE coord_ref_sys_kind IN ('compound')", (EPSG_AUTHORITY, EPSG_AUTHORITY, EPSG_AUTHORITY, EPSG_AUTHORITY))
+
+ proj_db_cursor.execute("SELECT ?, coord_ref_sys_code, coord_ref_sys_name, NULL, NULL, ?, cmpd_horizcrs_code, ?, cmpd_vertcrs_code, ?, area_of_use_code, deprecated FROM epsg.epsg_coordinatereferencesystem WHERE coord_ref_sys_kind IN ('compound') AND cmpd_horizcrs_code NOT IN (SELECT coord_ref_sys_code FROM epsg.epsg_coordinatereferencesystem WHERE coord_ref_sys_kind = 'engineering')", (EPSG_AUTHORITY, EPSG_AUTHORITY, EPSG_AUTHORITY, EPSG_AUTHORITY))
+ for auth_name, code, name, description, scope, horiz_auth_name, horiz_code, vert_auth_name, vert_code, area_of_use_auth_name, area_of_use_code, deprecated in proj_db_cursor.fetchall():
+ try:
+ proj_db_cursor.execute("INSERT INTO compound_crs VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", (auth_name, code, name, description, scope, horiz_auth_name, horiz_code, vert_auth_name, vert_code, area_of_use_auth_name, area_of_use_code, deprecated))
+ except sqlite3.IntegrityError as e:
+ print(e)
+ print(auth_name, code, name, description, scope, horiz_auth_name, horiz_code, vert_auth_name, vert_code, area_of_use_auth_name, area_of_use_code, deprecated)
+ raise
def fill_helmert_transformation(proj_db_cursor):
- proj_db_cursor.execute("SELECT coord_op_code, coord_op_name, coord_op_method_code, coord_op_method_name, source_crs_code, target_crs_code, area_of_use_code, coord_op_accuracy, epsg_coordoperation.deprecated FROM epsg.epsg_coordoperation LEFT JOIN epsg.epsg_coordoperationmethod USING (coord_op_method_code) WHERE coord_op_type = 'transformation' AND coord_op_method_code IN (1031, 1032, 1033, 1034, 1035, 1037, 1038, 1039, 1053, 1054, 1055, 1056, 1057, 1058, 1061, 1062, 1063, 1065, 1066, 9603, 9606, 9607, 9636) ")
- for (code, name, method_code, method_name, source_crs_code, target_crs_code, area_of_use_code, coord_op_accuracy, deprecated) in proj_db_cursor.fetchall():
+ proj_db_cursor.execute("SELECT coord_op_code, coord_op_name, coord_op_method_code, coord_op_method_name, source_crs_code, target_crs_code, area_of_use_code, coord_op_accuracy, coord_tfm_version, epsg_coordoperation.deprecated FROM epsg.epsg_coordoperation LEFT JOIN epsg.epsg_coordoperationmethod USING (coord_op_method_code) WHERE coord_op_type = 'transformation' AND coord_op_method_code IN (1031, 1032, 1033, 1034, 1035, 1037, 1038, 1039, 1053, 1054, 1055, 1056, 1057, 1058, 1061, 1062, 1063, 1065, 1066, 9603, 9606, 9607, 9636) ")
+ for (code, name, method_code, method_name, source_crs_code, target_crs_code, area_of_use_code, coord_op_accuracy, coord_tfm_version, deprecated) in proj_db_cursor.fetchall():
expected_order = 1
max_n_params = 15
param_auth_name = [None for i in range(max_n_params)]
@@ -326,16 +334,17 @@ def fill_helmert_transformation(proj_db_cursor):
param_value[13], EPSG_AUTHORITY if param_uom_code[13] else None, param_uom_code[13],
param_value[14], EPSG_AUTHORITY if param_uom_code[14] else None, param_uom_code[14],
px, py, pz, EPSG_AUTHORITY if px else None, pivot_uom_code,
+ coord_tfm_version,
deprecated
)
#proj_db_cursor.execute("INSERT INTO coordinate_operation VALUES (?,?,'helmert_transformation')", (EPSG_AUTHORITY, code))
proj_db_cursor.execute('INSERT INTO helmert_transformation VALUES (' +
- '?,?,?, ?,?, ?,?,?, ?,?, ?,?, ?,?, ?, ?,?,?,?,?, ?,?,?,?,?, ?,?,?, ?,?,?,?,?, ?,?,?,?,?, ?,?,?, ?,?,?, ?,?,?,?,?, ?)', arg)
+ '?,?,?, ?,?, ?,?,?, ?,?, ?,?, ?,?, ?, ?,?,?,?,?, ?,?,?,?,?, ?,?,?, ?,?,?,?,?, ?,?,?,?,?, ?,?,?, ?,?,?, ?,?,?,?,?, ?,?)', arg)
def fill_grid_transformation(proj_db_cursor):
- proj_db_cursor.execute("SELECT coord_op_code, coord_op_name, coord_op_method_code, coord_op_method_name, source_crs_code, target_crs_code, area_of_use_code, coord_op_accuracy, epsg_coordoperation.deprecated FROM epsg.epsg_coordoperation LEFT JOIN epsg.epsg_coordoperationmethod USING (coord_op_method_code) WHERE coord_op_type = 'transformation' AND (coord_op_method_name LIKE 'Geographic3D to%' OR coord_op_method_name LIKE 'Geog3D to%' OR coord_op_method_name LIKE 'Point motion by grid%' OR coord_op_method_name LIKE 'Vertical Offset by Grid Interpolation%' OR coord_op_method_name IN ('NADCON', 'NTv1', 'NTv2', 'VERTCON'))")
- for (code, name, method_code, method_name, source_crs_code, target_crs_code, area_of_use_code, coord_op_accuracy, deprecated) in proj_db_cursor.fetchall():
+ proj_db_cursor.execute("SELECT coord_op_code, coord_op_name, coord_op_method_code, coord_op_method_name, source_crs_code, target_crs_code, area_of_use_code, coord_op_accuracy, coord_tfm_version, epsg_coordoperation.deprecated FROM epsg.epsg_coordoperation LEFT JOIN epsg.epsg_coordoperationmethod USING (coord_op_method_code) WHERE coord_op_type = 'transformation' AND (coord_op_method_name LIKE 'Geographic3D to%' OR coord_op_method_name LIKE 'Geog3D to%' OR coord_op_method_name LIKE 'Point motion by grid%' OR coord_op_method_name LIKE 'Vertical Offset by Grid Interpolation%' OR coord_op_method_name IN ('NADCON', 'NTv1', 'NTv2', 'VERTCON'))")
+ for (code, name, method_code, method_name, source_crs_code, target_crs_code, area_of_use_code, coord_op_accuracy, coord_tfm_version, deprecated) in proj_db_cursor.fetchall():
expected_order = 1
max_n_params = 2
param_auth_name = [None for i in range(max_n_params)]
@@ -393,12 +402,13 @@ def fill_grid_transformation(proj_db_cursor):
EPSG_AUTHORITY, param_code[0], param_name[0], param_value[0],
grid2_param_auth_name, grid2_param_code, grid2_param_name, grid2_value,
interpolation_crs_auth_name, interpolation_crs_code,
+ coord_tfm_version,
deprecated
)
#proj_db_cursor.execute("INSERT INTO coordinate_operation VALUES (?,?,'grid_transformation')", (EPSG_AUTHORITY, code))
proj_db_cursor.execute('INSERT INTO grid_transformation VALUES (' +
- '?,?,?, ?,?, ?,?,?, ?,?, ?,?, ?,?, ?, ?,?,?,?, ?,?,?,?, ?,?, ?)', arg)
+ '?,?,?, ?,?, ?,?,?, ?,?, ?,?, ?,?, ?, ?,?,?,?, ?,?,?,?, ?,?, ?,?)', arg)
def fill_other_transformation(proj_db_cursor):
# 9601: Longitude rotation
@@ -407,8 +417,8 @@ def fill_other_transformation(proj_db_cursor):
# 9619: Geographic2D offsets
# 9624: Affine Parametric Transformation
# 9660: Geographic3D offsets
- proj_db_cursor.execute("SELECT coord_op_code, coord_op_name, coord_op_method_code, coord_op_method_name, source_crs_code, target_crs_code, area_of_use_code, coord_op_accuracy, epsg_coordoperation.deprecated FROM epsg.epsg_coordoperation LEFT JOIN epsg.epsg_coordoperationmethod USING (coord_op_method_code) WHERE coord_op_type = 'transformation' AND coord_op_method_code IN (9601, 9616, 9618, 9619, 9624, 9660)")
- for (code, name, method_code, method_name, source_crs_code, target_crs_code, area_of_use_code, coord_op_accuracy, deprecated) in proj_db_cursor.fetchall():
+ proj_db_cursor.execute("SELECT coord_op_code, coord_op_name, coord_op_method_code, coord_op_method_name, source_crs_code, target_crs_code, area_of_use_code, coord_op_accuracy, coord_tfm_version, epsg_coordoperation.deprecated FROM epsg.epsg_coordoperation LEFT JOIN epsg.epsg_coordoperationmethod USING (coord_op_method_code) WHERE coord_op_type = 'transformation' AND coord_op_method_code IN (9601, 9616, 9618, 9619, 9624, 9660)")
+ for (code, name, method_code, method_name, source_crs_code, target_crs_code, area_of_use_code, coord_op_accuracy, coord_tfm_version, deprecated) in proj_db_cursor.fetchall():
expected_order = 1
max_n_params = 7
param_auth_name = [None for i in range(max_n_params)]
@@ -451,16 +461,17 @@ def fill_other_transformation(proj_db_cursor):
param_uom_auth_name[5], param_uom_code[5], param_auth_name[6],
param_code[6], param_name[6], param_value[6],
param_uom_auth_name[6], param_uom_code[6],
+ coord_tfm_version,
deprecated)
#proj_db_cursor.execute("INSERT INTO coordinate_operation VALUES (?,?,'other_transformation')", (EPSG_AUTHORITY, code))
proj_db_cursor.execute('INSERT INTO other_transformation VALUES (' +
'?,?,?, ?,?, ?,?,?, ?,?, ?,?, ?,?, ?, ?,?,?,?,?,?, ?,?,?,?,?,?, ?,?,?,?,?,?, ' +
- '?,?,?,?,?,?, ?,?,?,?,?,?, ?,?,?,?,?,?, ?,?,?,?,?,?, ?)', arg)
+ '?,?,?,?,?,?, ?,?,?,?,?,?, ?,?,?,?,?,?, ?,?,?,?,?,?, ?,?)', arg)
def fill_concatenated_operation(proj_db_cursor):
- proj_db_cursor.execute("SELECT coord_op_code, coord_op_name, coord_op_method_code, coord_op_method_name, source_crs_code, target_crs_code, area_of_use_code, coord_op_accuracy, epsg_coordoperation.deprecated FROM epsg.epsg_coordoperation LEFT JOIN epsg.epsg_coordoperationmethod USING (coord_op_method_code) WHERE coord_op_type = 'concatenated operation'")
- for (code, name, method_code, method_name, source_crs_code, target_crs_code, area_of_use_code, coord_op_accuracy, deprecated) in proj_db_cursor.fetchall():
+ proj_db_cursor.execute("SELECT coord_op_code, coord_op_name, coord_op_method_code, coord_op_method_name, source_crs_code, target_crs_code, area_of_use_code, coord_op_accuracy, coord_tfm_version, epsg_coordoperation.deprecated FROM epsg.epsg_coordoperation LEFT JOIN epsg.epsg_coordoperationmethod USING (coord_op_method_code) WHERE coord_op_type = 'concatenated operation'")
+ for (code, name, method_code, method_name, source_crs_code, target_crs_code, area_of_use_code, coord_op_accuracy, coord_tfm_version, deprecated) in proj_db_cursor.fetchall():
expected_order = 1
max_n_params = 3
step_code = [None for i in range(max_n_params)]
@@ -485,6 +496,7 @@ def fill_concatenated_operation(proj_db_cursor):
EPSG_AUTHORITY, step_code[0],
EPSG_AUTHORITY, step_code[1],
EPSG_AUTHORITY if step_code[2] else None, step_code[2],
+ coord_tfm_version,
deprecated
)
@@ -502,7 +514,7 @@ def fill_concatenated_operation(proj_db_cursor):
if step1_exists and step2_exists and step3_exists:
#proj_db_cursor.execute("INSERT INTO coordinate_operation VALUES (?,?,'concatenated_operation')", (EPSG_AUTHORITY, code))
proj_db_cursor.execute('INSERT INTO concatenated_operation VALUES (' +
- '?,?,?, ?,?, ?,?, ?,?, ?,?, ?, ?,?, ?,?, ?,?, ?)', arg)
+ '?,?,?, ?,?, ?,?, ?,?, ?,?, ?, ?,?, ?,?, ?,?, ?,?)', arg)
def fill_alias(proj_db_cursor):
proj_db_cursor.execute("SELECT object_code, alias FROM epsg.epsg_alias WHERE object_table_name = 'epsg_datum'")
@@ -586,8 +598,165 @@ proj_db_cursor = proj_db_conn.cursor()
proj_db_cursor.execute('PRAGMA foreign_keys = 1;')
ingest_sqlite_dump(proj_db_cursor, os.path.join(sql_dir_name, 'proj_db_table_defs.sql'))
+
+# A bit messy, but to avoid churn in our existing .sql files, we temporarily
+# recreate the original conversion and helmert_transformation tables
+# instead of the view in the true database.
+
+proj_db_cursor.execute("""DROP VIEW conversion;""")
+proj_db_cursor.execute("""DROP TABLE conversion_table;""")
+proj_db_cursor.execute("""CREATE TABLE conversion(
+ auth_name TEXT NOT NULL CHECK (length(auth_name) >= 1),
+ code TEXT NOT NULL CHECK (length(code) >= 1),
+ name TEXT NOT NULL CHECK (length(name) >= 2),
+
+ description TEXT,
+ scope TEXT,
+
+ area_of_use_auth_name TEXT NOT NULL,
+ area_of_use_code TEXT NOT NULL,
+
+ method_auth_name TEXT CHECK (method_auth_name IS NULL OR length(method_auth_name) >= 1),
+ method_code TEXT CHECK (method_code IS NULL OR length(method_code) >= 1),
+ method_name TEXT,
+
+ param1_auth_name TEXT,
+ param1_code TEXT,
+ param1_name TEXT,
+ param1_value FLOAT,
+ param1_uom_auth_name TEXT,
+ param1_uom_code TEXT,
+
+ param2_auth_name TEXT,
+ param2_code TEXT,
+ param2_name TEXT,
+ param2_value FLOAT,
+ param2_uom_auth_name TEXT,
+ param2_uom_code TEXT,
+
+ param3_auth_name TEXT,
+ param3_code TEXT,
+ param3_name TEXT,
+ param3_value FLOAT,
+ param3_uom_auth_name TEXT,
+ param3_uom_code TEXT,
+
+ param4_auth_name TEXT,
+ param4_code TEXT,
+ param4_name TEXT,
+ param4_value FLOAT,
+ param4_uom_auth_name TEXT,
+ param4_uom_code TEXT,
+
+ param5_auth_name TEXT,
+ param5_code TEXT,
+ param5_name TEXT,
+ param5_value FLOAT,
+ param5_uom_auth_name TEXT,
+ param5_uom_code TEXT,
+
+ param6_auth_name TEXT,
+ param6_code TEXT,
+ param6_name TEXT,
+ param6_value FLOAT,
+ param6_uom_auth_name TEXT,
+ param6_uom_code TEXT,
+
+ param7_auth_name TEXT,
+ param7_code TEXT,
+ param7_name TEXT,
+ param7_value FLOAT,
+ param7_uom_auth_name TEXT,
+ param7_uom_code TEXT,
+
+ deprecated BOOLEAN NOT NULL CHECK (deprecated IN (0, 1)),
+
+ CONSTRAINT pk_conversion PRIMARY KEY (auth_name, code)
+);""")
+
+proj_db_cursor.execute("""DROP VIEW helmert_transformation;""")
+proj_db_cursor.execute("""DROP TABLE helmert_transformation_table;""")
+proj_db_cursor.execute("""CREATE TABLE helmert_transformation(
+ auth_name TEXT NOT NULL CHECK (length(auth_name) >= 1),
+ code TEXT NOT NULL CHECK (length(code) >= 1),
+ name TEXT NOT NULL CHECK (length(name) >= 2),
+
+ description TEXT,
+ scope TEXT,
+
+ method_auth_name TEXT NOT NULL CHECK (length(method_auth_name) >= 1),
+ method_code TEXT NOT NULL CHECK (length(method_code) >= 1),
+ method_name NOT NULL CHECK (length(method_name) >= 2),
+
+ source_crs_auth_name TEXT NOT NULL,
+ source_crs_code TEXT NOT NULL,
+ target_crs_auth_name TEXT NOT NULL,
+ target_crs_code TEXT NOT NULL,
+
+ area_of_use_auth_name TEXT NOT NULL,
+ area_of_use_code TEXT NOT NULL,
+
+ accuracy FLOAT CHECK (accuracy >= 0),
+
+ tx FLOAT NOT NULL,
+ ty FLOAT NOT NULL,
+ tz FLOAT NOT NULL,
+ translation_uom_auth_name TEXT NOT NULL,
+ translation_uom_code TEXT NOT NULL,
+ rx FLOAT,
+ ry FLOAT,
+ rz FLOAT,
+ rotation_uom_auth_name TEXT,
+ rotation_uom_code TEXT,
+ scale_difference FLOAT,
+ scale_difference_uom_auth_name TEXT,
+ scale_difference_uom_code TEXT,
+ rate_tx FLOAT,
+ rate_ty FLOAT,
+ rate_tz FLOAT,
+ rate_translation_uom_auth_name TEXT,
+ rate_translation_uom_code TEXT,
+ rate_rx FLOAT,
+ rate_ry FLOAT,
+ rate_rz FLOAT,
+ rate_rotation_uom_auth_name TEXT,
+ rate_rotation_uom_code TEXT,
+ rate_scale_difference FLOAT,
+ rate_scale_difference_uom_auth_name TEXT,
+ rate_scale_difference_uom_code TEXT,
+ epoch FLOAT,
+ epoch_uom_auth_name TEXT,
+ epoch_uom_code TEXT,
+ px FLOAT, -- Pivot / evaluation point for Molodensky-Badekas
+ py FLOAT,
+ pz FLOAT,
+ pivot_uom_auth_name TEXT,
+ pivot_uom_code TEXT,
+
+ operation_version TEXT, -- normally mandatory in OGC Topic 2 but optional here
+
+ deprecated BOOLEAN NOT NULL CHECK (deprecated IN (0, 1)),
+
+ CONSTRAINT pk_helmert_transformation PRIMARY KEY (auth_name, code)
+);""")
+
+proj_db_cursor.execute("SELECT name, sql FROM sqlite_master WHERE type = 'table' AND name = 'projected_crs'")
+for (name, sql) in proj_db_cursor.fetchall():
+ proj_db_cursor.execute("DROP TABLE " + name)
+ proj_db_cursor.execute(sql.replace('conversion_table', 'conversion'))
+
+proj_db_cursor.execute("SELECT name, sql FROM sqlite_master WHERE type = 'view'")
+for (name, sql) in proj_db_cursor.fetchall():
+ if 'conversion_table' in sql:
+ proj_db_cursor.execute("DROP VIEW " + name)
+ proj_db_cursor.execute(sql.replace('conversion_table', 'conversion'))
+ elif 'helmert_transformation_table' in sql:
+ proj_db_cursor.execute("DROP VIEW " + name)
+ proj_db_cursor.execute(sql.replace('helmert_transformation_table', 'helmert_transformation'))
+
proj_db_cursor.execute("ATTACH DATABASE '%s' AS epsg;" % epsg_tmp_db_filename)
+
fill_unit_of_measure(proj_db_cursor)
fill_ellipsoid(proj_db_cursor)
fill_area(proj_db_cursor)
@@ -635,7 +804,7 @@ for line in proj_db_conn.iterdump():
f = open(os.path.join(sql_dir_name, table_name) + '.sql', 'wb')
f.write("--- This file has been generated by scripts/build_db.py. DO NOT EDIT !\n\n".encode('UTF-8'))
files[table_name] = f
- f.write((line + '\n').encode('UTF-8'))
+ f.write((line + '\n').replace('BEFORE INSERT ON conversion', 'INSTEAD OF INSERT ON conversion').encode('UTF-8'))
#f = files['coordinate_operation']
#for row in non_imported_operations:
# f.write(("--- Non imported: " + str(row) + '\n').encode('UTF-8'))
diff --git a/scripts/build_db_create_ignf_from_xml.py b/scripts/build_db_create_ignf_from_xml.py
index b70952bd..b797477f 100755
--- a/scripts/build_db_create_ignf_from_xml.py
+++ b/scripts/build_db_create_ignf_from_xml.py
@@ -485,6 +485,9 @@ for node in root.iterfind('.//Transformation'):
print('Skipping ' + name + ', missing targetCRS')
continue
+ operation_version = node.find('operationVersion').text
+ scope = node.find('scope').text
+
area_of_use = get_area_of_use(node.find('domainOfValidity'))
usesMethod = extract_id_from_href(node.find('usesMethod').attrib['href'])
@@ -501,9 +504,10 @@ for node in root.iterfind('.//Transformation'):
print('Fixing URL of ' + filename + ' to ' + mapGridURLs[filename])
filename = mapGridURLs[filename]
- r = requests.head(filename, allow_redirects = True )
- if r.status_code not in (200, 302):
- assert False, (r.status_code, id, name, filename)
+ if not filename.endswith('RAF09.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)
setVerticalGrids.add(filename)
@@ -515,7 +519,7 @@ for node in root.iterfind('.//Transformation'):
name_components = name.split(' vers ')
name_inverted = name_components[1] + ' vers ' + name_components[0]
- sql = """INSERT INTO "grid_transformation" VALUES('IGNF','%s','%s',NULL,NULL,'EPSG','9664','Geographic3D to GravityRelatedHeight (IGN1997)','%s','%s','%s','%s','%s','%s',NULL,'EPSG','8666','Geoid (height correction) model file','%s',NULL,NULL,NULL,NULL,NULL,NULL,0);""" % (id, name_inverted, mapCrsId[targetCRS][0], mapCrsId[targetCRS][1], mapCrsId[sourceCRS][0], mapCrsId[sourceCRS][1], area_of_use[0], area_of_use[1], filename)
+ sql = """INSERT INTO "grid_transformation" VALUES('IGNF','%s','%s',NULL,'%s','EPSG','9664','Geographic3D to GravityRelatedHeight (IGN1997)','%s','%s','%s','%s','%s','%s',NULL,'EPSG','8666','Geoid (height correction) model file','%s',NULL,NULL,NULL,NULL,NULL,NULL,'%s',0);""" % (id, name_inverted, scope, mapCrsId[targetCRS][0], mapCrsId[targetCRS][1], mapCrsId[sourceCRS][0], mapCrsId[sourceCRS][1], area_of_use[0], area_of_use[1], filename, operation_version)
all_sql.append(sql)
continue
@@ -542,7 +546,7 @@ for node in root.iterfind('.//Transformation'):
#sql = """INSERT INTO "coordinate_operation" VALUES('IGNF','%s','other_transformation');""" % custom_id
#all_sql.append(sql)
- sql = """INSERT INTO "other_transformation" VALUES('IGNF','%s','%s',NULL,NULL,'EPSG','9601','Longitude rotation','%s','%s','%s','%s','%s','%s',0.0,'EPSG','8602','Longitude offset',2.5969213,'EPSG','9105',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);"""% (custom_id, name, src[0], src[1], target[0], target[1], area_of_use[0], area_of_use[1])
+ sql = """INSERT INTO "other_transformation" VALUES('IGNF','%s','%s',NULL,'%s','EPSG','9601','Longitude rotation','%s','%s','%s','%s','%s','%s',0.0,'EPSG','8602','Longitude offset',2.5969213,'EPSG','9105',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'%s',0);"""% (custom_id, name, scope, src[0], src[1], target[0], target[1], area_of_use[0], area_of_use[1], operation_version)
all_sql.append(sql)
continue
@@ -570,7 +574,7 @@ for node in root.iterfind('.//Transformation'):
#sql = """INSERT INTO "coordinate_operation" VALUES('IGNF','%s','grid_transformation');""" % (custom_id)
#all_sql.append(sql)
- sql = """INSERT INTO "grid_transformation" VALUES('IGNF','%s','%s',NULL,NULL,'EPSG','9615','NTv2','%s','%s','%s','%s','%s','%s',NULL,'EPSG','8656','Latitude and longitude difference file','ntf_r93.gsb',NULL,NULL,NULL,NULL,NULL,NULL,0);""" % (custom_id, name, src[0], src[1], target[0], target[1], area_of_use[0], area_of_use[1])
+ sql = """INSERT INTO "grid_transformation" VALUES('IGNF','%s','%s',NULL,'%s','EPSG','9615','NTv2','%s','%s','%s','%s','%s','%s',NULL,'EPSG','8656','Latitude and longitude difference file','ntf_r93.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'%s',0);""" % (custom_id, name, scope, src[0], src[1], target[0], target[1], area_of_use[0], area_of_use[1], operation_version)
all_sql.append(sql)
continue
@@ -586,7 +590,7 @@ for node in root.iterfind('.//Transformation'):
uom = paramValue.find('value').attrib['uom']
assert uom == 'm'
- sql = """INSERT INTO "other_transformation" VALUES('IGNF','%s','%s',NULL,NULL,'EPSG','9616','Vertical Offset','%s','%s','%s','%s','%s','%s',NULL,'EPSG','8603','Vertical Offset',%s,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);"""% (id, name, mapCrsId[sourceCRS][0], mapCrsId[sourceCRS][1], mapCrsId[targetCRS][0], mapCrsId[targetCRS][1], area_of_use[0], area_of_use[1], value)
+ sql = """INSERT INTO "other_transformation" VALUES('IGNF','%s','%s',NULL,'%s','EPSG','9616','Vertical Offset','%s','%s','%s','%s','%s','%s',NULL,'EPSG','8603','Vertical Offset',%s,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'%s',0);"""% (id, name, scope, mapCrsId[sourceCRS][0], mapCrsId[sourceCRS][1], mapCrsId[targetCRS][0], mapCrsId[targetCRS][1], area_of_use[0], area_of_use[1], value, operation_version)
all_sql.append(sql)
continue
@@ -655,7 +659,7 @@ for node in root.iterfind('.//Transformation'):
#sql = """INSERT INTO "coordinate_operation" VALUES('IGNF','%s','helmert_transformation');""" % (custom_id)
#all_sql.append(sql)
- sql = """INSERT INTO "helmert_transformation" VALUES('IGNF','%s','%s',NULL,NULL,'EPSG',%s,%s,'%s','%s','%s','%s','%s','%s',NULL,%s,%s,%s,'EPSG','9001',%s,%s,%s,%s,%s,%s,%s, %s,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);""" % (custom_id, name, method_code, method_name, src[0], src[1], target[0], target[1], area_of_use[0], area_of_use[1], x, y, z, rx, ry, rz, r_uom_auth_name, r_uom_code, s, s_uom_auth_name, s_uom_code)
+ sql = """INSERT INTO "helmert_transformation" VALUES('IGNF','%s','%s',NULL,'%s','EPSG',%s,%s,'%s','%s','%s','%s','%s','%s',NULL,%s,%s,%s,'EPSG','9001',%s,%s,%s,%s,%s,%s,%s, %s,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'%s',0);""" % (custom_id, name, scope, method_code, method_name, src[0], src[1], target[0], target[1], area_of_use[0], area_of_use[1], x, y, z, rx, ry, rz, r_uom_auth_name, r_uom_code, s, s_uom_auth_name, s_uom_code, operation_version)
all_sql.append(sql)
@@ -677,7 +681,7 @@ for node in root.iterfind('.//Transformation'):
#sql = """INSERT INTO "coordinate_operation" VALUES('IGNF','%s','helmert_transformation');""" % (id_geog)
#all_sql.append(sql)
- sql = """INSERT INTO "helmert_transformation" VALUES('IGNF','%s','%s',NULL,NULL,'EPSG',%s,%s,'%s','%s','%s','%s','%s','%s',NULL,%s,%s,%s,'EPSG','9001',%s,%s,%s,%s,%s,%s,%s, %s,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);""" % (id_geog, name, method_geog_code, method_geog_name, src[0], src[1], target[0], target[1], area_of_use[0], area_of_use[1], x, y, z, rx, ry, rz, r_uom_auth_name, r_uom_code, s, s_uom_auth_name, s_uom_code)
+ sql = """INSERT INTO "helmert_transformation" VALUES('IGNF','%s','%s',NULL,'%s','EPSG',%s,%s,'%s','%s','%s','%s','%s','%s',NULL,%s,%s,%s,'EPSG','9001',%s,%s,%s,%s,%s,%s,%s, %s,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'%s',0);""" % (id_geog, name, scope, method_geog_code, method_geog_name, src[0], src[1], target[0], target[1], area_of_use[0], area_of_use[1], x, y, z, rx, ry, rz, r_uom_auth_name, r_uom_code, s, s_uom_auth_name, s_uom_code, operation_version)
all_sql.append(sql)
if src[1] == 'NTFG':
@@ -689,7 +693,7 @@ for node in root.iterfind('.//Transformation'):
#sql = """INSERT INTO "coordinate_operation" VALUES('IGNF','%s','concatenated_operation');""" % (id_concat)
#all_sql_concat.append(sql)
- sql = """INSERT INTO "concatenated_operation" VALUES('IGNF','%s','Nouvelle Triangulation Francaise Paris grades to %s',NULL,NULL,'IGNF','%s','%s','%s','%s','%s',NULL,'IGNF','%s','IGNF','%s',NULL,NULL,0);""" % (id_concat, target[1], NTFPalias, target[0], target[1], area_of_use[0], area_of_use[1], idFirstOp, id_geog)
+ sql = """INSERT INTO "concatenated_operation" VALUES('IGNF','%s','Nouvelle Triangulation Francaise Paris grades to %s',NULL,'%s','IGNF','%s','%s','%s','%s','%s',NULL,'IGNF','%s','IGNF','%s',NULL,NULL,'%s',0);""" % (id_concat, target[1], scope, NTFPalias, target[0], target[1], area_of_use[0], area_of_use[1], idFirstOp, id_geog, operation_version)
all_sql_concat.append(sql)
@@ -919,7 +923,7 @@ for node in root.iterfind('.//Conversion'):
#sql = """INSERT INTO "coordinate_operation" VALUES('IGNF','%s','conversion');""" % (id)
#all_sql.append(sql)
- sql = """INSERT INTO "conversion" VALUES('IGNF','%s','%s',NULL,NULL,'EPSG','1262',NULL,NULL,'Gauss Schreiber Transverse Mercator','EPSG','8801','Latitude of natural origin',%s,'EPSG','9102','EPSG','8802','Longitude of natural origin',%s,'EPSG','9102','EPSG','8805','Scale factor at natural origin',%s,'EPSG','9201','EPSG','8806','False easting',%s,'EPSG','9001','EPSG','8807','False northing',%s,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);""" % (id, name, d['lat_0'], d['lon_0'], d['k_0'], d['x_0'], d['y_0'])
+ sql = """INSERT INTO "conversion" VALUES('IGNF','%s','%s',NULL,NULL,'EPSG','1262','PROJ','gstm','Gauss Schreiber Transverse Mercator','EPSG','8801','Latitude of natural origin',%s,'EPSG','9102','EPSG','8802','Longitude of natural origin',%s,'EPSG','9102','EPSG','8805','Scale factor at natural origin',%s,'EPSG','9201','EPSG','8806','False easting',%s,'EPSG','9001','EPSG','8807','False northing',%s,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);""" % (id, name, d['lat_0'], d['lon_0'], d['k_0'], d['x_0'], d['y_0'])
all_sql.append(sql)
mapConversionId[id] = ('IGNF', id)
@@ -959,7 +963,7 @@ for node in root.iterfind('.//Conversion'):
#sql = """INSERT INTO "coordinate_operation" VALUES('IGNF','%s','conversion');""" % (id)
#all_sql.append(sql)
- sql = """INSERT INTO "conversion" VALUES('IGNF','%s','%s',NULL,NULL,'EPSG','1262',NULL,NULL,'PROJ mill',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);""" % (id,name)
+ sql = """INSERT INTO "conversion" VALUES('IGNF','%s','%s',NULL,NULL,'EPSG','1262','PROJ','mill','PROJ mill',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);""" % (id,name)
all_sql.append(sql)
mapConversionId[id] = ('IGNF', id)
@@ -1099,11 +1103,11 @@ area_of_use_name = 'ANTILLES FRANCAISES'
assert area_of_use_name in areaOfUseMap
area_of_use = areaOfUseMap[area_of_use_name]
-all_sql.append("""INSERT INTO "helmert_transformation" VALUES('PROJ','IGNF_RRAF_TO_EPSG_4978','RRAF to WGS 84',NULL,NULL,'EPSG','1031','Geocentric translations (geocentric domain)','IGNF','RRAF','EPSG','4978','%s','%s',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);""" % (area_of_use[0], area_of_use[1]))
+all_sql.append("""INSERT INTO "helmert_transformation" VALUES('PROJ','IGNF_RRAF_TO_EPSG_4978','RRAF to WGS 84',NULL,NULL,'EPSG','1031','Geocentric translations (geocentric domain)','IGNF','RRAF','EPSG','4978','%s','%s',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);""" % (area_of_use[0], area_of_use[1]))
-all_sql.append("""INSERT INTO "helmert_transformation" VALUES('PROJ','IGNF_RRAFG_TO_EPSG_4326','RRAFG to WGS 84',NULL,NULL,'EPSG','9603','Geocentric translations (geog2D domain)','IGNF','RRAFG','EPSG','4326','%s','%s',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);""" % (area_of_use[0], area_of_use[1]))
+all_sql.append("""INSERT INTO "helmert_transformation" VALUES('PROJ','IGNF_RRAFG_TO_EPSG_4326','RRAFG to WGS 84',NULL,NULL,'EPSG','9603','Geocentric translations (geog2D domain)','IGNF','RRAFG','EPSG','4326','%s','%s',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);""" % (area_of_use[0], area_of_use[1]))
-all_sql.append("""INSERT INTO "helmert_transformation" VALUES('PROJ','IGNF_RRAFGDD_TO_EPSG_4326','RRAFGDD to WGS 84',NULL,NULL,'EPSG','9603','Geocentric translations (geog2D domain)','IGNF','RRAFGDD','EPSG','4326','%s','%s',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);""" % (area_of_use[0], area_of_use[1]))
+all_sql.append("""INSERT INTO "helmert_transformation" VALUES('PROJ','IGNF_RRAFGDD_TO_EPSG_4326','RRAFGDD to WGS 84',NULL,NULL,'EPSG','9603','Geocentric translations (geog2D domain)','IGNF','RRAFGDD','EPSG','4326','%s','%s',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);""" % (area_of_use[0], area_of_use[1]))
all_sql.append('')
all_sql.append("""--- Null transformations between RGF93 and WGS84 adapted from EPSG""")
@@ -1113,11 +1117,11 @@ area_of_use_name = 'FRANCE METROPOLITAINE (CORSE COMPRISE)'
assert area_of_use_name in areaOfUseMap
area_of_use = areaOfUseMap[area_of_use_name]
-all_sql.append("""INSERT INTO "helmert_transformation" VALUES('PROJ','IGNF_RGF93_TO_EPSG_4978','RGF93 to WGS 84',NULL,NULL,'EPSG','1031','Geocentric translations (geocentric domain)','IGNF','RGF93','EPSG','4978','%s','%s',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);""" % (area_of_use[0], area_of_use[1]))
+all_sql.append("""INSERT INTO "helmert_transformation" VALUES('PROJ','IGNF_RGF93_TO_EPSG_4978','RGF93 to WGS 84',NULL,NULL,'EPSG','1031','Geocentric translations (geocentric domain)','IGNF','RGF93','EPSG','4978','%s','%s',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);""" % (area_of_use[0], area_of_use[1]))
-all_sql.append("""INSERT INTO "helmert_transformation" VALUES('PROJ','IGNF_RGF93G_TO_EPSG_4326','RGF93G to WGS 84',NULL,NULL,'EPSG','9603','Geocentric translations (geog2D domain)','IGNF','RGF93G','EPSG','4326','%s','%s',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);""" % (area_of_use[0], area_of_use[1]))
+all_sql.append("""INSERT INTO "helmert_transformation" VALUES('PROJ','IGNF_RGF93G_TO_EPSG_4326','RGF93G to WGS 84',NULL,NULL,'EPSG','9603','Geocentric translations (geog2D domain)','IGNF','RGF93G','EPSG','4326','%s','%s',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);""" % (area_of_use[0], area_of_use[1]))
-all_sql.append("""INSERT INTO "helmert_transformation" VALUES('PROJ','IGNF_RGF93GDD_TO_EPSG_4326','RGF93GDD to WGS 84',NULL,NULL,'EPSG','9603','Geocentric translations (geog2D domain)','IGNF','RGF93GDD','EPSG','4326','%s','%s',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);""" % (area_of_use[0], area_of_use[1]))
+all_sql.append("""INSERT INTO "helmert_transformation" VALUES('PROJ','IGNF_RGF93GDD_TO_EPSG_4326','RGF93GDD to WGS 84',NULL,NULL,'EPSG','9603','Geocentric translations (geog2D domain)','IGNF','RGF93GDD','EPSG','4326','%s','%s',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);""" % (area_of_use[0], area_of_use[1]))
script_dir_name = os.path.dirname(os.path.realpath(__file__))
sql_dir_name = os.path.join(os.path.dirname(script_dir_name), 'data', 'sql')
diff --git a/scripts/build_db_from_esri.py b/scripts/build_db_from_esri.py
index 4f89f59f..69940798 100755
--- a/scripts/build_db_from_esri.py
+++ b/scripts/build_db_from_esri.py
@@ -51,10 +51,10 @@ cursor = conn.cursor()
all_sql = []
# TODO: update this !
-version = 'ArcMap 10.6.1 / ArcGISPro 2.2'
+version = 'ArcMap 10.7.0'
all_sql.append(
"""INSERT INTO "metadata" VALUES('ESRI.VERSION', '%s');""" % (version))
-date = '2018-09-19'
+date = '2019-03-25'
all_sql.append(
"""INSERT INTO "metadata" VALUES('ESRI.DATE', '%s');""" % (date))
@@ -246,8 +246,9 @@ def import_spheroid():
description = row[idx_description]
deprecated = 1 if row[idx_deprecated] == 'yes' else 0
- map_spheroid_esri_name_to_auth_code[esri_name] = [
- 'ESRI', latestWkid]
+ if esri_name not in map_spheroid_esri_name_to_auth_code:
+ map_spheroid_esri_name_to_auth_code[esri_name] = [
+ 'ESRI', code]
if abs(float(a) - 6375000) > 0.01 * 6375000:
pos = esri_name.find('_19')
@@ -267,7 +268,7 @@ def import_spheroid():
body_code = 'EARTH'
sql = """INSERT INTO ellipsoid VALUES('ESRI','%s','%s','%s','%s','%s',%s,'EPSG','9001',%s,NULL,%d);""" % (
- latestWkid, esri_name, description, body_auth, body_code, a, rf, deprecated)
+ code, esri_name, description, body_auth, body_code, a, rf, deprecated)
all_sql.append(sql)
########################
@@ -341,10 +342,11 @@ def import_prime_meridian():
deprecated = 1 if row[idx_deprecated] == 'yes' else 0
- map_pm_esri_name_to_auth_code[esri_name] = ['ESRI', latestWkid]
+ if esri_name not in map_pm_esri_name_to_auth_code:
+ map_pm_esri_name_to_auth_code[esri_name] = ['ESRI', code]
sql = """INSERT INTO "prime_meridian" VALUES('ESRI','%s','%s',%s,'EPSG','9110',%d);""" % (
- latestWkid, esri_name, value, deprecated)
+ code, esri_name, value, deprecated)
all_sql.append(sql)
@@ -411,7 +413,7 @@ def import_datum():
assert authority.upper() == 'ESRI', row
map_datum_esri_name_to_auth_code[esri_name] = [
- 'ESRI', latestWkid]
+ 'ESRI', code]
wkt = row[idx_wkt]
pos = wkt.find('SPHEROID["')
@@ -429,7 +431,7 @@ def import_datum():
description = row[idx_description]
deprecated = 1 if row[idx_deprecated] == 'yes' else 0
- map_datum_esri_to_parameters[latestWkid] = {
+ map_datum_esri_to_parameters[code] = {
'esri_name': esri_name,
'description': description,
'ellps_auth_name': ellps_auth_name,
@@ -568,6 +570,7 @@ def import_geogcs():
assert map_datum_esri_to_parameters[datum_code]['pm_auth_name'] == pm_auth_name, (
row, map_datum_esri_to_parameters[datum_code]['pm_auth_name'], pm_auth_name)
if map_datum_esri_to_parameters[datum_code]['pm_code'] != pm_code:
+ p = map_datum_esri_to_parameters[datum_code]
# Case of GCS_Voirol_Unifie_1960 and GCS_Voirol_Unifie_1960_Paris which use the same
# datum D_Voirol_Unifie_1960 but with different prime meridian
@@ -585,7 +588,6 @@ def import_geogcs():
'ellps_code': p['ellps_code'],
'deprecated': p['deprecated']
}
- p = map_datum_esri_to_parameters[datum_code]
sql = """INSERT INTO "geodetic_datum" VALUES('ESRI','%s','%s',NULL,'%s','%s','%s','%s','%s','%s','%s',%d);""" % (
datum_code, p['esri_name'], p['description'], p['ellps_auth_name'], p['ellps_code'], pm_auth_name, pm_code, area_auth_name, area_code, p['deprecated'])
@@ -603,11 +605,11 @@ def import_geogcs():
code, esri_name, cs_code, datum_auth_name, datum_code, area_auth_name, area_code, deprecated)
all_sql.append(sql)
- if deprecated and code != latestWkid:
+ if deprecated and code != latestWkid and code not in ('4305', '4812'): # Voirol 1960 no longer in EPSG
cursor.execute(
"SELECT name FROM geodetic_crs WHERE auth_name = 'EPSG' AND code = ?", (latestWkid,))
src_row = cursor.fetchone()
- assert src_row
+ assert src_row, (code, latestWkid)
sql = """INSERT INTO "supersession" VALUES('geodetic_crs','ESRI','%s','geodetic_crs','EPSG','%s','ESRI');""" % (
code, latestWkid)
@@ -615,9 +617,122 @@ def import_geogcs():
########################
+def parse_wkt(s, level):
+ if s[0] == '"':
+ return s
+ pos = s.find('[')
+ if pos < 0:
+ return s
+ return { s[0:pos] : parse_wkt_array(s[pos+1:-1], level + 1) }
+
+def parse_wkt_array(s, level = 0):
+ ar = []
+ in_string = False
+ cur_token = ''
+ indent_level = 0
+ for c in s:
+ if in_string:
+ if c == '"':
+ in_string = False
+ cur_token += c
+ elif c == '"':
+ cur_token += c
+ in_string = True
+ elif c == '[':
+ cur_token += c
+ indent_level += 1
+ elif c == ']':
+ cur_token += c
+ indent_level -= 1
+ assert indent_level >= 0
+ elif indent_level == 0 and c == ',':
+ ar.append(parse_wkt(cur_token, level + 1))
+ cur_token = ''
+ else:
+ cur_token += c
+ assert indent_level == 0
+ if cur_token:
+ ar.append(parse_wkt(cur_token, level + 1))
+
+ if level == 0:
+ d = {}
+ for elt in ar:
+ assert type(elt) == type({})
+ assert len(elt) == 1
+ if 'PROJECTION' in elt:
+ assert len(elt['PROJECTION']) == 1, elt['PROJECTION']
+ assert 'PROJECTION' not in d
+ name = elt['PROJECTION'][0]
+ assert name[0] == '"' and name[-1] == '"', name
+ name = name[1:-1]
+ d['PROJECTION'] = name
+ elif 'PARAMETER' in elt:
+ assert len(elt['PARAMETER']) == 2, elt['PARAMETER']
+ name = elt['PARAMETER'][0]
+ assert name[0] == '"' and name[-1] == '"', name
+ name = name[1:-1]
+ assert name not in d
+ d[name] = elt['PARAMETER'][1]
+ elif 'UNIT' in elt:
+ assert len(elt['UNIT']) == 2, elt['UNIT']
+ name = elt['UNIT'][0]
+ assert name[0] == '"' and name[-1] == '"', name
+ name = name[1:-1]
+ assert 'UNIT_NAME' not in d
+ d['UNIT_NAME'] = name
+ d['UNIT_VALUE'] = elt['UNIT'][1]
+ else:
+ assert True
+ return d
+ else:
+ return ar
-map_projcs_esri_name_to_auth_code = {}
+########################
+
+def get_cs(parsed_conv_wkt):
+
+ UNIT_NAME = parsed_conv_wkt['UNIT_NAME']
+ UNIT_VALUE = parsed_conv_wkt['UNIT_VALUE']
+
+ if UNIT_NAME == 'Meter':
+ uom_code = '9001'
+ cs_auth_name = 'EPSG'
+ cs_code = '4400'
+ assert UNIT_VALUE == '1.0', UNIT_VALUE
+ elif UNIT_NAME == 'Foot':
+ uom_code = '9002'
+ cs_auth_name = 'ESRI'
+ cs_code = UNIT_NAME
+ assert UNIT_VALUE == '0.3048', UNIT_VALUE
+ elif UNIT_NAME == 'Foot_US':
+ uom_code = '9003'
+ cs_auth_name = 'ESRI'
+ cs_code = UNIT_NAME
+ assert UNIT_VALUE == '0.3048006096012192', UNIT_VALUE
+ elif UNIT_NAME == 'Yard_Indian_1937':
+ uom_code = '9085'
+ cs_auth_name = 'ESRI'
+ cs_code = UNIT_NAME
+ assert UNIT_VALUE == '0.91439523', UNIT_VALUE
+ else:
+ assert False, UNIT_NAME
+
+ if cs_auth_name == 'ESRI' and cs_code not in set_esri_cs_code:
+ sql = """INSERT INTO "coordinate_system" VALUES('ESRI','%s','Cartesian',2);""" % cs_code
+ all_sql.append(sql)
+ sql = """INSERT INTO "axis" VALUES('ESRI','%d','Easting','E','east','ESRI','%s',1,'EPSG','%s');""" % (2 * len(set_esri_cs_code) + 1, cs_code, uom_code)
+ all_sql.append(sql)
+ sql = """INSERT INTO "axis" VALUES('ESRI','%d','Northing','N','north','ESRI','%s',2,'EPSG','%s');""" % (2 * len(set_esri_cs_code) + 2, cs_code, uom_code)
+ all_sql.append(sql)
+ set_esri_cs_code.add(cs_code)
+
+ return cs_auth_name, cs_code, uom_code
+
+########################
+map_projcs_esri_name_to_auth_code = {}
+set_esri_cs_code = set()
+map_conversion_sql_to_code = {}
def import_projcs():
with open(os.path.join(path_to_csv, 'pe_list_projcs.csv'), 'rt') as csvfile:
@@ -705,6 +820,10 @@ def import_projcs():
end_pos += pos
geogcs_name = wkt[pos:end_pos]
+ pos = wkt.find('PROJECTION[')
+ assert pos >= 0
+ parsed_conv_wkt = parse_wkt_array(wkt[pos:-1])
+
assert geogcs_name in map_geogcs_esri_name_to_auth_code, (
geogcs_name, row)
geogcs_auth_name, geogcs_code = map_geogcs_esri_name_to_auth_code[geogcs_name]
@@ -716,9 +835,152 @@ def import_projcs():
deprecated = 1 if row[idx_deprecated] == 'yes' else 0
- sql = """INSERT INTO "projected_crs" VALUES('ESRI','%s','%s',NULL,NULL,NULL,NULL,'%s','%s',NULL,NULL,'%s','%s','%s',%d);""" % (
- code, esri_name, geogcs_auth_name, geogcs_code, area_auth_name, area_code, escape_literal(wkt), deprecated)
- all_sql.append(sql)
+ method = parsed_conv_wkt['PROJECTION']
+
+ if 'UNIT["Degree",' in wkt:
+ ang_uom_code = '9102'
+ elif 'UNIT["Grad",' in wkt:
+ ang_uom_code = '9105'
+ else:
+ assert False, wkt
+
+ if method in ('Transverse_Mercator', 'Gauss_Kruger'):
+ assert len(parsed_conv_wkt) == 1 + 5 + 2
+ False_Easting = parsed_conv_wkt['False_Easting']
+ False_Northing = parsed_conv_wkt['False_Northing']
+ Central_Meridian = parsed_conv_wkt['Central_Meridian']
+ Scale_Factor = parsed_conv_wkt['Scale_Factor']
+ Latitude_Of_Origin = parsed_conv_wkt['Latitude_Of_Origin']
+
+ cs_auth_name, cs_code, uom_code = get_cs(parsed_conv_wkt)
+
+ conv_name = 'unnamed'
+ if method == 'Gauss_Kruger' and 'GK_' not in esri_name and 'Gauss' not in esri_name:
+ conv_name = esri_name + " (Gauss Kruger)"
+
+ cursor.execute(
+ """SELECT code FROM conversion WHERE auth_name = 'EPSG' AND
+ method_code = '9807' AND
+ param1_code = '8801' AND param1_value = ? AND param1_uom_code = ? AND
+ param2_code = '8802' AND param2_value = ? AND param2_uom_code = ? AND
+ param3_code = '8805' AND param3_value = ? AND param3_uom_code = '9201' AND
+ param4_code = '8806' AND param4_value = ? AND param4_uom_code = ? AND
+ param5_code = '8807' AND param5_value = ? AND param5_uom_code = ?""", (Latitude_Of_Origin, ang_uom_code, Central_Meridian, ang_uom_code, Scale_Factor, False_Easting, uom_code, False_Northing, uom_code))
+ src_row = cursor.fetchone()
+ if conv_name == 'unnamed' and src_row:
+ conv_auth_name = 'EPSG'
+ conv_code = src_row[0]
+ else:
+ conv_auth_name = 'ESRI'
+ conv_code = code
+
+ sql = """INSERT INTO "conversion" VALUES('ESRI','%s','%s',NULL,NULL,'%s','%s','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',%s,'EPSG','%s','EPSG','8802','Longitude of natural origin',%s,'EPSG','%s','EPSG','8805','Scale factor at natural origin',%s,'EPSG','9201','EPSG','8806','False easting',%s,'EPSG','%s','EPSG','8807','False northing',%s,'EPSG','%s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,%d);""" % (
+ code, conv_name, area_auth_name, area_code, Latitude_Of_Origin, ang_uom_code, Central_Meridian, ang_uom_code, Scale_Factor, False_Easting, uom_code, False_Northing, uom_code, deprecated)
+
+ sql_extract = sql[sql.find('NULL,NULL'):]
+ if conv_name != 'unnamed' or sql_extract not in map_conversion_sql_to_code:
+ all_sql.append(sql)
+ map_conversion_sql_to_code[sql_extract] = conv_code
+ else:
+ conv_code = map_conversion_sql_to_code[sql_extract]
+
+ sql = """INSERT INTO "projected_crs" VALUES('ESRI','%s','%s',NULL,NULL,'%s','%s','%s','%s','%s','%s','%s','%s',NULL,%d);""" % (
+ code, esri_name, cs_auth_name, cs_code, geogcs_auth_name, geogcs_code, conv_auth_name, conv_code, area_auth_name, area_code, deprecated)
+ all_sql.append(sql)
+
+ elif method == 'Hotine_Oblique_Mercator_Azimuth_Natural_Origin':
+ assert len(parsed_conv_wkt) == 1 + 6 + 2
+ False_Easting = parsed_conv_wkt['False_Easting']
+ False_Northing = parsed_conv_wkt['False_Northing']
+ Scale_Factor = parsed_conv_wkt['Scale_Factor']
+ Azimuth = parsed_conv_wkt['Azimuth']
+ Longitude_Of_Center = parsed_conv_wkt['Longitude_Of_Center']
+ Latitude_Of_Center = parsed_conv_wkt['Latitude_Of_Center']
+
+ cs_auth_name, cs_code, uom_code = get_cs(parsed_conv_wkt)
+
+ conv_name = 'unnamed'
+ conv_auth_name = 'ESRI'
+ conv_code = code
+
+ sql = """INSERT INTO "conversion" VALUES('ESRI','%s','%s',NULL,NULL,'%s','%s','EPSG','9812','Hotine Oblique Mercator (variant A)','EPSG','8811','Latitude of projection centre',%s,'EPSG','%s','EPSG','8812','Longitude of projection centre',%s,'EPSG','%s','EPSG','8813','Azimuth of initial line',%s,'EPSG','%s','EPSG','8814','Angle from Rectified to Skew Grid',%s,'EPSG','%s','EPSG','8815','Scale factor on initial line',%s,'EPSG','9201','EPSG','8806','False easting',%s,'EPSG','%s','EPSG','8807','False northing',%s,'EPSG','%s',%d);""" % (
+ code, conv_name, area_auth_name, area_code, Latitude_Of_Center, ang_uom_code, Longitude_Of_Center, ang_uom_code, Azimuth, ang_uom_code, Azimuth, ang_uom_code, Scale_Factor, False_Easting, uom_code, False_Northing, uom_code, deprecated)
+
+ sql_extract = sql[sql.find('NULL,NULL'):]
+ if conv_name != 'unnamed' or sql_extract not in map_conversion_sql_to_code:
+ all_sql.append(sql)
+ map_conversion_sql_to_code[sql_extract] = conv_code
+ else:
+ conv_code = map_conversion_sql_to_code[sql_extract]
+
+ sql = """INSERT INTO "projected_crs" VALUES('ESRI','%s','%s',NULL,NULL,'%s','%s','%s','%s','%s','%s','%s','%s',NULL,%d);""" % (
+ code, esri_name, cs_auth_name, cs_code, geogcs_auth_name, geogcs_code, conv_auth_name, conv_code, area_auth_name, area_code, deprecated)
+ all_sql.append(sql)
+
+ elif method == 'Lambert_Conformal_Conic' and 'Standard_Parallel_2' in parsed_conv_wkt:
+ assert len(parsed_conv_wkt) == 1 + 6 + 2
+ False_Easting = parsed_conv_wkt['False_Easting']
+ False_Northing = parsed_conv_wkt['False_Northing']
+ Central_Meridian = parsed_conv_wkt['Central_Meridian']
+ Standard_Parallel_1 = parsed_conv_wkt['Standard_Parallel_1']
+ Standard_Parallel_2 = parsed_conv_wkt['Standard_Parallel_2']
+ Latitude_Of_Origin = parsed_conv_wkt['Latitude_Of_Origin']
+
+ cs_auth_name, cs_code, uom_code = get_cs(parsed_conv_wkt)
+
+ conv_name = 'unnamed'
+ conv_auth_name = 'ESRI'
+ conv_code = code
+
+ sql = """INSERT INTO "conversion" VALUES('ESRI','%s','%s',NULL,NULL,'%s','%s','EPSG','9802','Lambert Conic Conformal (2SP)','EPSG','8821','Latitude of false origin',%s,'EPSG','%s','EPSG','8822','Longitude of false origin',%s,'EPSG','%s','EPSG','8823','Latitude of 1st standard parallel',%s,'EPSG','%s','EPSG','8824','Latitude of 2nd standard parallel',%s,'EPSG','%s','EPSG','8826','Easting at false origin',%s,'EPSG','%s','EPSG','8827','Northing at false origin',%s,'EPSG','%s',NULL,NULL,NULL,NULL,NULL,NULL,%d);""" % (
+ code, conv_name, area_auth_name, area_code, Latitude_Of_Origin, ang_uom_code, Central_Meridian, ang_uom_code, Standard_Parallel_1, ang_uom_code, Standard_Parallel_2, ang_uom_code, False_Easting, uom_code, False_Northing, uom_code, deprecated)
+
+ sql_extract = sql[sql.find('NULL,NULL'):]
+ if conv_name != 'unnamed' or sql_extract not in map_conversion_sql_to_code:
+ all_sql.append(sql)
+ map_conversion_sql_to_code[sql_extract] = conv_code
+ else:
+ conv_code = map_conversion_sql_to_code[sql_extract]
+
+ sql = """INSERT INTO "projected_crs" VALUES('ESRI','%s','%s',NULL,NULL,'%s','%s','%s','%s','%s','%s','%s','%s',NULL,%d);""" % (
+ code, esri_name, cs_auth_name, cs_code, geogcs_auth_name, geogcs_code, conv_auth_name, conv_code, area_auth_name, area_code, deprecated)
+ all_sql.append(sql)
+
+ elif method == 'Lambert_Conformal_Conic' and 'Scale_Factor' in parsed_conv_wkt:
+ assert len(parsed_conv_wkt) == 1 + 6 + 2
+ False_Easting = parsed_conv_wkt['False_Easting']
+ False_Northing = parsed_conv_wkt['False_Northing']
+ Central_Meridian = parsed_conv_wkt['Central_Meridian']
+ Standard_Parallel_1 = parsed_conv_wkt['Standard_Parallel_1']
+ Scale_Factor = parsed_conv_wkt['Scale_Factor']
+ Latitude_Of_Origin = parsed_conv_wkt['Latitude_Of_Origin']
+ assert Standard_Parallel_1 == Latitude_Of_Origin
+
+ cs_auth_name, cs_code, uom_code = get_cs(parsed_conv_wkt)
+
+ conv_name = 'unnamed'
+ conv_auth_name = 'ESRI'
+ conv_code = code
+
+ sql = """INSERT INTO "conversion" VALUES('ESRI','%s','%s',NULL,NULL,'%s','%s','EPSG','9801','Lambert Conic Conformal (1SP)','EPSG','8801','Latitude of natural origin',%s,'EPSG','%s','EPSG','8802','Longitude of natural origin',%s,'EPSG','%s','EPSG','8805','Scale factor at natural origin',%s,'EPSG','9201','EPSG','8806','False easting',%s,'EPSG','%s','EPSG','8807','False northing',%s,'EPSG','%s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,%d);""" % (
+ code, conv_name, area_auth_name, area_code, Latitude_Of_Origin, ang_uom_code, Central_Meridian, ang_uom_code, Scale_Factor, False_Easting, uom_code, False_Northing, uom_code, deprecated)
+
+ sql_extract = sql[sql.find('NULL,NULL'):]
+ if conv_name != 'unnamed' or sql_extract not in map_conversion_sql_to_code:
+ all_sql.append(sql)
+ map_conversion_sql_to_code[sql_extract] = conv_code
+ else:
+ conv_code = map_conversion_sql_to_code[sql_extract]
+
+ sql = """INSERT INTO "projected_crs" VALUES('ESRI','%s','%s',NULL,NULL,'%s','%s','%s','%s','%s','%s','%s','%s',NULL,%d);""" % (
+ code, esri_name, cs_auth_name, cs_code, geogcs_auth_name, geogcs_code, conv_auth_name, conv_code, area_auth_name, area_code, deprecated)
+ all_sql.append(sql)
+
+ else:
+
+ sql = """INSERT INTO "projected_crs" VALUES('ESRI','%s','%s',NULL,NULL,NULL,NULL,'%s','%s',NULL,NULL,'%s','%s','%s',%d);""" % (
+ code, esri_name, geogcs_auth_name, geogcs_code, area_auth_name, area_code, escape_literal(wkt), deprecated)
+ all_sql.append(sql)
if deprecated and code != latestWkid:
mapDeprecatedToNonDeprecated[code] = latestWkid
@@ -1210,7 +1472,7 @@ def import_geogtran():
method_code = '9606'
method_name = 'Position Vector transformation (geog2D domain)'
- sql = """INSERT INTO "helmert_transformation" VALUES('ESRI','%s','%s',NULL,NULL,'EPSG','%s','%s','%s','%s','%s','%s','%s','%s',%s,%s,%s,%s,'EPSG','9001',%s,%s,%s,'EPSG','9104',%s,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,%d);""" % (
+ sql = """INSERT INTO "helmert_transformation" VALUES('ESRI','%s','%s',NULL,NULL,'EPSG','%s','%s','%s','%s','%s','%s','%s','%s',%s,%s,%s,%s,'EPSG','9001',%s,%s,%s,'EPSG','9104',%s,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,%d);""" % (
wkid, esri_name, method_code, method_name, src_crs_auth_name, src_crs_code, dst_crs_auth_name, dst_crs_code, area_auth_name, area_code, accuracy, x, y, z, rx, ry, rz, s, deprecated)
all_sql.append(sql)
@@ -1232,7 +1494,7 @@ def import_geogtran():
method_code = '9636'
method_name = 'Molodensky-Badekas (CF geog2D domain)'
- sql = """INSERT INTO "helmert_transformation" VALUES('ESRI','%s','%s',NULL,NULL,'EPSG','%s','%s','%s','%s','%s','%s','%s','%s',%s,%s,%s,%s,'EPSG','9001',%s,%s,%s,'EPSG','9104',%s,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,%s,%s,%s,'EPSG','9001',%d);""" % (
+ sql = """INSERT INTO "helmert_transformation" VALUES('ESRI','%s','%s',NULL,NULL,'EPSG','%s','%s','%s','%s','%s','%s','%s','%s',%s,%s,%s,%s,'EPSG','9001',%s,%s,%s,'EPSG','9104',%s,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,%s,%s,%s,'EPSG','9001',NULL,%d);""" % (
wkid, esri_name, method_code, method_name, src_crs_auth_name, src_crs_code, dst_crs_auth_name, dst_crs_code, area_auth_name, area_code, accuracy, x, y, z, rx, ry, rz, s, px, py, pz, deprecated)
all_sql.append(sql)
@@ -1245,7 +1507,7 @@ def import_geogtran():
method_code = '9603'
method_name = 'Geocentric translations (geog2D domain)'
- sql = """INSERT INTO "helmert_transformation" VALUES('ESRI','%s','%s',NULL,NULL,'EPSG','%s','%s','%s','%s','%s','%s','%s','%s',%s,%s,%s,%s,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,%d);""" % (
+ sql = """INSERT INTO "helmert_transformation" VALUES('ESRI','%s','%s',NULL,NULL,'EPSG','%s','%s','%s','%s','%s','%s','%s','%s',%s,%s,%s,%s,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,%d);""" % (
wkid, esri_name, method_code, method_name, src_crs_auth_name, src_crs_code, dst_crs_auth_name, dst_crs_code, area_auth_name, area_code, accuracy, x, y, z, deprecated)
all_sql.append(sql)
@@ -1260,7 +1522,7 @@ def import_geogtran():
lat_offset = get_parameter(wkt, 'Latitude_Offset')
assert wkt.count('PARAMETER[') == 2
- sql = """INSERT INTO "other_transformation" VALUES('ESRI','%s','%s',NULL,NULL,'EPSG','9619','Geographic2D offsets','%s','%s','%s','%s','%s','%s',%s,'EPSG','8601','Latitude offset',%s,'EPSG','9104','EPSG','8602','Longitude offset',%s,'EPSG','9104',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,%d);""" % (
+ sql = """INSERT INTO "other_transformation" VALUES('ESRI','%s','%s',NULL,NULL,'EPSG','9619','Geographic2D offsets','%s','%s','%s','%s','%s','%s',%s,'EPSG','8601','Latitude offset',%s,'EPSG','9104','EPSG','8602','Longitude offset',%s,'EPSG','9104',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,%d);""" % (
wkid, esri_name, src_crs_auth_name, src_crs_code, dst_crs_auth_name, dst_crs_code, area_auth_name, area_code, accuracy, lat_offset, long_offset, deprecated)
all_sql.append(sql)
@@ -1269,7 +1531,7 @@ def import_geogtran():
lat_offset = '0'
assert wkt.count('PARAMETER[') == 0
- sql = """INSERT INTO "other_transformation" VALUES('ESRI','%s','%s',NULL,NULL,'EPSG','9619','Geographic2D offsets','%s','%s','%s','%s','%s','%s',%s,'EPSG','8601','Latitude offset',%s,'EPSG','9104','EPSG','8602','Longitude offset',%s,'EPSG','9104',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,%d);""" % (
+ sql = """INSERT INTO "other_transformation" VALUES('ESRI','%s','%s',NULL,NULL,'EPSG','9619','Geographic2D offsets','%s','%s','%s','%s','%s','%s',%s,'EPSG','8601','Latitude offset',%s,'EPSG','9104','EPSG','8602','Longitude offset',%s,'EPSG','9104',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,%d);""" % (
wkid, esri_name, src_crs_auth_name, src_crs_code, dst_crs_auth_name, dst_crs_code, area_auth_name, area_code, accuracy, lat_offset, long_offset, deprecated)
all_sql.append(sql)
@@ -1299,7 +1561,7 @@ def import_geogtran():
print('A grid_transformation (%s, using grid %s) is already known for the equivalent of %s (%s:%s --> %s:%s) for area %s, which uses grid %s. Skipping it' % (src_row[0], src_row[1], esri_name, src_crs_auth_name, src_crs_code, dst_crs_auth_name, dst_crs_code, row[idx_areaname], filename))
continue
- sql = """INSERT INTO "grid_transformation" VALUES('ESRI','%s','%s',NULL,NULL,'EPSG','9615','NTv2','%s','%s','%s','%s','%s','%s',%s,'EPSG','8656','Latitude and longitude difference file','%s',NULL,NULL,NULL,NULL,NULL,NULL,%d);""" % (
+ sql = """INSERT INTO "grid_transformation" VALUES('ESRI','%s','%s',NULL,NULL,'EPSG','9615','NTv2','%s','%s','%s','%s','%s','%s',%s,'EPSG','8656','Latitude and longitude difference file','%s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,%d);""" % (
wkid, esri_name, src_crs_auth_name, src_crs_code, dst_crs_auth_name, dst_crs_code, area_auth_name, area_code, accuracy, filename, deprecated)
all_sql.append(sql)
diff --git a/scripts/dump_exported_symbols.sh b/scripts/dump_exported_symbols.sh
new file mode 100755
index 00000000..b03d711a
--- /dev/null
+++ b/scripts/dump_exported_symbols.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+objdump -TC "$1" | grep " g DF .text" | cut -b 62- | grep -v "thunk to" | sed "s/internal_//" | grep -v "Java_" | sed "s/std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >/std::string/g" | sed "s/std::string >/std::string>/g" | sed "s/\[abi:cxx11\]//g" | sort -u \ No newline at end of file
diff --git a/scripts/reference_exported_symbols.txt b/scripts/reference_exported_symbols.txt
new file mode 100644
index 00000000..fe217812
--- /dev/null
+++ b/scripts/reference_exported_symbols.txt
@@ -0,0 +1,964 @@
+adjlon(double)
+dmstor(char const*, char**)
+geod_direct
+geod_directline
+geod_gendirect
+geod_gendirectline
+geod_geninverse
+geod_genposition
+geod_gensetdistance
+geod_init
+geod_inverse
+geod_inverseline
+geod_lineinit
+geod_polygon_addedge
+geod_polygon_addpoint
+geod_polygonarea
+geod_polygon_clear
+geod_polygon_compute
+geod_polygon_init
+geod_polygon_testedge
+geod_polygon_testpoint
+geod_position
+geod_setdistance
+osgeo::proj::common::Angle::~Angle()
+osgeo::proj::common::Angle::Angle(double)
+osgeo::proj::common::Angle::Angle(double, osgeo::proj::common::UnitOfMeasure const&)
+osgeo::proj::common::Angle::Angle(osgeo::proj::common::Angle const&)
+osgeo::proj::common::DataEpoch::coordinateEpoch() const
+osgeo::proj::common::DataEpoch::~DataEpoch()
+osgeo::proj::common::DataEpoch::DataEpoch(osgeo::proj::common::DataEpoch const&)
+osgeo::proj::common::DataEpoch::DataEpoch(osgeo::proj::common::Measure const&)
+osgeo::proj::common::DateTime::create(std::string const&)
+osgeo::proj::common::DateTime::~DateTime()
+osgeo::proj::common::DateTime::DateTime(osgeo::proj::common::DateTime const&)
+osgeo::proj::common::DateTime::isISO_8601() const
+osgeo::proj::common::DateTime::toString() const
+osgeo::proj::common::IdentifiedObject::alias() const
+osgeo::proj::common::IdentifiedObject::aliases() const
+osgeo::proj::common::IdentifiedObject::formatID(osgeo::proj::io::WKTFormatter*) const
+osgeo::proj::common::IdentifiedObject::getEPSGCode() const
+osgeo::proj::common::IdentifiedObject::~IdentifiedObject()
+osgeo::proj::common::IdentifiedObject::IdentifiedObject()
+osgeo::proj::common::IdentifiedObject::IdentifiedObject(osgeo::proj::common::IdentifiedObject const&)
+osgeo::proj::common::IdentifiedObject::identifiers() const
+osgeo::proj::common::IdentifiedObject::isDeprecated() const
+osgeo::proj::common::IdentifiedObject::name() const
+osgeo::proj::common::IdentifiedObject::nameStr() const
+osgeo::proj::common::IdentifiedObject::remarks() const
+osgeo::proj::common::IdentifiedObject::setProperties(osgeo::proj::util::PropertyMap const&)
+osgeo::proj::common::Length::~Length()
+osgeo::proj::common::Length::Length(double)
+osgeo::proj::common::Length::Length(double, osgeo::proj::common::UnitOfMeasure const&)
+osgeo::proj::common::Length::Length(osgeo::proj::common::Length const&)
+osgeo::proj::common::Measure::convertToUnit(osgeo::proj::common::UnitOfMeasure const&) const
+osgeo::proj::common::Measure::getSIValue() const
+osgeo::proj::common::Measure::~Measure()
+osgeo::proj::common::Measure::Measure(double, osgeo::proj::common::UnitOfMeasure const&)
+osgeo::proj::common::Measure::Measure(osgeo::proj::common::Measure const&)
+osgeo::proj::common::Measure::operator==(osgeo::proj::common::Measure const&) const
+osgeo::proj::common::Measure::unit() const
+osgeo::proj::common::Measure::value() const
+osgeo::proj::common::ObjectDomain::create(osgeo::proj::util::optional<std::string> const&, std::shared_ptr<osgeo::proj::metadata::Extent> const&)
+osgeo::proj::common::ObjectDomain::domainOfValidity() const
+osgeo::proj::common::ObjectDomain::_exportToWKT(osgeo::proj::io::WKTFormatter*) const
+osgeo::proj::common::ObjectDomain::_isEquivalentTo(osgeo::proj::util::IComparable const*, osgeo::proj::util::IComparable::Criterion) const
+osgeo::proj::common::ObjectDomain::~ObjectDomain()
+osgeo::proj::common::ObjectDomain::ObjectDomain(osgeo::proj::common::ObjectDomain const&)
+osgeo::proj::common::ObjectDomain::ObjectDomain(osgeo::proj::util::optional<std::string> const&, std::shared_ptr<osgeo::proj::metadata::Extent> const&)
+osgeo::proj::common::ObjectDomain::scope() const
+osgeo::proj::common::ObjectUsage::baseExportToWKT(osgeo::proj::io::WKTFormatter*) const
+osgeo::proj::common::ObjectUsage::domains() const
+osgeo::proj::common::ObjectUsage::_isEquivalentTo(osgeo::proj::util::IComparable const*, osgeo::proj::util::IComparable::Criterion) const
+osgeo::proj::common::ObjectUsage::~ObjectUsage()
+osgeo::proj::common::ObjectUsage::ObjectUsage()
+osgeo::proj::common::ObjectUsage::ObjectUsage(osgeo::proj::common::ObjectUsage const&)
+osgeo::proj::common::ObjectUsage::setProperties(osgeo::proj::util::PropertyMap const&)
+osgeo::proj::common::Scale::~Scale()
+osgeo::proj::common::Scale::Scale(double)
+osgeo::proj::common::Scale::Scale(double, osgeo::proj::common::UnitOfMeasure const&)
+osgeo::proj::common::Scale::Scale(osgeo::proj::common::Scale const&)
+osgeo::proj::common::UnitOfMeasure::code() const
+osgeo::proj::common::UnitOfMeasure::codeSpace() const
+osgeo::proj::common::UnitOfMeasure::conversionToSI() const
+osgeo::proj::common::UnitOfMeasure::name() const
+osgeo::proj::common::UnitOfMeasure::operator=(osgeo::proj::common::UnitOfMeasure const&)
+osgeo::proj::common::UnitOfMeasure::operator==(osgeo::proj::common::UnitOfMeasure const&) const
+osgeo::proj::common::UnitOfMeasure::operator!=(osgeo::proj::common::UnitOfMeasure const&) const
+osgeo::proj::common::UnitOfMeasure::type() const
+osgeo::proj::common::UnitOfMeasure::~UnitOfMeasure()
+osgeo::proj::common::UnitOfMeasure::UnitOfMeasure(osgeo::proj::common::UnitOfMeasure const&)
+osgeo::proj::common::UnitOfMeasure::UnitOfMeasure(std::string const&, double, osgeo::proj::common::UnitOfMeasure::Type, std::string const&, std::string const&)
+osgeo::proj::crs::BoundCRS::baseCRS() const
+osgeo::proj::crs::BoundCRS::baseCRSWithCanonicalBoundCRS() const
+osgeo::proj::crs::BoundCRS::~BoundCRS()
+osgeo::proj::crs::BoundCRS::create(dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::Transformation> > const&)
+osgeo::proj::crs::BoundCRS::createFromNadgrids(dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, std::string const&)
+osgeo::proj::crs::BoundCRS::createFromTOWGS84(dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, std::vector<double, std::allocator<double> > const&)
+osgeo::proj::crs::BoundCRS::hubCRS() const
+osgeo::proj::crs::BoundCRS::transformation() const
+osgeo::proj::crs::CompoundCRS::componentReferenceSystems() const
+osgeo::proj::crs::CompoundCRS::~CompoundCRS()
+osgeo::proj::crs::CompoundCRS::create(osgeo::proj::util::PropertyMap const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > > > const&)
+osgeo::proj::crs::CompoundCRS::identify(std::shared_ptr<osgeo::proj::io::AuthorityFactory> const&) const
+osgeo::proj::crs::CRS::alterCSLinearUnit(osgeo::proj::common::UnitOfMeasure const&) const
+osgeo::proj::crs::CRS::alterGeodeticCRS(dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::GeodeticCRS> > const&) const
+osgeo::proj::crs::CRS::alterId(std::string const&, std::string const&) const
+osgeo::proj::crs::CRS::alterName(std::string const&) const
+osgeo::proj::crs::CRS::canonicalBoundCRS() const
+osgeo::proj::crs::CRS::createBoundCRSToWGS84IfPossible(std::shared_ptr<osgeo::proj::io::DatabaseContext> const&, osgeo::proj::operation::CoordinateOperationContext::IntermediateCRSUse) const
+osgeo::proj::crs::CRS::~CRS()
+osgeo::proj::crs::CRS::extractGeodeticCRS() const
+osgeo::proj::crs::CRS::extractGeographicCRS() const
+osgeo::proj::crs::CRS::extractVerticalCRS() const
+osgeo::proj::crs::CRS::getNonDeprecated(dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::io::DatabaseContext> > const&) const
+osgeo::proj::crs::CRS::identify(std::shared_ptr<osgeo::proj::io::AuthorityFactory> const&) const
+osgeo::proj::crs::CRS::shallowClone() const
+osgeo::proj::crs::CRS::stripVerticalComponent() const
+osgeo::proj::crs::DerivedCRS::baseCRS() const
+osgeo::proj::crs::DerivedCRS::~DerivedCRS()
+osgeo::proj::crs::DerivedCRS::derivingConversion() const
+osgeo::proj::crs::DerivedGeodeticCRS::baseCRS() const
+osgeo::proj::crs::DerivedGeodeticCRS::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::GeodeticCRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::Conversion> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CartesianCS> > const&)
+osgeo::proj::crs::DerivedGeodeticCRS::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::GeodeticCRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::Conversion> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::SphericalCS> > const&)
+osgeo::proj::crs::DerivedGeodeticCRS::~DerivedGeodeticCRS()
+osgeo::proj::crs::DerivedGeodeticCRS::_exportToWKT(osgeo::proj::io::WKTFormatter*) const
+osgeo::proj::crs::DerivedGeographicCRS::baseCRS() const
+osgeo::proj::crs::DerivedGeographicCRS::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::GeodeticCRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::Conversion> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::EllipsoidalCS> > const&)
+osgeo::proj::crs::DerivedGeographicCRS::~DerivedGeographicCRS()
+osgeo::proj::crs::DerivedProjectedCRS::baseCRS() const
+osgeo::proj::crs::DerivedProjectedCRS::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::ProjectedCRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::Conversion> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CoordinateSystem> > const&)
+osgeo::proj::crs::DerivedProjectedCRS::~DerivedProjectedCRS()
+osgeo::proj::crs::DerivedVerticalCRS::baseCRS() const
+osgeo::proj::crs::DerivedVerticalCRS::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::VerticalCRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::Conversion> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::VerticalCS> > const&)
+osgeo::proj::crs::DerivedVerticalCRS::~DerivedVerticalCRS()
+osgeo::proj::crs::EngineeringCRS::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::datum::EngineeringDatum> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CoordinateSystem> > const&)
+osgeo::proj::crs::EngineeringCRS::datum() const
+osgeo::proj::crs::EngineeringCRS::~EngineeringCRS()
+osgeo::proj::crs::GeodeticCRS::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::datum::GeodeticReferenceFrame> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CartesianCS> > const&)
+osgeo::proj::crs::GeodeticCRS::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::datum::GeodeticReferenceFrame> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::SphericalCS> > const&)
+osgeo::proj::crs::GeodeticCRS::create(osgeo::proj::util::PropertyMap const&, std::shared_ptr<osgeo::proj::datum::GeodeticReferenceFrame> const&, std::shared_ptr<osgeo::proj::datum::DatumEnsemble> const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CartesianCS> > const&)
+osgeo::proj::crs::GeodeticCRS::create(osgeo::proj::util::PropertyMap const&, std::shared_ptr<osgeo::proj::datum::GeodeticReferenceFrame> const&, std::shared_ptr<osgeo::proj::datum::DatumEnsemble> const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::SphericalCS> > const&)
+osgeo::proj::crs::GeodeticCRS::datum() const
+osgeo::proj::crs::GeodeticCRS::ellipsoid() const
+osgeo::proj::crs::GeodeticCRS::~GeodeticCRS()
+osgeo::proj::crs::GeodeticCRS::identify(std::shared_ptr<osgeo::proj::io::AuthorityFactory> const&) const
+osgeo::proj::crs::GeodeticCRS::isGeocentric() const
+osgeo::proj::crs::GeodeticCRS::primeMeridian() const
+osgeo::proj::crs::GeodeticCRS::velocityModel() const
+osgeo::proj::crs::GeographicCRS::coordinateSystem() const
+osgeo::proj::crs::GeographicCRS::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::datum::GeodeticReferenceFrame> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::EllipsoidalCS> > const&)
+osgeo::proj::crs::GeographicCRS::create(osgeo::proj::util::PropertyMap const&, std::shared_ptr<osgeo::proj::datum::GeodeticReferenceFrame> const&, std::shared_ptr<osgeo::proj::datum::DatumEnsemble> const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::EllipsoidalCS> > const&)
+osgeo::proj::crs::GeographicCRS::~GeographicCRS()
+osgeo::proj::crs::GeographicCRS::is2DPartOf3D(dropbox::oxygen::nn<osgeo::proj::crs::GeographicCRS const*>) const
+osgeo::proj::crs::ParametricCRS::coordinateSystem() const
+osgeo::proj::crs::ParametricCRS::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::datum::ParametricDatum> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::ParametricCS> > const&)
+osgeo::proj::crs::ParametricCRS::datum() const
+osgeo::proj::crs::ParametricCRS::~ParametricCRS()
+osgeo::proj::crs::ProjectedCRS::alterParametersLinearUnit(osgeo::proj::common::UnitOfMeasure const&, bool) const
+osgeo::proj::crs::ProjectedCRS::baseCRS() const
+osgeo::proj::crs::ProjectedCRS::coordinateSystem() const
+osgeo::proj::crs::ProjectedCRS::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::GeodeticCRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::Conversion> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CartesianCS> > const&)
+osgeo::proj::crs::ProjectedCRS::identify(std::shared_ptr<osgeo::proj::io::AuthorityFactory> const&) const
+osgeo::proj::crs::ProjectedCRS::~ProjectedCRS()
+osgeo::proj::crs::SingleCRS::coordinateSystem() const
+osgeo::proj::crs::SingleCRS::datum() const
+osgeo::proj::crs::SingleCRS::datumEnsemble() const
+osgeo::proj::crs::SingleCRS::~SingleCRS()
+osgeo::proj::crs::TemporalCRS::coordinateSystem() const
+osgeo::proj::crs::TemporalCRS::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::datum::TemporalDatum> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::TemporalCS> > const&)
+osgeo::proj::crs::TemporalCRS::datum() const
+osgeo::proj::crs::TemporalCRS::~TemporalCRS()
+osgeo::proj::crs::VerticalCRS::coordinateSystem() const
+osgeo::proj::crs::VerticalCRS::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::datum::VerticalReferenceFrame> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::VerticalCS> > const&)
+osgeo::proj::crs::VerticalCRS::create(osgeo::proj::util::PropertyMap const&, std::shared_ptr<osgeo::proj::datum::VerticalReferenceFrame> const&, std::shared_ptr<osgeo::proj::datum::DatumEnsemble> const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::VerticalCS> > const&)
+osgeo::proj::crs::VerticalCRS::datum() const
+osgeo::proj::crs::VerticalCRS::geoidModel() const
+osgeo::proj::crs::VerticalCRS::identify(std::shared_ptr<osgeo::proj::io::AuthorityFactory> const&) const
+osgeo::proj::crs::VerticalCRS::velocityModel() const
+osgeo::proj::crs::VerticalCRS::~VerticalCRS()
+osgeo::proj::cs::AxisDirection::valueOf(std::string const&)
+osgeo::proj::cs::CartesianCS::~CartesianCS()
+osgeo::proj::cs::CartesianCS::createEastingNorthing(osgeo::proj::common::UnitOfMeasure const&)
+osgeo::proj::cs::CartesianCS::createGeocentric(osgeo::proj::common::UnitOfMeasure const&)
+osgeo::proj::cs::CartesianCS::createNorthingEasting(osgeo::proj::common::UnitOfMeasure const&)
+osgeo::proj::cs::CartesianCS::createNorthPoleEastingSouthNorthingSouth(osgeo::proj::common::UnitOfMeasure const&)
+osgeo::proj::cs::CartesianCS::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > const&)
+osgeo::proj::cs::CartesianCS::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > const&)
+osgeo::proj::cs::CartesianCS::createSouthPoleEastingNorthNorthingNorth(osgeo::proj::common::UnitOfMeasure const&)
+osgeo::proj::cs::CartesianCS::createWestingSouthing(osgeo::proj::common::UnitOfMeasure const&)
+osgeo::proj::cs::CoordinateSystemAxis::abbreviation() const
+osgeo::proj::cs::CoordinateSystemAxis::~CoordinateSystemAxis()
+osgeo::proj::cs::CoordinateSystemAxis::create(osgeo::proj::util::PropertyMap const&, std::string const&, osgeo::proj::cs::AxisDirection const&, osgeo::proj::common::UnitOfMeasure const&, std::shared_ptr<osgeo::proj::cs::Meridian> const&)
+osgeo::proj::cs::CoordinateSystemAxis::direction() const
+osgeo::proj::cs::CoordinateSystem::axisList() const
+osgeo::proj::cs::CoordinateSystemAxis::maximumValue() const
+osgeo::proj::cs::CoordinateSystemAxis::meridian() const
+osgeo::proj::cs::CoordinateSystemAxis::minimumValue() const
+osgeo::proj::cs::CoordinateSystemAxis::unit() const
+osgeo::proj::cs::CoordinateSystem::~CoordinateSystem()
+osgeo::proj::cs::DateTimeTemporalCS::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > const&)
+osgeo::proj::cs::DateTimeTemporalCS::~DateTimeTemporalCS()
+osgeo::proj::cs::EllipsoidalCS::createLatitudeLongitudeEllipsoidalHeight(osgeo::proj::common::UnitOfMeasure const&, osgeo::proj::common::UnitOfMeasure const&)
+osgeo::proj::cs::EllipsoidalCS::createLatitudeLongitude(osgeo::proj::common::UnitOfMeasure const&)
+osgeo::proj::cs::EllipsoidalCS::createLongitudeLatitude(osgeo::proj::common::UnitOfMeasure const&)
+osgeo::proj::cs::EllipsoidalCS::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > const&)
+osgeo::proj::cs::EllipsoidalCS::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > const&)
+osgeo::proj::cs::EllipsoidalCS::~EllipsoidalCS()
+osgeo::proj::cs::Meridian::create(osgeo::proj::common::Angle const&)
+osgeo::proj::cs::Meridian::longitude() const
+osgeo::proj::cs::Meridian::~Meridian()
+osgeo::proj::cs::OrdinalCS::create(osgeo::proj::util::PropertyMap const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > > > const&)
+osgeo::proj::cs::OrdinalCS::~OrdinalCS()
+osgeo::proj::cs::ParametricCS::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > const&)
+osgeo::proj::cs::ParametricCS::~ParametricCS()
+osgeo::proj::cs::SphericalCS::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > const&)
+osgeo::proj::cs::SphericalCS::~SphericalCS()
+osgeo::proj::cs::TemporalCountCS::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > const&)
+osgeo::proj::cs::TemporalCountCS::~TemporalCountCS()
+osgeo::proj::cs::TemporalCS::~TemporalCS()
+osgeo::proj::cs::TemporalMeasureCS::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > const&)
+osgeo::proj::cs::TemporalMeasureCS::~TemporalMeasureCS()
+osgeo::proj::cs::VerticalCS::createGravityRelatedHeight(osgeo::proj::common::UnitOfMeasure const&)
+osgeo::proj::cs::VerticalCS::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > const&)
+osgeo::proj::cs::VerticalCS::~VerticalCS()
+osgeo::proj::datum::Datum::anchorDefinition() const
+osgeo::proj::datum::Datum::conventionalRS() const
+osgeo::proj::datum::Datum::~Datum()
+osgeo::proj::datum::DatumEnsemble::create(osgeo::proj::util::PropertyMap const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::datum::Datum> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::datum::Datum> > > > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > const&)
+osgeo::proj::datum::DatumEnsemble::~DatumEnsemble()
+osgeo::proj::datum::DatumEnsemble::datums() const
+osgeo::proj::datum::DatumEnsemble::positionalAccuracy() const
+osgeo::proj::datum::Datum::publicationDate() const
+osgeo::proj::datum::DynamicGeodeticReferenceFrame::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::datum::Ellipsoid> > const&, osgeo::proj::util::optional<std::string> const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::datum::PrimeMeridian> > const&, osgeo::proj::common::Measure const&, osgeo::proj::util::optional<std::string> const&)
+osgeo::proj::datum::DynamicGeodeticReferenceFrame::deformationModelName() const
+osgeo::proj::datum::DynamicGeodeticReferenceFrame::~DynamicGeodeticReferenceFrame()
+osgeo::proj::datum::DynamicGeodeticReferenceFrame::frameReferenceEpoch() const
+osgeo::proj::datum::DynamicVerticalReferenceFrame::create(osgeo::proj::util::PropertyMap const&, osgeo::proj::util::optional<std::string> const&, osgeo::proj::util::optional<osgeo::proj::datum::RealizationMethod> const&, osgeo::proj::common::Measure const&, osgeo::proj::util::optional<std::string> const&)
+osgeo::proj::datum::DynamicVerticalReferenceFrame::deformationModelName() const
+osgeo::proj::datum::DynamicVerticalReferenceFrame::~DynamicVerticalReferenceFrame()
+osgeo::proj::datum::DynamicVerticalReferenceFrame::frameReferenceEpoch() const
+osgeo::proj::datum::Ellipsoid::celestialBody() const
+osgeo::proj::datum::Ellipsoid::computedInverseFlattening() const
+osgeo::proj::datum::Ellipsoid::computeSemiMinorAxis() const
+osgeo::proj::datum::Ellipsoid::createFlattenedSphere(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Length const&, osgeo::proj::common::Scale const&, std::string const&)
+osgeo::proj::datum::Ellipsoid::createSphere(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Length const&, std::string const&)
+osgeo::proj::datum::Ellipsoid::createTwoAxis(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&, std::string const&)
+osgeo::proj::datum::Ellipsoid::~Ellipsoid()
+osgeo::proj::datum::Ellipsoid::identify() const
+osgeo::proj::datum::Ellipsoid::inverseFlattening() const
+osgeo::proj::datum::Ellipsoid::isSphere() const
+osgeo::proj::datum::Ellipsoid::semiMajorAxis() const
+osgeo::proj::datum::Ellipsoid::semiMedianAxis() const
+osgeo::proj::datum::Ellipsoid::semiMinorAxis() const
+osgeo::proj::datum::Ellipsoid::squaredEccentricity() const
+osgeo::proj::datum::EngineeringDatum::create(osgeo::proj::util::PropertyMap const&, osgeo::proj::util::optional<std::string> const&)
+osgeo::proj::datum::EngineeringDatum::~EngineeringDatum()
+osgeo::proj::datum::GeodeticReferenceFrame::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::datum::Ellipsoid> > const&, osgeo::proj::util::optional<std::string> const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::datum::PrimeMeridian> > const&)
+osgeo::proj::datum::GeodeticReferenceFrame::ellipsoid() const
+osgeo::proj::datum::GeodeticReferenceFrame::~GeodeticReferenceFrame()
+osgeo::proj::datum::GeodeticReferenceFrame::primeMeridian() const
+osgeo::proj::datum::ParametricDatum::create(osgeo::proj::util::PropertyMap const&, osgeo::proj::util::optional<std::string> const&)
+osgeo::proj::datum::ParametricDatum::~ParametricDatum()
+osgeo::proj::datum::PrimeMeridian::create(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&)
+osgeo::proj::datum::PrimeMeridian::longitude() const
+osgeo::proj::datum::PrimeMeridian::~PrimeMeridian()
+osgeo::proj::datum::RealizationMethod::operator=(osgeo::proj::datum::RealizationMethod const&)
+osgeo::proj::datum::RealizationMethod::RealizationMethod(osgeo::proj::datum::RealizationMethod const&)
+osgeo::proj::datum::RealizationMethod::RealizationMethod(std::string const&)
+osgeo::proj::datum::TemporalDatum::calendar() const
+osgeo::proj::datum::TemporalDatum::create(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::DateTime const&, std::string const&)
+osgeo::proj::datum::TemporalDatum::~TemporalDatum()
+osgeo::proj::datum::TemporalDatum::temporalOrigin() const
+osgeo::proj::datum::VerticalReferenceFrame::create(osgeo::proj::util::PropertyMap const&, osgeo::proj::util::optional<std::string> const&, osgeo::proj::util::optional<osgeo::proj::datum::RealizationMethod> const&)
+osgeo::proj::datum::VerticalReferenceFrame::realizationMethod() const
+osgeo::proj::datum::VerticalReferenceFrame::~VerticalReferenceFrame()
+osgeo::proj::internal::ci_equal(std::string const&, char const*)
+osgeo::proj::internal::ci_equal(std::string const&, std::string const&)
+osgeo::proj::internal::ci_find(std::string const&, char const*)
+osgeo::proj::internal::c_locale_stod(std::string const&)
+osgeo::proj::internal::replaceAll(std::string const&, std::string const&, std::string const&)
+osgeo::proj::internal::split(std::string const&, char)
+osgeo::proj::internal::split(std::string const&, std::string const&)
+osgeo::proj::internal::tolower(std::string const&)
+osgeo::proj::internal::toString(double, int)
+osgeo::proj::io::AuthorityFactory::~AuthorityFactory()
+osgeo::proj::io::AuthorityFactory::createCompoundCRS(std::string const&) const
+osgeo::proj::io::AuthorityFactory::createConversion(std::string const&) const
+osgeo::proj::io::AuthorityFactory::createCoordinateOperation(std::string const&, bool) const
+osgeo::proj::io::AuthorityFactory::createCoordinateReferenceSystem(std::string const&) const
+osgeo::proj::io::AuthorityFactory::createCoordinateSystem(std::string const&) const
+osgeo::proj::io::AuthorityFactory::createDatum(std::string const&) const
+osgeo::proj::io::AuthorityFactory::create(dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::io::DatabaseContext> > const&, std::string const&)
+osgeo::proj::io::AuthorityFactory::createEllipsoid(std::string const&) const
+osgeo::proj::io::AuthorityFactory::createExtent(std::string const&) const
+osgeo::proj::io::AuthorityFactory::createFromCoordinateReferenceSystemCodes(std::string const&, std::string const&) const
+osgeo::proj::io::AuthorityFactory::createFromCoordinateReferenceSystemCodes(std::string const&, std::string const&, std::string const&, std::string const&, bool, bool, bool) const
+osgeo::proj::io::AuthorityFactory::createFromCRSCodesWithIntermediates(std::string const&, std::string const&, std::string const&, std::string const&, bool, bool, bool, std::vector<std::pair<std::string, std::string>, std::allocator<std::pair<std::string, std::string> > > const&) const
+osgeo::proj::io::AuthorityFactory::createGeodeticCRS(std::string const&) const
+osgeo::proj::io::AuthorityFactory::createGeodeticDatum(std::string const&) const
+osgeo::proj::io::AuthorityFactory::createGeographicCRS(std::string const&) const
+osgeo::proj::io::AuthorityFactory::createObjectsFromName(std::string const&, std::vector<osgeo::proj::io::AuthorityFactory::ObjectType, std::allocator<osgeo::proj::io::AuthorityFactory::ObjectType> > const&, bool, unsigned long) const
+osgeo::proj::io::AuthorityFactory::createObject(std::string const&) const
+osgeo::proj::io::AuthorityFactory::createPrimeMeridian(std::string const&) const
+osgeo::proj::io::AuthorityFactory::createProjectedCRS(std::string const&) const
+osgeo::proj::io::AuthorityFactory::createUnitOfMeasure(std::string const&) const
+osgeo::proj::io::AuthorityFactory::createVerticalCRS(std::string const&) const
+osgeo::proj::io::AuthorityFactory::createVerticalDatum(std::string const&) const
+osgeo::proj::io::AuthorityFactory::CRSInfo::CRSInfo()
+osgeo::proj::io::AuthorityFactory::databaseContext() const
+osgeo::proj::io::AuthorityFactory::getAuthorityCodes(osgeo::proj::io::AuthorityFactory::ObjectType const&, bool) const
+osgeo::proj::io::AuthorityFactory::getAuthority() const
+osgeo::proj::io::AuthorityFactory::getCRSInfoList() const
+osgeo::proj::io::AuthorityFactory::getDescriptionText(std::string const&) const
+osgeo::proj::io::AuthorityFactory::getOfficialNameFromAlias(std::string const&, std::string const&, std::string const&, bool, std::string&, std::string&, std::string&) const
+osgeo::proj::io::AuthorityFactory::identifyBodyFromSemiMajorAxis(double, double) const
+osgeo::proj::io::AuthorityFactory::listAreaOfUseFromName(std::string const&, bool) const
+osgeo::proj::io::createFromUserInput(std::string const&, projCtx_t*)
+osgeo::proj::io::createFromUserInput(std::string const&, std::shared_ptr<osgeo::proj::io::DatabaseContext> const&, bool)
+osgeo::proj::io::DatabaseContext::create(std::string const&, std::vector<std::string, std::allocator<std::string> > const&, projCtx_t*)
+osgeo::proj::io::DatabaseContext::create(void*)
+osgeo::proj::io::DatabaseContext::~DatabaseContext()
+osgeo::proj::io::DatabaseContext::getAuthorities() const
+osgeo::proj::io::DatabaseContext::getDatabaseStructure() const
+osgeo::proj::io::DatabaseContext::getMetadata(char const*) const
+osgeo::proj::io::DatabaseContext::getPath() const
+osgeo::proj::io::DatabaseContext::getSqliteHandle() const
+osgeo::proj::io::DatabaseContext::lookForGridInfo(std::string const&, std::string&, std::string&, std::string&, bool&, bool&, bool&) const
+osgeo::proj::io::FactoryException::~FactoryException()
+osgeo::proj::io::FactoryException::FactoryException(char const*)
+osgeo::proj::io::FactoryException::FactoryException(osgeo::proj::io::FactoryException const&)
+osgeo::proj::io::FactoryException::FactoryException(std::string const&)
+osgeo::proj::io::FormattingException::~FormattingException()
+osgeo::proj::io::FormattingException::FormattingException(osgeo::proj::io::FormattingException const&)
+osgeo::proj::io::IPROJStringExportable::exportToPROJString(osgeo::proj::io::PROJStringFormatter*) const
+osgeo::proj::io::IPROJStringExportable::~IPROJStringExportable()
+osgeo::proj::io::IWKTExportable::exportToWKT(osgeo::proj::io::WKTFormatter*) const
+osgeo::proj::io::IWKTExportable::~IWKTExportable()
+osgeo::proj::io::NoSuchAuthorityCodeException::getAuthorityCode() const
+osgeo::proj::io::NoSuchAuthorityCodeException::getAuthority() const
+osgeo::proj::io::NoSuchAuthorityCodeException::~NoSuchAuthorityCodeException()
+osgeo::proj::io::NoSuchAuthorityCodeException::NoSuchAuthorityCodeException(osgeo::proj::io::NoSuchAuthorityCodeException const&)
+osgeo::proj::io::NoSuchAuthorityCodeException::NoSuchAuthorityCodeException(std::string const&, std::string const&, std::string const&)
+osgeo::proj::io::ParsingException::~ParsingException()
+osgeo::proj::io::ParsingException::ParsingException(osgeo::proj::io::ParsingException const&)
+osgeo::proj::io::PROJStringFormatter::addParam(char const*, char const*)
+osgeo::proj::io::PROJStringFormatter::addParam(char const*, double)
+osgeo::proj::io::PROJStringFormatter::addParam(char const*, int)
+osgeo::proj::io::PROJStringFormatter::addParam(char const*, std::string const&)
+osgeo::proj::io::PROJStringFormatter::addParam(char const*, std::vector<double, std::allocator<double> > const&)
+osgeo::proj::io::PROJStringFormatter::addParam(std::string const&)
+osgeo::proj::io::PROJStringFormatter::addParam(std::string const&, char const*)
+osgeo::proj::io::PROJStringFormatter::addParam(std::string const&, double)
+osgeo::proj::io::PROJStringFormatter::addParam(std::string const&, int)
+osgeo::proj::io::PROJStringFormatter::addParam(std::string const&, std::string const&)
+osgeo::proj::io::PROJStringFormatter::addStep(char const*)
+osgeo::proj::io::PROJStringFormatter::addStep(std::string const&)
+osgeo::proj::io::PROJStringFormatter::create(osgeo::proj::io::PROJStringFormatter::Convention, std::shared_ptr<osgeo::proj::io::DatabaseContext>)
+osgeo::proj::io::PROJStringFormatter::ingestPROJString(std::string const&)
+osgeo::proj::io::PROJStringFormatter::~PROJStringFormatter()
+osgeo::proj::io::PROJStringFormatter::setCRSExport(bool)
+osgeo::proj::io::PROJStringFormatter::setCurrentStepInverted(bool)
+osgeo::proj::io::PROJStringFormatter::setUseApproxTMerc(bool)
+osgeo::proj::io::PROJStringFormatter::startInversion()
+osgeo::proj::io::PROJStringFormatter::stopInversion()
+osgeo::proj::io::PROJStringFormatter::toString() const
+osgeo::proj::io::PROJStringParser::attachContext(projCtx_t*)
+osgeo::proj::io::PROJStringParser::attachDatabaseContext(std::shared_ptr<osgeo::proj::io::DatabaseContext> const&)
+osgeo::proj::io::PROJStringParser::createFromPROJString(std::string const&)
+osgeo::proj::io::PROJStringParser::~PROJStringParser()
+osgeo::proj::io::PROJStringParser::PROJStringParser()
+osgeo::proj::io::PROJStringParser::setUsePROJ4InitRules(bool)
+osgeo::proj::io::PROJStringParser::warningList() const
+osgeo::proj::io::WKTFormatter::create(dropbox::oxygen::nn<std::unique_ptr<osgeo::proj::io::WKTFormatter, std::default_delete<osgeo::proj::io::WKTFormatter> > > const&)
+osgeo::proj::io::WKTFormatter::create(osgeo::proj::io::WKTFormatter::Convention, std::shared_ptr<osgeo::proj::io::DatabaseContext>)
+osgeo::proj::io::WKTFormatter::isStrict() const
+osgeo::proj::io::WKTFormatter::setIndentationWidth(int)
+osgeo::proj::io::WKTFormatter::setMultiLine(bool)
+osgeo::proj::io::WKTFormatter::setOutputAxis(osgeo::proj::io::WKTFormatter::OutputAxisRule)
+osgeo::proj::io::WKTFormatter::setOutputId(bool)
+osgeo::proj::io::WKTFormatter::setStrict(bool)
+osgeo::proj::io::WKTFormatter::simulCurNodeHasId()
+osgeo::proj::io::WKTFormatter::toString() const
+osgeo::proj::io::WKTFormatter::~WKTFormatter()
+osgeo::proj::io::WKTNode::addChild(dropbox::oxygen::nn<std::unique_ptr<osgeo::proj::io::WKTNode, std::default_delete<osgeo::proj::io::WKTNode> > >&&)
+osgeo::proj::io::WKTNode::children() const
+osgeo::proj::io::WKTNode::countChildrenOfName(std::string const&) const
+osgeo::proj::io::WKTNode::createFrom(std::string const&, unsigned long)
+osgeo::proj::io::WKTNode::lookForChild(std::string const&, int) const
+osgeo::proj::io::WKTNode::toString() const
+osgeo::proj::io::WKTNode::value() const
+osgeo::proj::io::WKTNode::~WKTNode()
+osgeo::proj::io::WKTNode::WKTNode(std::string const&)
+osgeo::proj::io::WKTParser::attachDatabaseContext(std::shared_ptr<osgeo::proj::io::DatabaseContext> const&)
+osgeo::proj::io::WKTParser::createFromWKT(std::string const&)
+osgeo::proj::io::WKTParser::guessDialect(std::string const&)
+osgeo::proj::io::WKTParser::setStrict(bool)
+osgeo::proj::io::WKTParser::warningList() const
+osgeo::proj::io::WKTParser::~WKTParser()
+osgeo::proj::io::WKTParser::WKTParser()
+osgeo::proj::metadata::Citation::~Citation()
+osgeo::proj::metadata::Citation::Citation()
+osgeo::proj::metadata::Citation::Citation(osgeo::proj::metadata::Citation const&)
+osgeo::proj::metadata::Citation::Citation(std::string const&)
+osgeo::proj::metadata::Citation::title() const
+osgeo::proj::metadata::Extent::contains(dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::Extent> > const&) const
+osgeo::proj::metadata::Extent::createFromBBOX(double, double, double, double, osgeo::proj::util::optional<std::string> const&)
+osgeo::proj::metadata::Extent::create(osgeo::proj::util::optional<std::string> const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::GeographicExtent> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::GeographicExtent> > > > const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::VerticalExtent> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::VerticalExtent> > > > const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::TemporalExtent> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::TemporalExtent> > > > const&)
+osgeo::proj::metadata::Extent::description() const
+osgeo::proj::metadata::Extent::~Extent()
+osgeo::proj::metadata::Extent::Extent(osgeo::proj::metadata::Extent const&)
+osgeo::proj::metadata::Extent::geographicElements() const
+osgeo::proj::metadata::Extent::intersection(dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::Extent> > const&) const
+osgeo::proj::metadata::Extent::intersects(dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::Extent> > const&) const
+osgeo::proj::metadata::Extent::temporalElements() const
+osgeo::proj::metadata::Extent::verticalElements() const
+osgeo::proj::metadata::GeographicBoundingBox::create(double, double, double, double)
+osgeo::proj::metadata::GeographicBoundingBox::eastBoundLongitude() const
+osgeo::proj::metadata::GeographicBoundingBox::~GeographicBoundingBox()
+osgeo::proj::metadata::GeographicBoundingBox::northBoundLatitude() const
+osgeo::proj::metadata::GeographicBoundingBox::southBoundLatitude() const
+osgeo::proj::metadata::GeographicBoundingBox::westBoundLongitude() const
+osgeo::proj::metadata::GeographicExtent::~GeographicExtent()
+osgeo::proj::metadata::Identifier::authority() const
+osgeo::proj::metadata::Identifier::code() const
+osgeo::proj::metadata::Identifier::codeSpace() const
+osgeo::proj::metadata::Identifier::create(std::string const&, osgeo::proj::util::PropertyMap const&)
+osgeo::proj::metadata::Identifier::description() const
+osgeo::proj::metadata::Identifier::~Identifier()
+osgeo::proj::metadata::Identifier::Identifier(osgeo::proj::metadata::Identifier const&)
+osgeo::proj::metadata::Identifier::isEquivalentName(char const*, char const*)
+osgeo::proj::metadata::Identifier::uri() const
+osgeo::proj::metadata::Identifier::version() const
+osgeo::proj::metadata::PositionalAccuracy::create(std::string const&)
+osgeo::proj::metadata::PositionalAccuracy::~PositionalAccuracy()
+osgeo::proj::metadata::PositionalAccuracy::value() const
+osgeo::proj::metadata::TemporalExtent::contains(dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::TemporalExtent> > const&) const
+osgeo::proj::metadata::TemporalExtent::create(std::string const&, std::string const&)
+osgeo::proj::metadata::TemporalExtent::intersects(dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::TemporalExtent> > const&) const
+osgeo::proj::metadata::TemporalExtent::start() const
+osgeo::proj::metadata::TemporalExtent::stop() const
+osgeo::proj::metadata::TemporalExtent::~TemporalExtent()
+osgeo::proj::metadata::VerticalExtent::contains(dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::VerticalExtent> > const&) const
+osgeo::proj::metadata::VerticalExtent::create(double, double, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::common::UnitOfMeasure> > const&)
+osgeo::proj::metadata::VerticalExtent::intersects(dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::VerticalExtent> > const&) const
+osgeo::proj::metadata::VerticalExtent::maximumValue() const
+osgeo::proj::metadata::VerticalExtent::minimumValue() const
+osgeo::proj::metadata::VerticalExtent::unit() const
+osgeo::proj::metadata::VerticalExtent::~VerticalExtent()
+osgeo::proj::operation::ConcatenatedOperation::~ConcatenatedOperation()
+osgeo::proj::operation::ConcatenatedOperation::createComputeMetadata(std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::CoordinateOperation> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::CoordinateOperation> > > > const&, bool)
+osgeo::proj::operation::ConcatenatedOperation::create(osgeo::proj::util::PropertyMap const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::CoordinateOperation> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::CoordinateOperation> > > > const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > > > const&)
+osgeo::proj::operation::ConcatenatedOperation::gridsNeeded(std::shared_ptr<osgeo::proj::io::DatabaseContext> const&) const
+osgeo::proj::operation::ConcatenatedOperation::inverse() const
+osgeo::proj::operation::ConcatenatedOperation::operations() const
+osgeo::proj::operation::Conversion::~Conversion()
+osgeo::proj::operation::Conversion::convertToOtherMethod(int) const
+osgeo::proj::operation::Conversion::createAlbersEqualArea(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createAmericanPolyconic(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createAxisOrderReversal(bool)
+osgeo::proj::operation::Conversion::createAzimuthalEquidistant(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createBonne(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createCassiniSoldner(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createChangeVerticalUnit(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Scale const&)
+osgeo::proj::operation::Conversion::createEckertIII(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createEckertII(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createEckertI(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createEckertIV(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createEckertVI(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createEckertV(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createEqualEarth(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createEquidistantConic(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createEquidistantCylindrical(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createEquidistantCylindricalSpherical(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createGall(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createGaussSchreiberTransverseMercator(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Scale const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createGeographicGeocentric(osgeo::proj::util::PropertyMap const&)
+osgeo::proj::operation::Conversion::createGeostationarySatelliteSweepX(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createGeostationarySatelliteSweepY(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createGnomonic(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createGoodeHomolosine(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createGuamProjection(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createHotineObliqueMercatorTwoPointNaturalOrigin(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Scale const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createHotineObliqueMercatorVariantA(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Scale const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createHotineObliqueMercatorVariantB(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Scale const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createInternationalMapWorldPolyconic(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createInterruptedGoodeHomolosine(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createKrovakNorthOriented(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Scale const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createKrovak(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Scale const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createLabordeObliqueMercator(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Scale const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createLambertAzimuthalEqualArea(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createLambertConicConformal_1SP(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Scale const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createLambertConicConformal_2SP_Belgium(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createLambertConicConformal_2SP_Michigan(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&, osgeo::proj::common::Scale const&)
+osgeo::proj::operation::Conversion::createLambertConicConformal_2SP(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createLambertCylindricalEqualArea(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createLambertCylindricalEqualAreaSpherical(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createMercatorVariantA(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Scale const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createMercatorVariantB(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createMillerCylindrical(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createMollweide(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createNewZealandMappingGrid(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createObliqueStereographic(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Scale const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createOrthographic(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::OperationMethod> > const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::GeneralParameterValue> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::GeneralParameterValue> > > > const&)
+osgeo::proj::operation::Conversion::create(osgeo::proj::util::PropertyMap const&, osgeo::proj::util::PropertyMap const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::OperationParameter> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::OperationParameter> > > > const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::ParameterValue> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::ParameterValue> > > > const&)
+osgeo::proj::operation::Conversion::createPolarStereographicVariantA(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Scale const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createPolarStereographicVariantB(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createPopularVisualisationPseudoMercator(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createQuadrilateralizedSphericalCube(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createRobinson(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createSinusoidal(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createSphericalCrossTrackHeight(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createStereographic(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Scale const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createTransverseMercator(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Scale const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createTransverseMercatorSouthOriented(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Scale const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createTunisiaMappingGrid(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createTwoPointEquidistant(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createUTM(osgeo::proj::util::PropertyMap const&, int, bool)
+osgeo::proj::operation::Conversion::createVanDerGrinten(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createWagnerIII(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createWagnerII(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createWagnerI(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createWagnerIV(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createWagnerVII(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createWagnerVI(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::createWagnerV(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
+osgeo::proj::operation::Conversion::identify() const
+osgeo::proj::operation::Conversion::inverse() const
+osgeo::proj::operation::Conversion::isUTM(int&, bool&) const
+osgeo::proj::operation::CoordinateOperationContext::~CoordinateOperationContext()
+osgeo::proj::operation::CoordinateOperationContext::create(std::shared_ptr<osgeo::proj::io::AuthorityFactory> const&, std::shared_ptr<osgeo::proj::metadata::Extent> const&, double)
+osgeo::proj::operation::CoordinateOperationContext::getAllowUseIntermediateCRS() const
+osgeo::proj::operation::CoordinateOperationContext::getAreaOfInterest() const
+osgeo::proj::operation::CoordinateOperationContext::getAuthorityFactory() const
+osgeo::proj::operation::CoordinateOperationContext::getDesiredAccuracy() const
+osgeo::proj::operation::CoordinateOperationContext::getDiscardSuperseded() const
+osgeo::proj::operation::CoordinateOperationContext::getGridAvailabilityUse() const
+osgeo::proj::operation::CoordinateOperationContext::getIntermediateCRS() const
+osgeo::proj::operation::CoordinateOperationContext::getSourceAndTargetCRSExtentUse() const
+osgeo::proj::operation::CoordinateOperationContext::getSpatialCriterion() const
+osgeo::proj::operation::CoordinateOperationContext::getUsePROJAlternativeGridNames() const
+osgeo::proj::operation::CoordinateOperationContext::setAllowUseIntermediateCRS(osgeo::proj::operation::CoordinateOperationContext::IntermediateCRSUse)
+osgeo::proj::operation::CoordinateOperationContext::setAreaOfInterest(std::shared_ptr<osgeo::proj::metadata::Extent> const&)
+osgeo::proj::operation::CoordinateOperationContext::setDesiredAccuracy(double)
+osgeo::proj::operation::CoordinateOperationContext::setDiscardSuperseded(bool)
+osgeo::proj::operation::CoordinateOperationContext::setGridAvailabilityUse(osgeo::proj::operation::CoordinateOperationContext::GridAvailabilityUse)
+osgeo::proj::operation::CoordinateOperationContext::setIntermediateCRS(std::vector<std::pair<std::string, std::string>, std::allocator<std::pair<std::string, std::string> > > const&)
+osgeo::proj::operation::CoordinateOperationContext::setSourceAndTargetCRSExtentUse(osgeo::proj::operation::CoordinateOperationContext::SourceTargetCRSExtentUse)
+osgeo::proj::operation::CoordinateOperationContext::setSpatialCriterion(osgeo::proj::operation::CoordinateOperationContext::SpatialCriterion)
+osgeo::proj::operation::CoordinateOperationContext::setUsePROJAlternativeGridNames(bool)
+osgeo::proj::operation::CoordinateOperation::~CoordinateOperation()
+osgeo::proj::operation::CoordinateOperation::coordinateOperationAccuracies() const
+osgeo::proj::operation::CoordinateOperationFactory::~CoordinateOperationFactory()
+osgeo::proj::operation::CoordinateOperationFactory::create()
+osgeo::proj::operation::CoordinateOperationFactory::createOperation(dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&) const
+osgeo::proj::operation::CoordinateOperationFactory::createOperations(dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::unique_ptr<osgeo::proj::operation::CoordinateOperationContext, std::default_delete<osgeo::proj::operation::CoordinateOperationContext> > > const&) const
+osgeo::proj::operation::CoordinateOperation::hasBallparkTransformation() const
+osgeo::proj::operation::CoordinateOperation::interpolationCRS() const
+osgeo::proj::operation::CoordinateOperation::isPROJInstantiable(std::shared_ptr<osgeo::proj::io::DatabaseContext> const&) const
+osgeo::proj::operation::CoordinateOperation::normalizeForVisualization() const
+osgeo::proj::operation::CoordinateOperation::operationVersion() const
+osgeo::proj::operation::CoordinateOperation::shallowClone() const
+osgeo::proj::operation::CoordinateOperation::sourceCoordinateEpoch() const
+osgeo::proj::operation::CoordinateOperation::sourceCRS() const
+osgeo::proj::operation::CoordinateOperation::targetCoordinateEpoch() const
+osgeo::proj::operation::CoordinateOperation::targetCRS() const
+osgeo::proj::operation::GeneralOperationParameter::~GeneralOperationParameter()
+osgeo::proj::operation::GeneralParameterValue::~GeneralParameterValue()
+osgeo::proj::operation::GridDescription::~GridDescription()
+osgeo::proj::operation::GridDescription::GridDescription()
+osgeo::proj::operation::GridDescription::GridDescription(osgeo::proj::operation::GridDescription&&)
+osgeo::proj::operation::GridDescription::GridDescription(osgeo::proj::operation::GridDescription const&)
+osgeo::proj::operation::InvalidOperation::~InvalidOperation()
+osgeo::proj::operation::InvalidOperation::InvalidOperation(osgeo::proj::operation::InvalidOperation const&)
+osgeo::proj::operation::OperationMethod::create(osgeo::proj::util::PropertyMap const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::GeneralOperationParameter> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::GeneralOperationParameter> > > > const&)
+osgeo::proj::operation::OperationMethod::create(osgeo::proj::util::PropertyMap const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::OperationParameter> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::OperationParameter> > > > const&)
+osgeo::proj::operation::OperationMethod::formulaCitation() const
+osgeo::proj::operation::OperationMethod::formula() const
+osgeo::proj::operation::OperationMethod::getEPSGCode() const
+osgeo::proj::operation::OperationMethod::~OperationMethod()
+osgeo::proj::operation::OperationMethod::parameters() const
+osgeo::proj::operation::OperationParameter::create(osgeo::proj::util::PropertyMap const&)
+osgeo::proj::operation::OperationParameter::getEPSGCode() const
+osgeo::proj::operation::OperationParameter::getNameForEPSGCode(int)
+osgeo::proj::operation::OperationParameter::~OperationParameter()
+osgeo::proj::operation::OperationParameterValue::create(dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::OperationParameter> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::ParameterValue> > const&)
+osgeo::proj::operation::OperationParameterValue::~OperationParameterValue()
+osgeo::proj::operation::OperationParameterValue::parameter() const
+osgeo::proj::operation::OperationParameterValue::parameterValue() const
+osgeo::proj::operation::ParameterValue::booleanValue() const
+osgeo::proj::operation::ParameterValue::create(bool)
+osgeo::proj::operation::ParameterValue::create(char const*)
+osgeo::proj::operation::ParameterValue::createFilename(std::string const&)
+osgeo::proj::operation::ParameterValue::create(int)
+osgeo::proj::operation::ParameterValue::create(osgeo::proj::common::Measure const&)
+osgeo::proj::operation::ParameterValue::create(std::string const&)
+osgeo::proj::operation::ParameterValue::integerValue() const
+osgeo::proj::operation::ParameterValue::~ParameterValue()
+osgeo::proj::operation::ParameterValue::stringValue() const
+osgeo::proj::operation::ParameterValue::type() const
+osgeo::proj::operation::ParameterValue::value() const
+osgeo::proj::operation::ParameterValue::valueFile() const
+osgeo::proj::operation::PointMotionOperation::~PointMotionOperation()
+osgeo::proj::operation::SingleOperation::createPROJBased(osgeo::proj::util::PropertyMap const&, std::string const&, std::shared_ptr<osgeo::proj::crs::CRS> const&, std::shared_ptr<osgeo::proj::crs::CRS> const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > > > const&)
+osgeo::proj::operation::SingleOperation::gridsNeeded(std::shared_ptr<osgeo::proj::io::DatabaseContext> const&) const
+osgeo::proj::operation::SingleOperation::method() const
+osgeo::proj::operation::SingleOperation::parameterValue(int) const
+osgeo::proj::operation::SingleOperation::parameterValueMeasure(int) const
+osgeo::proj::operation::SingleOperation::parameterValueMeasure(std::string const&, int) const
+osgeo::proj::operation::SingleOperation::parameterValueNumeric(int, osgeo::proj::common::UnitOfMeasure const&) const
+osgeo::proj::operation::SingleOperation::parameterValues() const
+osgeo::proj::operation::SingleOperation::parameterValue(std::string const&, int) const
+osgeo::proj::operation::SingleOperation::~SingleOperation()
+osgeo::proj::operation::SingleOperation::validateParameters() const
+osgeo::proj::operation::Transformation::createAbridgedMolodensky(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, double, double, double, double, double, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > > > const&)
+osgeo::proj::operation::Transformation::createChangeVerticalUnit(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, osgeo::proj::common::Scale const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > > > const&)
+osgeo::proj::operation::Transformation::createCoordinateFrameRotation(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, double, double, double, double, double, double, double, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > > > const&)
+osgeo::proj::operation::Transformation::createGeocentricTranslations(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, double, double, double, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > > > const&)
+osgeo::proj::operation::Transformation::createGeographic2DOffsets(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > > > const&)
+osgeo::proj::operation::Transformation::createGeographic2DWithHeightOffsets(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > > > const&)
+osgeo::proj::operation::Transformation::createGeographic3DOffsets(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > > > const&)
+osgeo::proj::operation::Transformation::createGravityRelatedHeightToGeographic3D(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, std::shared_ptr<osgeo::proj::crs::CRS> const&, std::string const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > > > const&)
+osgeo::proj::operation::Transformation::createLongitudeRotation(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, osgeo::proj::common::Angle const&)
+osgeo::proj::operation::Transformation::createMolodensky(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, double, double, double, double, double, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > > > const&)
+osgeo::proj::operation::Transformation::createNTv2(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, std::string const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > > > const&)
+osgeo::proj::operation::Transformation::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, std::shared_ptr<osgeo::proj::crs::CRS> const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::OperationMethod> > const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::GeneralParameterValue> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::GeneralParameterValue> > > > const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > > > const&)
+osgeo::proj::operation::Transformation::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, std::shared_ptr<osgeo::proj::crs::CRS> const&, osgeo::proj::util::PropertyMap const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::OperationParameter> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::OperationParameter> > > > const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::ParameterValue> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::ParameterValue> > > > const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > > > const&)
+osgeo::proj::operation::Transformation::createPositionVector(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, double, double, double, double, double, double, double, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > > > const&)
+osgeo::proj::operation::Transformation::createTimeDependentCoordinateFrameRotation(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > > > const&)
+osgeo::proj::operation::Transformation::createTimeDependentPositionVector(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > > > const&)
+osgeo::proj::operation::Transformation::createTOWGS84(dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, std::vector<double, std::allocator<double> > const&)
+osgeo::proj::operation::Transformation::createVERTCON(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, std::string const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > > > const&)
+osgeo::proj::operation::Transformation::createVerticalOffset(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, osgeo::proj::common::Length const&, std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> >, std::allocator<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > > > const&)
+osgeo::proj::operation::Transformation::getTOWGS84Parameters() const
+osgeo::proj::operation::Transformation::inverse() const
+osgeo::proj::operation::Transformation::sourceCRS() const
+osgeo::proj::operation::Transformation::substitutePROJAlternativeGridNames(dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::io::DatabaseContext> >) const
+osgeo::proj::operation::Transformation::targetCRS() const
+osgeo::proj::operation::Transformation::~Transformation()
+osgeo::proj::util::ArrayOfBaseObject::add(osgeo::proj::util::BaseObjectNNPtr const&)
+osgeo::proj::util::ArrayOfBaseObject::~ArrayOfBaseObject()
+osgeo::proj::util::ArrayOfBaseObject::create()
+osgeo::proj::util::BaseObject::~BaseObject()
+osgeo::proj::util::BaseObjectNNPtr::~BaseObjectNNPtr()
+osgeo::proj::util::BoxedValue::~BoxedValue()
+osgeo::proj::util::BoxedValue::BoxedValue(bool)
+osgeo::proj::util::BoxedValue::BoxedValue(char const*)
+osgeo::proj::util::BoxedValue::BoxedValue(int)
+osgeo::proj::util::BoxedValue::BoxedValue(std::string const&)
+osgeo::proj::util::CodeList::~CodeList()
+osgeo::proj::util::Exception::~Exception()
+osgeo::proj::util::Exception::Exception(osgeo::proj::util::Exception const&)
+osgeo::proj::util::Exception::what() const
+osgeo::proj::util::GenericName::~GenericName()
+osgeo::proj::util::IComparable::~IComparable()
+osgeo::proj::util::IComparable::isEquivalentTo(osgeo::proj::util::IComparable const*, osgeo::proj::util::IComparable::Criterion) const
+osgeo::proj::util::InvalidValueTypeException::~InvalidValueTypeException()
+osgeo::proj::util::InvalidValueTypeException::InvalidValueTypeException(osgeo::proj::util::InvalidValueTypeException const&)
+osgeo::proj::util::LocalName::~LocalName()
+osgeo::proj::util::LocalName::scope() const
+osgeo::proj::util::LocalName::toFullyQualifiedName() const
+osgeo::proj::util::LocalName::toString() const
+osgeo::proj::util::NameFactory::createGenericName(std::shared_ptr<osgeo::proj::util::NameSpace> const&, std::vector<std::string, std::allocator<std::string> > const&)
+osgeo::proj::util::NameFactory::createLocalName(std::shared_ptr<osgeo::proj::util::NameSpace> const&, std::string const&)
+osgeo::proj::util::NameFactory::createNameSpace(dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::util::GenericName> > const&, osgeo::proj::util::PropertyMap const&)
+osgeo::proj::util::NameSpace::isGlobal() const
+osgeo::proj::util::NameSpace::name() const
+osgeo::proj::util::NameSpace::~NameSpace()
+osgeo::proj::util::PropertyMap::~PropertyMap()
+osgeo::proj::util::PropertyMap::PropertyMap()
+osgeo::proj::util::PropertyMap::PropertyMap(osgeo::proj::util::PropertyMap const&)
+osgeo::proj::util::PropertyMap::set(std::string const&, bool)
+osgeo::proj::util::PropertyMap::set(std::string const&, char const*)
+osgeo::proj::util::PropertyMap::set(std::string const&, int)
+osgeo::proj::util::PropertyMap::set(std::string const&, osgeo::proj::util::BaseObjectNNPtr const&)
+osgeo::proj::util::PropertyMap::set(std::string const&, std::string const&)
+osgeo::proj::util::PropertyMap::set(std::string const&, std::vector<std::string, std::allocator<std::string> > const&)
+osgeo::proj::util::UnsupportedOperationException::~UnsupportedOperationException()
+osgeo::proj::util::UnsupportedOperationException::UnsupportedOperationException(osgeo::proj::util::UnsupportedOperationException const&)
+pj_acquire_lock
+pj_add_type_crs_if_needed(std::string const&)
+pj_apply_gridshift
+pj_approx_2D_trans(PJconsts*, PJ_DIRECTION, PJ_COORD)
+pj_approx_3D_trans(PJconsts*, PJ_DIRECTION, PJ_COORD)
+pj_atof(char const*)
+pj_calloc
+pj_chomp(char*)
+pj_cleanup_lock
+pj_clear_initcache
+pj_compare_datums
+pj_ctx_alloc
+pj_ctx_fclose
+pj_ctx_fgets
+pj_ctx_fopen
+pj_ctx_fread
+pj_ctx_free
+pj_ctx_fseek
+pj_ctx_ftell
+pj_ctx_get_app_data
+pj_ctx_get_errno
+pj_ctx_get_fileapi
+pj_ctx_set_app_data
+pj_ctx_set_debug
+pj_ctx_set_errno
+pj_ctx_set_fileapi
+pj_ctx_set_logger
+pj_dalloc
+pj_datum_transform
+pj_dealloc
+pj_deallocate_grids
+pj_ell_set(projCtx_t*, ARG_list*, double*, double*)
+pj_find_file
+pj_free
+pj_fwd
+pj_fwd3d
+pj_geocentric_to_geodetic
+pj_geodetic_to_geocentric
+pj_get_ctx
+pj_get_datums_ref()
+pj_get_def
+pj_get_default_ctx
+pj_get_default_fileapi
+pj_get_errno_ref
+pj_get_release
+pj_get_spheroid_defn
+pj_has_inverse
+pj_init
+pj_init_ctx
+pj_init_plus
+pj_init_plus_ctx
+pj_inv
+pj_inv3d
+pj_is_geocent
+pj_is_latlong
+pj_isnan
+pj_latlong_from_proj
+pj_log
+pj_malloc
+pj_mkparam(char const*)
+pj_open_lib
+pj_param_exists(ARG_list*, char const*)
+pj_param(projCtx_t*, ARG_list*, char const*)
+pj_phi2(projCtx_t*, double, double)
+pj_pr_list
+pj_release_lock
+pj_set_ctx
+pj_set_finder
+pj_set_searchpath
+pj_shrink(char*)
+pj_stderr_logger
+pj_strdup
+pj_strerrno
+pj_transform
+proj_alter_id
+proj_alter_name
+proj_angular_input
+proj_angular_output
+proj_area_create
+proj_area_destroy
+proj_area_set_bbox
+proj_as_proj_string
+proj_assign_context
+proj_as_wkt
+proj_clone
+proj_context_create
+proj_context_delete_cpp_context(projCppContext*)
+proj_context_destroy
+proj_context_errno
+proj_context_get_database_metadata
+proj_context_get_database_path
+proj_context_get_use_proj4_init_rules
+proj_context_guess_wkt_dialect
+proj_context_set_database_path
+proj_context_set_file_finder
+proj_context_set(PJconsts*, projCtx_t*)
+proj_context_set_search_paths
+proj_context_use_proj4_init_rules
+proj_convert_conversion_to_other_method
+proj_coord
+proj_coord_error()
+proj_coordoperation_get_accuracy
+proj_coordoperation_get_grid_used
+proj_coordoperation_get_grid_used_count
+proj_coordoperation_get_method_info
+proj_coordoperation_get_param
+proj_coordoperation_get_param_count
+proj_coordoperation_get_param_index
+proj_coordoperation_get_towgs84_values
+proj_coordoperation_has_ballpark_transformation
+proj_coordoperation_is_instantiable
+proj_create
+proj_create_argv
+proj_create_cartesian_2D_cs
+proj_create_compound_crs
+proj_create_conversion
+proj_create_conversion_albers_equal_area
+proj_create_conversion_american_polyconic
+proj_create_conversion_azimuthal_equidistant
+proj_create_conversion_bonne
+proj_create_conversion_cassini_soldner
+proj_create_conversion_eckert_i
+proj_create_conversion_eckert_ii
+proj_create_conversion_eckert_iii
+proj_create_conversion_eckert_iv
+proj_create_conversion_eckert_v
+proj_create_conversion_eckert_vi
+proj_create_conversion_equal_earth
+proj_create_conversion_equidistant_conic
+proj_create_conversion_equidistant_cylindrical
+proj_create_conversion_equidistant_cylindrical_spherical
+proj_create_conversion_gall
+proj_create_conversion_gauss_schreiber_transverse_mercator
+proj_create_conversion_geostationary_satellite_sweep_x
+proj_create_conversion_geostationary_satellite_sweep_y
+proj_create_conversion_gnomonic
+proj_create_conversion_goode_homolosine
+proj_create_conversion_guam_projection
+proj_create_conversion_hotine_oblique_mercator_two_point_natural_origin
+proj_create_conversion_hotine_oblique_mercator_variant_a
+proj_create_conversion_hotine_oblique_mercator_variant_b
+proj_create_conversion_international_map_world_polyconic
+proj_create_conversion_interrupted_goode_homolosine
+proj_create_conversion_krovak
+proj_create_conversion_krovak_north_oriented
+proj_create_conversion_laborde_oblique_mercator
+proj_create_conversion_lambert_azimuthal_equal_area
+proj_create_conversion_lambert_conic_conformal_1sp
+proj_create_conversion_lambert_conic_conformal_2sp
+proj_create_conversion_lambert_conic_conformal_2sp_belgium
+proj_create_conversion_lambert_conic_conformal_2sp_michigan
+proj_create_conversion_lambert_cylindrical_equal_area
+proj_create_conversion_lambert_cylindrical_equal_area_spherical
+proj_create_conversion_mercator_variant_a
+proj_create_conversion_mercator_variant_b
+proj_create_conversion_miller_cylindrical
+proj_create_conversion_mollweide
+proj_create_conversion_new_zealand_mapping_grid
+proj_create_conversion_oblique_stereographic
+proj_create_conversion_orthographic
+proj_create_conversion_polar_stereographic_variant_a
+proj_create_conversion_polar_stereographic_variant_b
+proj_create_conversion_popular_visualisation_pseudo_mercator
+proj_create_conversion_quadrilateralized_spherical_cube
+proj_create_conversion_robinson
+proj_create_conversion_sinusoidal
+proj_create_conversion_spherical_cross_track_height
+proj_create_conversion_stereographic
+proj_create_conversion_transverse_mercator
+proj_create_conversion_transverse_mercator_south_oriented
+proj_create_conversion_tunisia_mapping_grid
+proj_create_conversion_two_point_equidistant
+proj_create_conversion_utm
+proj_create_conversion_van_der_grinten
+proj_create_conversion_wagner_i
+proj_create_conversion_wagner_ii
+proj_create_conversion_wagner_iii
+proj_create_conversion_wagner_iv
+proj_create_conversion_wagner_v
+proj_create_conversion_wagner_vi
+proj_create_conversion_wagner_vii
+proj_create_crs_to_crs
+proj_create_cs
+proj_create_ellipsoidal_2D_cs
+proj_create_engineering_crs
+proj_create_from_database
+proj_create_from_name
+proj_create_from_wkt
+proj_create_geocentric_crs
+proj_create_geocentric_crs_from_datum
+proj_create_geographic_crs
+proj_create_geographic_crs_from_datum
+proj_create_operation_factory_context
+proj_create_operations
+proj_create_projected_crs
+proj_create_transformation
+proj_create_vertical_crs
+proj_crs_alter_cs_angular_unit
+proj_crs_alter_cs_linear_unit
+proj_crs_alter_geodetic_crs
+proj_crs_alter_parameters_linear_unit
+proj_crs_create_bound_crs
+proj_crs_create_bound_crs_to_WGS84
+proj_crs_get_coordinate_system
+proj_crs_get_coordoperation
+proj_crs_get_datum
+proj_crs_get_geodetic_crs
+proj_crs_get_horizontal_datum
+proj_crs_get_sub_crs
+proj_crs_info_list_destroy
+proj_cs_get_axis_count
+proj_cs_get_axis_info
+proj_cs_get_type
+proj_destroy
+proj_dmstor
+proj_ellipsoid_get_parameters
+proj_errno
+proj_errno_reset
+proj_errno_restore
+proj_errno_set
+proj_errno_string
+proj_factors
+proj_geod
+proj_get_area_of_use
+proj_get_authorities_from_database
+proj_get_codes_from_database
+proj_get_crs_info_list_from_database
+proj_get_crs_list_parameters_create
+proj_get_crs_list_parameters_destroy
+proj_get_ellipsoid
+proj_get_id_auth_name
+proj_get_id_code
+proj_get_name
+proj_get_non_deprecated
+proj_get_prime_meridian
+proj_get_source_crs
+proj_get_target_crs
+proj_get_type
+proj_grid_info
+proj_identify
+proj_info
+proj_init_info
+proj_int_list_destroy
+proj_is_crs
+proj_is_deprecated
+proj_is_equivalent_to
+proj_list_angular_units
+proj_list_destroy
+proj_list_ellps
+proj_list_get
+proj_list_get_count
+proj_list_operations
+proj_list_prime_meridians
+proj_list_units
+proj_log_error(PJconsts*, char const*, ...)
+proj_log_func
+proj_log_level
+proj_lp_dist
+proj_lpz_dist
+proj_normalize_for_visualization
+proj_operation_factory_context_destroy
+proj_operation_factory_context_set_allowed_intermediate_crs
+proj_operation_factory_context_set_allow_use_intermediate_crs
+proj_operation_factory_context_set_area_of_interest
+proj_operation_factory_context_set_crs_extent_use
+proj_operation_factory_context_set_desired_accuracy
+proj_operation_factory_context_set_grid_availability_use
+proj_operation_factory_context_set_spatial_criterion
+proj_operation_factory_context_set_use_proj_alternative_grid_names
+proj_pj_info
+proj_prime_meridian_get_parameters
+proj_query_geodetic_crs_from_datum
+proj_roundtrip
+proj_rtodms
+proj_string_list_destroy
+proj_todeg
+proj_torad
+proj_trans
+proj_trans_array
+proj_trans_generic
+proj_uom_get_info_from_database
+proj_xy_dist
+proj_xyz_dist
+rtodms(char*, double, int, int)
+set_rtodms(int, int)
diff --git a/scripts/reformat_cpp.sh b/scripts/reformat_cpp.sh
index b3140ebe..cc10b53e 100755
--- a/scripts/reformat_cpp.sh
+++ b/scripts/reformat_cpp.sh
@@ -15,7 +15,7 @@ esac
TOPDIR="$SCRIPT_DIR/.."
-for i in "$TOPDIR"/include/proj/*.hpp "$TOPDIR"/include/proj/internal/*.hpp "$TOPDIR"/src/iso19111/*.cpp "$TOPDIR"/test/unit/*.cpp; do
+for i in "$TOPDIR"/include/proj/*.hpp "$TOPDIR"/include/proj/internal/*.hpp "$TOPDIR"/src/iso19111/*.cpp "$TOPDIR"/test/unit/*.cpp "$TOPDIR"/src/apps/projinfo.cpp; do
if ! echo "$i" | grep -q "lru_cache.hpp"; then
"$SCRIPT_DIR"/reformat.sh "$i";
fi