Commit 651723ce authored by Jeff Yutzler's avatar Jeff Yutzler
Browse files

synchronizing with VTP2 work

parent 3f2ee2e6
......@@ -17,7 +17,7 @@ This extension does not define an encoding for vector tiles.
To be usable, an additional extension such as <<MapboxVectorTilesExtensionClause>> or <<GeoJSONVectorTilesExtensionClause>> must also be used.
==============
This extension, like all GeoPackage extensions, is intended to be transparent and to not interfere with GeoPackage-compliant, but non-supporting, software packages.
This extension, like all GeoPackage extensions, is intended to be transparent and to not interfere with GeoPackage-compliant software packages that do not support the extension.
[float]
==== Extension Author
......@@ -27,7 +27,7 @@ Image Matters LLC, in collaboration with the participants of the OGC Vector Tile
[float]
==== Extension Name or Template
`im_vector_tiles` (If this extension is adopted by OGC, then `gpkg_vector_tiles` will be named as an alias.)
`im_vector_tiles` (If this extension is adopted by the OGC, then `gpkg_vector_tiles` will be named as an alias.)
[float]
==== Extension Type
......@@ -71,7 +71,7 @@ To use this extension, add the following rows to this table.
[NOTE]
==========
The values in the `definition` column SHOULD refer in some human-readable way to this extension specification. If the extension is adopted by OGC, it will gain the "gpkg_" prefix and get a different definition permalink.
The values in the `definition` column SHOULD refer in some human-readable way to this extension specification. If the extension is adopted by the OGC, it will gain the "gpkg_" prefix and get a different definition permalink.
==========
[float]
......@@ -86,7 +86,7 @@ Like any other content type, the Spatial Reference System (SRS) for the content
===== New Table Definitions
There are two additional required metadata tables, <<gpkgext_vt_layers>> and <<gpkgext_vt_fields>>, that mirror the https://github.com/mapbox/mbtiles-spec/blob/master/1.3/spec.md#vector_layers[vector_layers key from the JSON object from the metadata from MBTiles].
This allows client software to understand the feature schemas without having to open individual tiles.
As with other GeoPackage tables, this specification takes no position on how either of these tables are to be used by a client.
As with other GeoPackage tables, this extension takes no position on how either of these tables are to be used by a client.
[float]
[[gpkgext_vt_layers]]
......
......@@ -21,7 +21,7 @@ Image Matters LLC, in collaboration with the participants of OGC Testbed-15.
[float]
==== Extension Name or Template
`im_semantic_annotations` (will become `gpkg_semantic_annotations` if adopted by OGC)
`im_semantic_annotations` (will become `gpkg_semantic_annotations` if adopted by the OGC)
[float]
==== Extension Type
......@@ -58,7 +58,7 @@ The values in the `definition` column SHOULD refer in some human-readable way to
[float]
===== New Table Definitions
Following are definitions of the tables for this extension.
As with other GeoPackage tables, this specification takes no position on how either of these tables are to be used by a client.
As with other GeoPackage tables, this extension takes no position on how either of these tables are to be used by a client.
[[gpkgext_semantic_annotations]]
[float]
......@@ -86,5 +86,5 @@ When this extension is in use, add a table with this name and the following colu
To use semantic annotations, do the following:
. Add rows to `gpkgext_semantic_annotations` for every annotation you want to use.
.. Optionally, use the Schema Extension to establish an enumeration for the types and further describe those types. See http://www.geopackage.org/guidance/extensions/schema.html for more details.
.. Optionally, use the Schema Extension to establish an enumeration for the types and further describe those types. See http://www.geopackage.org/guidance/extensions/schema.html for more details.
. Add a row to `gpkgext_sa_reference` for every row of every table requiring the annotation. There can be a many-to-many mapping between business object rows and semantic annotations.
......@@ -20,7 +20,7 @@ Ecere, in collaboration with the Image Matters and other participants of OGC Vec
[float]
==== Extension Name or Template
`ecere_tms` (will become `gpkg_tms` if adopted by OGC)
`ecere_tms` (will become `gpkg_tms` if adopted by the OGC)
[float]
==== Extension Type
......@@ -28,7 +28,7 @@ New requirement dependent on the link:http://www.geopackage.org/spec121/#tiles[G
[float]
==== Applicability
This extension allows description and sharing of tile matrix sets,
This extension allows description and sharing of tile matrix sets,
including those with variable extents and row widths.
[float]
......@@ -41,7 +41,7 @@ read-write
===== `gpkg_extensions`
To use this extension, add the following rows to this table.
[[im_semantic_annotations_ger_table]]
[[ecere_tms_ger_table]]
.gpkg_extensions table row
[cols=",,,,",options="header",]
|====
......@@ -56,14 +56,14 @@ To use this extension, add the following rows to this table.
[NOTE]
==========
The values in the `definition` column SHOULD refer in some human-readable way to this extension specification.
The values in the `definition` column SHOULD refer in some human-readable way to this extension specification.
If the extension is adopted by OGC, it will gain the "gpkg_" prefix and get a different definition permalink.
==========
[float]
===== Table Definitions
Following are definitions of the tables for this extension.
As with other GeoPackage tables, this specification takes no position on how either of these tables are to be used by a client.
As with other GeoPackage tables, this extension takes no position on how either of these tables are to be used by a client.
[[gpkgext_tile_matrix_set]]
[float]
......@@ -88,7 +88,8 @@ When this extension is in use, add a table with this name and the following colu
* `matrix_width` and `matrix_height` describe the size of the tile matrix in tiles
* `tile_width` and `tile_height` describe the size of each tile in pixels
* `pixel_x_size` and `pixel_y_size` describe the size of each pixel
* `top` and `left` are the top left corner of the tile matrix, which can potentially be different than the tile matrix set
* `left` and `top` are the top left corner of the tile matrix, which can potentially be different than the tile matrix set
* `scale_denominator` is an optional double representing scale denominator with respect to a "standardized rendering pixel size" of 0.28 mm × 0.28 mm
[[gpkgext_tile_matrix_tables]]
[float]
......@@ -97,6 +98,7 @@ When this extension is in use, add a table with this name and the following colu
* `table_name` is a primary key and also a foreign key to `gpkg_contents.table_name`
* `tms_id` is a foreign key to `gpkgext_tile_matrix_set.id`
* `min_level` and `max_level` are the minimum and maximum zoom levels
[[gpkgext_tile_matrix_variable_widths]]
[float]
......@@ -104,21 +106,21 @@ When this extension is in use, add a table with this name and the following colu
When this extension is in use, add a table with this name and the following columns:
* `id` is a primary key
* `tm_id` is a foreign key to `gpkgext_tile_matrix_set.id`
* `tm_id` is a foreign key to `gpkgext_tile_matrix.id`
* `min_row` and `max_row` describe the minimum and maximum tile row index where the given coalescence coefficient applies
* `coalesce` is an integer coalescence coefficient
[float]
===== View Definitions
To maintain compatibility with clients that are not aware of this extension,
To maintain compatibility with clients that are not aware of this extension,
the following views are created.
[float]
====== `gpkg_tile_matrix_set`
When using this extension, replace this table with a view to maintain compatibility with GeoPackge clients that are not aware of this extension.
When using this extension, replace this table with a view to maintain compatibility with GeoPackge clients that are not aware of this extension.
1. Copy all rows of `gpkg_tile_matrix_set` into `gpkgext_tile_matrix_set`.
Where possible, use an existing or well-known tile matrix set.
Where possible, use an existing or well-known tile matrix set.
If the tile matrix set URI cannot be determined, use the table_name as the URI.
2. For each row copied, add a row to `gpkgext_tile_matrix_tables`.
3. `DROP gpkg_tile_matrix_set`.
......@@ -127,7 +129,7 @@ If the tile matrix set URI cannot be determined, use the table_name as the URI.
[WARNING]
====
When this view is in place, clients that are not aware of this extension will not be able to add new tile pyramids to the GeoPackage.
The development of triggers to turn this view into an updateable view (TBD)
The development of triggers to turn this view into an updateable view (TBD)
would eliminate this restriction.
====
......@@ -136,15 +138,15 @@ would eliminate this restriction.
When using this extension, replace this table with a view to maintain compatibility with GeoPackge clients that are not aware of this extension.
1. Copy all rows of `gpkg_tile_matrix` into `gpkgext_tile_matrix`.
Where possible, use an existing or well-known tile matrix set.
Where possible, use an existing or well-known tile matrix set.
If the tile matrix set URI cannot be determined, use the table_name as the URI.
3. `DROP gpkg_tile_matrix`.
4. `CREATE VIEW gpkg_tile_matrix AS SELECT a.table_name, b.zoom_level, b.matrix_width, b.matrix_height, b.tile_width, b.tile_height, b.pixel_x_size, b.pixel_y_size FROM gpkgext_tile_matrix_tables a, gpkgext_tile_matrix b WHERE a.tms_id = b.tms_id AND a.tms_id NOT IN SELECT DISTINCT tms_id FROM gpkgext_tile_matrix_variable_widths`.
2. `DROP gpkg_tile_matrix`.
3. `CREATE VIEW gpkg_tile_matrix AS SELECT a.table_name, b.zoom_level, b.matrix_width, b.matrix_height, b.tile_width, b.tile_height, b.pixel_x_size, b.pixel_y_size FROM gpkgext_tile_matrix_tables a, gpkgext_tile_matrix b WHERE a.tms_id = b.tms_id AND b.zoom_level >= a.min_level AND b.zoom_level <= a.max_level AND b.id NOT IN ( SELECT DISTINCT tm_id FROM gpkgext_tile_matrix_variable_widths);`.
[WARNING]
====
When this view is in place, clients that are not aware of this extension will not be able to add new tile pyramids to the GeoPackage.
The development of triggers to turn this view into an updateable view (TBD)
The development of triggers to turn this view into an updateable view (TBD)
would eliminate this restriction.
====
......
......@@ -13,7 +13,7 @@ The GeoPackage Mapbox Vector Tiles extension defines the rules and requirements
This extension is based on the https://www.mapbox.com/vector-tiles/specification/[Mapbox Vector Tiles (MVT) specification] https://github.com/mapbox/vector-tile-spec/tree/master/2.1[version 2.1].
Note that this format uses https://github.com/google/protobuf[Google Protocol Buffers] as the content encoding for each tile.
This extension, like all GeoPackage extensions, is intended to be transparent and to not interfere with GeoPackage-compliant, but non-supporting, software packages.
This extension, like all GeoPackage extensions, is intended to be transparent and to not interfere with GeoPackage-compliant software packages that do not support the extension.
[float]
==== Extension Author
......@@ -23,7 +23,7 @@ Image Matters LLC, in collaboration with the participants of the OGC Vector Tile
[float]
==== Extension Name or Template
`im_vector_tiles_mapbox` (If this extension is adopted by OGC, then `gpkg_mapbox_vector_tiles` will be named as an alias.)
`im_vector_tiles_mapbox` (If this extension is adopted by the OGC, then `gpkg_mapbox_vector_tiles` will be named as an alias.)
[float]
==== Extension Type
......@@ -64,5 +64,5 @@ To use this extension, add a row to this table for each tile pyramid user data t
[NOTE]
==========
The values in the `definition` column SHOULD refer in some human-readable way to this extension specification. If the extension is adopted by OGC, it will gain the "gpkg_" prefix and get a different definition permalink.
The values in the `definition` column SHOULD refer in some human-readable way to this extension specification. If the extension is adopted by the OGC, it will gain the "gpkg_" prefix and get a different definition permalink.
==========
......@@ -11,7 +11,7 @@ GeoJSON Vector Tiles
The GeoPackage Vector Tiles extension defines the rules and requirements for encoding vector tiles in a GeoPackage data store using https://tools.ietf.org/html/rfc7946[The GeoJSON Format].
This extension, like all GeoPackage extensions, is intended to be transparent and to not interfere with GeoPackage-compliant, but non-supporting, software packages.
This extension, like all GeoPackage extensions, is intended to be transparent and to not interfere with GeoPackage-compliant software packages that do not support the extension.
[float]
==== Extension Author
......@@ -21,7 +21,7 @@ Image Matters LLC, in collaboration with the participants of the OGC Vector Tile
[float]
==== Extension Name or Template
`im_vector_tiles_geojson` (If this extension is adopted by OGC, then `gpkg_geojson_vector_tiles` will be named as an alias.)
`im_vector_tiles_geojson` (If this extension is adopted by the OGC, then `gpkg_geojson_vector_tiles` will be named as an alias.)
[float]
==== Extension Type
......@@ -31,7 +31,7 @@ This extension defines an encoding for the <<VectorTilesExtensionClause>>.
[float]
==== Applicability
This extension defines a specific encoding for Vector Tiles in a GeoPackage.
This extension defines a specific encoding for GeoJSON Vector Tiles in a GeoPackage.
[float]
==== Scope
......@@ -61,5 +61,5 @@ To use this extension, add a row to this table for each tile pyramid user data t
[NOTE]
==========
The values in the `definition` column SHOULD refer in some human-readable way to this extension specification. If the extension is adopted by OGC, it will gain the "gpkg_" prefix and get a different definition permalink.
The values in the `definition` column SHOULD refer in some human-readable way to this extension specification. If the extension is adopted by the OGC, it will gain the "gpkg_" prefix and get a different definition permalink.
==========
......@@ -42,7 +42,7 @@ To use this extension, add the following rows to this table as described in http
[NOTE]
==========
The values in the `definition` column SHOULD refer in some human-readable way to this extension specification. If the extension is adopted by OGC, it will gain the "gpkg_" prefix and get a different definition permalink.
The values in the `definition` column SHOULD refer in some human-readable way to this extension specification. If the extension is adopted by the OGC, it will gain the "gpkg_" prefix and get a different definition permalink.
==========
[float]
......
......@@ -21,7 +21,7 @@ Image Matters LLC, in collaboration with the participants of OGC Testbed-15 and
[float]
==== Extension Name or Template
`im_portrayal` (will become `gpkg_portrayal` if adopted by OGC)
`im_portrayal` (will become `gpkg_portrayal` if adopted by the OGC)
[float]
==== Extension Type
......@@ -57,18 +57,18 @@ To use this extension, add the following rows to this table.
[NOTE]
==========
The values in the `definition` column SHOULD refer in some human-readable way to this extension specification. If the extension is adopted by OGC, it will gain the "gpkg_" prefix and get a different definition permalink.
The values in the `definition` column SHOULD refer in some human-readable way to this extension specification. If the extension is adopted by the OGC, it will gain the "gpkg_" prefix and get a different definition permalink.
==========
[float]
===== New Table Definitions
Following are definitions of the tables for this extension.
As with other GeoPackage tables, this specification takes no position on how either of these tables are to be used by a client.
As with other GeoPackage tables, this extension takes no position on how either of these tables are to be used by a client.
[[gpkgext_styles]]
[float]
====== `gpkgext_styles`
This table contains styles.
This table contains styles.
The columns of this table are:
* `id` is a primary key
......@@ -87,7 +87,7 @@ If no existing URI scheme is available, a URI can take the form of:
[[gpkgext_stylesheets]]
[float]
====== `gpkgext_stylesheets`
This table contains stylesheets.
This table contains stylesheets.
The columns of this table are:
* `id` is a primary key
......@@ -98,7 +98,7 @@ The columns of this table are:
[[gpkgext_symbols]]
[float]
===== `gpkgext_symbols`
This table contains symbols.
This table contains symbols.
The columns of this table are:
* `id` is a primary key
......@@ -117,7 +117,7 @@ If no existing URI scheme is available, a URI can take the form of:
[[gpkgext_symbol_images]]
[float]
====== `gpkgext_symbol_images`
This table contains images representing symbols, with optional support for sprites.
This table contains images representing symbols, with optional support for sprites.
The columns of this table are:
* `id` is a primary key
......@@ -129,10 +129,10 @@ The columns of this table are:
[[gpkgext_symbol_content]]
[float]
====== `gpkgext_symbol_content`
This table contains the content (data) for symbols.
This table contains the content (data) for symbols.
The columns of this table are:
* `id` is a primary key
* `format` is the media type (formerly MIME type, e.g., `image/svg+xml` or `image/png`) of the symbol
* `symbol` is the actual symbol BLOB
* `content` is the actual symbol BLOB
* `uri` is a resolvable name to uniquely reference a specific content entry, e.g., for use in Mapbox GL styles "sprite" property to reference a particular sprite sheet
[[styles_extension]]
=== GeoPackage Styles Extension
[WARNING]
====
This subsection is under discussion and may change radically.
====
[float]
==== Extension Title
Styles
[float]
==== Introduction
This extension provides a mechanism for styles in a GeoPackage.
[float]
==== Extension Author
Image Matters LLC, in collaboration with the participants of OGC Testbed-15, the OGC Vector Tiles Pilot, and the OWS Context SWG.
[float]
==== Extension Name or Template
`im_styles` (will become `gpkg_styles` if adopted by OGC)
[float]
==== Extension Type
New requirement dependent on http://www.geopackage.org/spec/#core[GeoPackage Core (Clause 1)].
[float]
==== Applicability
This extension allows for stylesheets to be stored in a GeoPackage.
How those stylesheets are used is outside of the scope of this specification, but they could be incorporated into OWS Context (see <<owscontext_extension>>.
[float]
==== Scope
read-write
[float]
==== Specification
[float]
===== `gpkg_extensions`
To use this extension, add the following rows to this table.
[[im_styles_ger_table]]
.gpkg_extensions Table Rows
[cols=",,,,",options="header",]
|========================================================================================================================================================================
| table_name | column_name | extension_name | definition | scope
|`gpkgext_stylesheets` |null |`im_styles` |_a reference to this file_ |`read-write`
|`gpkgext_symbols` |null |`im_styles` |_a reference to this file_ |`read-write`
|========================================================================================================================================================================
[NOTE]
==========
The values in the `definition` column SHOULD refer in some human-readable way to this extension specification. If the extension is adopted by OGC, it will gain the "gpkg_" prefix and get a different definition permalink.
==========
[[gpkgext_stylesheets]]
[float]
===== `gpkgext_stylesheets`
This table contains stylesheets.
The columns of this table are:
* `id` is a primary key
* `style` is text describing a specific implementation for a layer set
* `format` is the format of the stylesheet (e.g., `mbstyle` or `sld`)
* `stylesheet` is the actual stylesheet BLOB (since some stylesheets are binary)
* `title` is an optional text title
* `description` is an optional text description
* `uri` is an optional resolvable URI
[[gpkgext_symbols]]
[float]
===== `gpkgext_symbols`
This table contains symbol metadata, with optional support for sprites.
The columns of this table are:
* `id` is a primary key
* `symbol_id` is an string identifier such as a URI that can uniquely identify the symbol
* `title` is an optional text title
* `description` is an optional text description
* `uri` is an optional resolvable URI
* `x`, `y`, `offset_x`, and `offset_y` are optional offsets if the symbol is a sprite
(if these are NULL the entire symbol is used)
[[gpkgext_symbol_content]]
[float]
===== `gpkgext_symbol_content`
This table contains symbols, organized by style set and option.
The columns of this table are:
* `id` is a primary key
* `symbol_id` is an string identifier such as a URI that can uniquely identify the symbol
* `content_type` is the media type (formerly MIME type, e.g., `image/svg+xml` or `image/png`) of the symbol
* `symbol` is the actual symbol BLOB
[NOTE]
====
As with other GeoPackage tables, this specification takes no position on how either of these tables are to be used by a client.
====
See link:5-portrayal.adoc[Portrayal Extension]
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment