mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-23 00:02:38 -05:00
60 lines
1.4 KiB
Python
60 lines
1.4 KiB
Python
|
|
import os
|
|
import sys
|
|
import sqlite3 as sqlite
|
|
|
|
|
|
def gen():
|
|
db = sqlite.connect(":memory:")
|
|
|
|
tablesfile = sys.argv[1]
|
|
datafiles = sys.argv[2]
|
|
|
|
with open(os.path.join("data", tablesfile)) as f:
|
|
data = f.read()
|
|
db.executescript(data)
|
|
|
|
with open(os.path.join("data", datafiles)) as f:
|
|
data = f.read()
|
|
data = data.replace("CHR", "Char")
|
|
db.executescript(data)
|
|
|
|
query = """
|
|
SELECT crs.coord_ref_sys_code,
|
|
area_west_bound_lon,
|
|
area_north_bound_lat,
|
|
area_east_bound_lon,
|
|
area_south_bound_lat
|
|
FROM epsg_coordinatereferencesystem crs
|
|
JOIN epsg_area area ON crs.area_of_use_code = area.area_code
|
|
"""
|
|
|
|
rows = db.execute(query)
|
|
srsdb = sqlite.connect("./resources/srs.db")
|
|
srsdb.execute("DELETE FROM tbl_bounds")
|
|
data = list(rows)
|
|
srsdb.executemany("""insert into tbl_bounds(srid, west_bound_lon,
|
|
north_bound_lat,
|
|
east_bound_lon,
|
|
south_bound_lat) values (?,?,?,?,?)""", data)
|
|
srsdb.commit()
|
|
|
|
|
|
def usage():
|
|
print("""
|
|
Generate the epsg_bounds.csv file to support viewing projection areas and bounds checks in QGIS.
|
|
|
|
Usage:
|
|
|
|
bounds_sync.py {table dump} {data dump}
|
|
|
|
bounds_sync.py EPSG_v9_1.mdb_Tables_PostgreSQL.sql EPSG_v9_1.mdb_Data_PostgreSQL.sql
|
|
""")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
if len(sys.argv) < 3:
|
|
usage()
|
|
else:
|
|
gen()
|