UNPKG

@loaders.gl/geopackage

Version:

GeoPackage data loaders

195 lines 6.47 kB
export interface GeometryBitFlags { littleEndian: boolean; envelopeLength: number; emptyGeometry: boolean; extendedGeometryType: boolean; } export type ProjectionMapping = { [srsId: number]: string; }; export type DataColumnsMapping = { [columnName: string]: string | null; }; export type SQLiteTypes = 'BOOLEAN' | 'TINYINT' | 'SMALLINT' | 'MEDIUMINT' | 'INT' | 'INTEGER' | 'FLOAT' | 'DOUBLE' | 'REAL' | 'TEXT' | 'BLOB' | 'DATE' | 'DATETIME'; /** Type names for geopackage geometries * * As defined in https://www.geopackage.org/spec130/index.html#table_column_data_types, geometries * can be stored with any geometry name listed here: * https://www.geopackage.org/spec130/index.html#geometry_types */ export type GeoPackageGeometryTypes = 'GEOMETRY' | 'POINT' | 'LINESTRING' | 'POLYGON' | 'MULTIPOINT' | 'MULTILINESTRING' | 'MULTIPOLYGON' | 'GEOMETRYCOLLECTION'; /** * https://www.geopackage.org/spec121/#spatial_ref_sys */ export interface SpatialRefSysRow { /** * Human readable name of this SRS */ srs_name: string; /** * Unique identifier for each Spatial Reference System within a GeoPackage */ srs_id: number; /** * Case-insensitive name of the defining organization e.g. EPSG or epsg */ organization: string; /** * Numeric ID of the Spatial Reference System assigned by the organization */ organization_coordsys_id: number; /** * Well-known Text [A32] Representation of the Spatial Reference System */ definition: string; /** * Human readable description of this SRS */ description?: string; } /** * https://www.geopackage.org/spec121/#_contents */ export interface ContentsRow { /** * The name of the actual content (e.g., tiles, features, or attributes) table */ table_name: string; /** * Type of data stored in the table */ data_type: 'features' | 'attributes' | 'tiles'; /** * A human-readable identifier (e.g. short name) for the table_name content */ identifier?: string; /** * A human-readable description for the table_name content */ description?: string; /** * timestamp of last change to content, in ISO 8601 format */ last_change: string; /** * Bounding box minimum easting or longitude for all content in table_name. If tiles, this is informational and the tile matrix set should be used for calculating tile coordinates. */ min_x?: number; /** * Bounding box minimum northing or latitude for all content in table_name. If tiles, this is informational and the tile matrix set should be used for calculating tile coordinates. */ min_y?: number; /** * Bounding box maximum easting or longitude for all content in table_name. If tiles, this is informational and the tile matrix set should be used for calculating tile coordinates. */ max_x?: number; /** * Bounding box maximum northing or latitude for all content in table_name. If tiles, this is informational and the tile matrix set should be used for calculating tile coordinates. */ max_y?: number; /** * Spatial Reference System ID: gpkg_spatial_ref_sys.srs_id; when data_type is features, SHALL also match gpkg_geometry_columns.srs_id; When data_type is tiles, SHALL also match gpkg_tile_matrix_set.srs_id */ srs_id?: number; } type GeometryType = 'GEOMETRY' | 'POINT' | 'LINESTRING' | 'POLYGON' | 'MULTIPOINT' | 'MULTILINESTRING' | 'MULTIPOLYGON' | 'GEOMETRYCOLLECTION' | 'CIRCULARSTRING' | 'COMPOUNDCURVE' | 'CURVEPOLYGON' | 'MULTICURVE' | 'MULTISURFACE' | 'CURVE' | 'SURFACE'; /** * https://www.geopackage.org/spec121/#_geometry_columns */ export interface GeometryColumnsRow { /** * Name of the table containing the geometry column */ table_name: string; /** * Name of a column in the feature table that is a Geometry Column */ column_name: string; /** * Name from Geometry Type Codes (Core) or Geometry Type Codes (Extension) in Geometry Types (Normative) */ geometry_type_name: GeometryType; /** * Spatial Reference System ID: gpkg_spatial_ref_sys.srs_id */ srs_id: number; /** * 0: z values prohibited; 1: z values mandatory; 2: z values optional */ z: 0 | 1 | 2; /** * 0: m values prohibited; 1: m values mandatory; 2: m values optional */ m: 0 | 1 | 2; } /** * https://www.geopackage.org/spec121/#extensions_table_definition */ export interface ExtensionsRow { /** * Name of the table that requires the extension. When NULL, the extension is required for the entire GeoPackage. SHALL NOT be NULL when the column_name is not NULL. */ table_name?: string; /** * Name of the column that requires the extension. When NULL, the extension is required for the entire table. */ column_name?: string; /** * The case sensitive name of the extension that is required, in the form <author>_<extension_name>. */ extension_name: string; /** * Permalink, URI, or reference to a document that defines the extension */ definition: string; /** * Indicates scope of extension effects on readers / writers: 'read-write' or 'write-only' in lowercase. */ scope: string; } /** * https://www.geopackage.org/spec121/#gpkg_data_columns_cols */ export interface DataColumnsRow { /** * Name of the tiles or feature table */ table_name: string; /** * Name of the table column */ column_name: string; /** * A human-readable identifier (e.g. short name) for the column_name content */ name?: string; /** * A human-readable formal title for the column_name content */ title?: string; /** * A human-readable description for the column_name content */ description?: string; /** * MIME [A21] type of column_name if BLOB type, or NULL for other types */ mime_type?: string; /** * Column value constraint name (lowercase) specified by reference to gpkg_data_column_constraints.constraint name */ constraint_name?: string; } /** * Type for PRAGMA table_info(tableName); */ export interface PragmaTableInfoRow { cid: number; name: string; type: SQLiteTypes; notnull: 0 | 1; dflt_value: any; pk: 0 | 1; } export {}; //# sourceMappingURL=types.d.ts.map