Python library for easily retrieving table names, geometry columns, geometry tables, etc from a Spatialite database
Project description
Python library to do introspection in Sqlite/Spatialite databases.
Useful to get the table names, the column names of a specific table, the available geometry columns, etc, without needing to dig in SQL.
Installation
pip install spatialiteintrospect
Dependences
spatialite-introspect uses sqlite3, which should be included in any Python distribution since version 2.5.
Usage
Basic usage:
import spatialiteintrospect as spintrospect # open db connection db = spintrospect.connect("mydb.sqlite") # get all the tables in the db db.get_tables() # The result is an array of table names, e.g.: ['tbl1', 'tbl2', 'tbl3'] # finally, we need to close the database db.close()
Available methods:
# get all the tables in the db db.get_tables() # The result is an array of table names, e.g.: ['tbl1', 'tbl2', 'tbl3'] # get all the tables that contain at least one geometry field db.get_geometry_tables() # The result is an array of table names, e.g.: ['tbl1', 'tbl3'] # get the geometry columns of a specific table db.get_geometry_columns("tbl1") # The result is an array of column names, e.g.: ['the_point_geom', 'the_line_geom'] # get the geometry columns of a specific tables, plus some information about the table containing it db.get_geometry_columns_info("tbl1") # The result is an array of tuples such as # [ # ('tbl1', 'the_point_geom', 2, 4326, 1, ['fid'], ['fid', 'title', 'the_point_geom', 'the_line_geom']), # ('tbl1', 'the_line_geom', 2, 4326, 2, ['fid'], ['fid', 'title', 'the_point_geom', 'the_line_geom']) # ] # The contents of each tuple is: (table_name, geom_column, coord_dimension, srid, geometry_type, key_columns, fields) # It also works with no table filter: db.get_geometry_columns_info() # Result: # [ # ('tbl1', 'the_point_geom', 2, 4326, 1, ['fid'], ['fid', 'title', 'the_point_geom', 'the_line_geom']), # ('tbl1', 'the_line_geom', 2, 4326, 2, ['fid'], ['fid', 'title', 'the_point_geom', 'the_line_geom']), # ('tbl3', 'geom', 2, 4326, 1, ['fid'], ['fid', 'author', 'date', 'geom']) # ] # get the primary column(s) of a table db.get_pk_columns("tbl2") # The result is an array of the fields that compose the PK: ['country_cd', 'region_cd'] # get all the fields of a table db.get_fields("tbl1") # The result is an array of field names such as ['fid', 'title', 'the_point_geom', 'the_line_geom']
Note that the library expects Unicode strings on all the string params. Non unicode strings are also accepted if using ASCII-only characters.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
spatialiteintrospect-1.2.tar.gz
(452.5 kB
view hashes)
Built Distribution
Close
Hashes for spatialiteintrospect-1.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be4bcea3b00a1a1f73b74fefb317b52ef14f566ecb5799c7ec53e48549685216 |
|
MD5 | 2a84ef86a88422f8c2b3e20d03480ac3 |
|
BLAKE2b-256 | 78372d8d865eaae38305774e08c7b88f66e83b96f776acc546b5eb40cfe0df56 |