1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> 2<html lang="en"> 3 <head> 4 <meta content="text/html; charset=utf-8" http-equiv="content-type"> 5 <title> 6 OGC GeoPackage 7 </title> 8 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 9 <meta name="description" content="Official GeoPackage web site of the Open Geospatial Consortium"> 10 <meta name="author" content="Jeff Yutzler"><!--link rel="stylesheet/less" href="less/bootstrap.less" type="text/css" /--> 11 <!--link rel="stylesheet/less" href="less/responsive.less" type="text/css" /--> 12 <!--script src="js/less-1.3.3.min.js"></script--> 13 <!--append â#!watchâ to the browser URL, then refresh the page. --> 14 <link href="css/bootstrap.min.css" rel="stylesheet" type="text/css"> 15 <link href="css/style.css" rel="stylesheet" type="text/css"><!-- HTML5 shim, for IE6-8 support of HTML5 elements --> 16 <!--[if lt IE 9]>
16<script src="js/html5shiv.js"></script>
16 <![endif]--> 17 <!-- Fav and touch icons --> 18 <link rel="apple-touch-icon-precomposed" sizes="144x144" href="img/apple-touch-icon-144-precomposed.png"> 19 <link rel="apple-touch-icon-precomposed" sizes="114x114" href="img/apple-touch-icon-114-precomposed.png"> 20 <link rel="apple-touch-icon-precomposed" sizes="72x72" href="img/apple-touch-icon-72-precomposed.png"> 21 <link rel="apple-touch-icon-precomposed" href="img/apple-touch-icon-57-precomposed.png"> 22 <!-- <link rel="shortcut icon" href="img/favicon.png"> --> 23 <link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon"> 24 <meta http-equiv="content-type" content="text/html; charset=utf-8"> 25 <meta http-equiv="content-type" content="text/html; charset=utf-8"> 26 <meta http-equiv="content-type" content="text/html; charset=utf-8"> 27 <meta http-equiv="content-type" content="text/html; charset=utf-8"> 28 <meta http-equiv="content-type" content="text/html; charset=utf-8"> 29 </head> 30 <body> 31 <div class="container"> 32 <a href="https://github.com/opengis/geopackage"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub"></a> <!-- <a href="http://www.ogc.org"><img style="position: absolute; padding-left:10px; padding-top:10px; top: 0; left: 0; border: 0;" src="img/ogc_logo_2021-flat_hr_blue_wh-643x327.png" height="50px" alt="Visit the OGC"></a> --> 33 <!-- <img src="img/ogc_logo_2021-flat_hr_blue_wh-643x327.png" height="40px"> --> 34 <div class="row clearfix"> 35 <div class="col-md-2 column"> 36 <div class="margin-top-40"> 37 <a href="http://www.ogc.org"><img src="img/ogc_logo_2021-flat_hr_blue_wh-643x327.png" alt="Visit the OGC" height="50px"></a> 38 </div> 39 </div> 40 <div class="col-md-6 column"> 41 <div class="page-header"> 42 <h1> 43 GeoPackage <!-- <small>Subtext for header</small> --> 44 </h1> 45 </div> 46 </div> 47 <!-- <div class="col-md-2 column"> </div> --> 48 <div class="col-md-4 column"> 49 <ul class="nav nav-pills margin-top-20"> 50 <li class="active"> 51 <a href="spec140">Read the Adopted Version</a> 52 </li> 53 <li> 54 <a href="spec">Read the Current (Working) Version</a> 55 </li> 56 <li> 57 <a href="http://www.geopackage.org/implementations.html">Find Software</a> 58 </li> 59 </ul> 60 </div> 61 </div> 62 <div class="row clearfix"> 63 <div class="col-md-8 column"> 64 <div> 65 <div style="float: left;padding-right:1em;"> 66 <img class="img" alt="GeoPackage" src="img/geopkg.png" width="128px"> 67 </div> 68 <div> 69 <h3> 70 An Open Format for Geospatial Information 71 </h3> 72 <p class="lead"> 73 GeoPackage is an open, standards-based, platform-independent, portable, self-describing, compact format for transferring geospatial information. 74 </p> 75 </div> 76 </div> 77 <p> 78 The GeoPackage Encoding Standard describes a set of conventions for storing the following within an SQLite database: 79 </p> 80 <ul> 81 <li>vector features 82 </li> 83 <li>tile matrix sets of imagery and raster maps at various scales 84 </li> 85 <li>attributes (non-spatial data) 86 </li> 87 <li>extensions 88 </li> 89 </ul> 90 <p> 91 To be clear, a GeoPackage is the SQLite container and the GeoPackage Encoding Standard governs the rules and requirements of content stored in a GeoPackage container. The GeoPackage standard defines the schema for a GeoPackage, including table definitions, integrity assertions, format limitations, and content constraints. The required and supported content of a GeoPackage is entirely defined in the standard. These capabilities are built on a common base and the extension mechanism provides implementors a way to include additional functionality in their GeoPackages. 92 </p> 93 <p> 94 Since a GeoPackage is a database container, it supports direct use. This means that the data in a GeoPackage can be accessed and updated in a "native" storage format without intermediate format translations. GeoPackages that comply with the requirements in the standard and do not implement vendor-specific extensions are interoperable across all enterprise and personal computing environments. GeoPackages are particularly useful on mobile devices such as cell phones and tablets in communications environments where there is limited connectivity and bandwidth. 95 </p> 96 <h3 style="text-align:center"><a href="http://opengeospatial.github.io/e-learning/geopackage/text/basic-index.html">See the "e-Learning Course"</a></h3>
97 </div> 98 <div class="col-md-4 column"> 99 <div class="panel panel-default panel-info center"> 100 <div class="panel-heading"> 101 Highlighted News 102 </div> 103 <div class="panel-body"> 104 <b>OGC has <a href="https://docs.ogc.org/is/12-128r19/12-128r19.html">adopted GeoPackage 1.4.0</a>, a new version of the encoding standard.</b> 105 </div> 106 </div> 107 <div class="panel panel-default panel-warning center"> 108 <div class="panel-heading"> Official Standards Information </div> 109 <div class="panel-body"> 110 <p> For all official, normative information on the GeoPackage standard, including PDF format download, see the <a href="http://www.opengeospatial.org/standards/geopackage">OGC standards program GeoPackage page</a>. Links below provide access to HTML editions of the published OGC standards. </p> 111 <p> <a href="spec140/index.html">OGC GeoPackage 1.4.0</a> </p> 112 <p> <a href="spec131/index.html">OGC GeoPackage 1.3.1</a> </p> 113 <p> <a href="spec130/index.html">OGC GeoPackage 1.3.0</a> </p> 114 <p> <a href="spec121/index.html">OGC GeoPackage 1.2.1</a> </p> 115 <p> <a href="spec120/index.html">OGC GeoPackage 1.2.0</a> </p> 116 <p> <a href="spec110/index.html">OGC GeoPackage 1.1.0</a> </p> 117 <p> <a href="spec101/index.html">OGC GeoPackage 1.0.1</a> </p> </div> 118 </div> 119 <div class="panel panel-default panel-info center"> 120 <div class="panel-heading"> 121 Official Test Suite 122 </div> 123 <div class="panel-body"> 124 OGC has developed an <a href="http://cite.opengeospatial.org/teamengine/">executable test suite</a> for portions of the GeoPackage standard. For information on installing and running the test suite locally, see the <a href="https://github.com/opengeospatial/ets-gpkg10"> GitHub page</a>. 125 </div> 126 </div> 127 </div> 128 </div> 129 <hr> 130 <!-- Large Links --> 131 <div class="row clearfix"> 132 <div class="col-md-6 column bigLinks"> 133 <ul class="list-unstyled"> 134 <li> <a href="data.html">Find Data</a></li> 135 <li> <a href="implementations.html">Find Software</a></li> 136 <li> <a href="extensions.html">Extensions</a></li> 137 </ul> 138 </div> 139 <div class="col-md-6 column bigLinks"> 140 <ul class="list-unstyled"> 141 <li> <a href="guidance.html">Guidance</a></li> 142 <li> <a href="https://portal.ogc.org/?m=projects&a=view&project_id=414">Participate</a></li> 143 <li> <a href="#faq">FAQ</a></li> 144 </ul> 145 </div> 146 </div> 147 <hr> 148 <div class="row clearfix"> 149 <div class="col-md-2"></div> 150 <div class="col-md-8 column lead"> 151 <h2 class="text-center">Latest News</h2> 152 <ul> 153 <li><a href="http://www.opengeospatial.org/standards/geopackage">OGC adopts GeoPackage v1.3.1</a></li> 154 <li><a href="http://opengeospatial.github.io/e-learning/geopackage/text/basic-index.html">OGC releases a GeoPackage e-learning course</a></li> 155 <li><a href="http://docs.opengeospatial.org/is/18-000/18-000.html">OGC adopts "GeoPackage Related Tables Extension"</a></li> 156 <li><a href="http://www.opengeospatial.org/blog/2898">GeoPackage Routing: Executing Advanced Analysis Offline</a></li> 157 <li><a href="https://nvd.nist.gov/vuln/detail/CVE-2017-10989">NIST issues high severity vulnerability alert for some versions of SQLite</a></li> 158 <li><a href="http://geopackage.blogspot.com">SWG Chairman Jeff Yutzler starts blogging about GeoPackage</a></li> 159 </ul> 160 </div> 161 <div class="col-md-2"> 162 <!-- <a class="twitter-timeline" href="https://twitter.com/search?q=geopackage" data-widget-id="455786211341131776">Tweets about "GeoPackage"</a>
162<script type="text/javascript"> --> 163<!-- !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs"); --> 164 <!-- </script>
164 --> 165 </div> 166 </div> 167<!-- FAQ --> 168 <div class="row clearfix well"> 169 <div class="col-md-12 column text-center"> 170 <a name="faq" id="faq"></a> 171 <h2> 172 FAQ 173 </h2> 174 </div> 175 <div> 176 <p class="lead"> 177 <a class="btn btn-warning" role="button">Q</a> How did GeoPackage come about? 178 </p> 179 <p> 180 <a class="btn btn-info" role="button">A</a> It was designed and prototyped following a multi-year, open process of requirements testing and public input. 181 </p> 182 <br> 183 <p class="lead"> 184 <a class="btn btn-warning" role="button">Q</a> Can GeoPackage be extended? 185 </p> 186 <p> 187 <a class="btn btn-info" role="button">A</a> It is designed for extension. If you need more than the core GeoPackage feature set, you may submit an issue at <a href="http://github.com/opengeospatial/geopackage/issues"> the issue tracker</a>. In addition, you may join OGC's open process to standardize community-tested enhancements. For more information on the standards working group, go to <a href="http://www.opengeospatial.org/projects/groups/geopackageswg">http://www.opengeospatial.org/projects/groups/geopackageswg</a>. 188 </p> 189 <br> 190 <p class="lead"> 191 <a class="btn btn-warning" role="button">Q</a> Does GeoPackage replace Shapefile? 192 </p> 193 <p> 194 <a class="btn btn-info" role="button">A</a> It could but it doesnât have to. If all you need is simple exchange and display then GeoPackage may be overkill and something like GeoJSON may be more appropriate. If you are looking for database capabilities like random access and querying then GeoPackage is a platform-independent, vendor-independent choice. GeoPackage was carefully designed this way to facilitate widespread adoption and use of a single simple file format by both commercial and open-source software applications â on enterprise production platforms as well as mobile hand-held devices. 195 </p> 196 <br> 197 <p class="lead"> 198 <a class="btn btn-warning" role="button">Q</a> How do you define the spatial extents for your tile pyramid? 199 </p> 200 <p> 201 <a class="btn btn-info" role="button">A</a> There are two places for the extents. The first, in gpkg_contents, is designed to declare the extents of the <i>content</i>. This one will often be used by applications to define the default view of the tiles. (That means that if a GeoPackage indicates global extents in gpkg_contents, an app is likely to open up the whole world even though it is probably not what the user wants.) The second is in gpkg_tile_matrix_set. It defines the extents of the tile pyramid and is used to calculate the boundaries of each tile in the tile matrix set. 202 </p> 203 <br> 204 <p class="lead"> 205 <a class="btn btn-warning" role="button">Q</a> Can you mix JPG and PNG files within the same tile pyramid? 206 </p> 207 <p> 208 <a class="btn btn-info" role="button">A</a> Yes. This technique is particularly useful at edges or holes of your tile pyramid. While JPG tiles are preferred for imagery due to their increased compression, they do not support transparency. It is common to use PNG tiles in the relatively small number of tiles that do not have complete coverage so that you can use its transparency capability. 209 </p> 210 <br> 211 <p class="lead"> 212 <a class="btn btn-warning" role="button">Q</a> What security capabilities does GeoPackage support?
213 </p> 214 <p> 215 <a class="btn btn-info" role="button">A</a> As a file encoding, GeoPackage has no explicit security capabilities. However, some organizations have had success with the <a href="https://www.sqlite.org/see/doc/trunk/www/readme.wiki">SQLite Security Extension (SEE)</a>. 216 </p> 217 <br> 218 <p class="lead"> 219 <a class="btn btn-warning" role="button">Q</a> What is the intended content model for the metadata tables? 220 </p> 221 <p> 222 <a class="btn btn-info" role="button">A</a> We deliberately left this open-ended. We expect that communities of interest will produce profiles of GeoPackage that will specify the metadata (content and format) appropriate for their domain. 223 </p> 224 <br> 225 <p class="lead"> 226 <a class="btn btn-warning" role="button">Q</a> How are GeoPackage files shared between apps on iOS and Android devices? 227 </p> 228 <p> 229 <a class="btn btn-info" role="button">A</a> OGC does not yet have a methodology or best practice for sharing files between apps on mobile devices. On Android there are a couple of different options. With some of the newer updates, Android has some interesting security constraints. There could be a nice solution using the ContentProvider API. 230 </p> 231 <p> 232 On the iPhone, the security issues of the device cause a lot of problems for cross-app file sharing. Inherently, the device does not want applications to share data except in very narrowly defined ways. So data sharing between apps is not feasible at this time. 233 </p> 234 <br> 235 <p class="lead"> 236 <a class="btn btn-warning" role="button">Q</a> What is the relationship between GeoPackage and SpatiaLite? 237 </p> 238 <p> 239 <a class="btn btn-info" role="button">A</a> SpatiaLite was a major influence on the vector portions of GeoPackage but after extensive discussions, the working group chose to diverge from the SpatiaLite format in a few subtle ways. SpatiaLite now supports GeoPackage as of version 4.2.0. 240 </p> 241 <br> 242 <p class="lead"> 243 <a class="btn btn-warning" role="button">Q</a> What is the relationship between GeoPackage and MBTiles? 244 </p> 245 <p> 246 <a class="btn btn-info" role="button">A</a> MBTiles was a major influence on tile support in GeoPackage. In addition to being an international standard, GeoPackage differs from MBTiles in a few ways. 247 <ul> 248 <li>MBTiles only supports tiles in the Spherical Mercator projection. While this is the default in GeoPackage, other projections are supported through an extension.</li> 249 <li>MBTiles only supports a single tileset in a file. GeoPackage supports multiple tile sets in a single file, as well as feature data and metadata.</li> 250 <li>The two specifications use a different convention for tile numbering.</li> 251 </ul> 252 </p> 253 <br> 254 <p class="lead"> 255 <a class="btn btn-warning" role="button">Q</a> Why does GeoPackage use a different Well-Known Binary (WKB) encoding than PostGIS or SpatiaLite? 256 </p> 257 <p> 258 <a class="btn btn-info" role="button">A</a> The original OGC/ISO standard for WKB does not contain all of the information we wanted to store. In response, both PostGIS and SpatiaLite developed their own ad hoc extensions. After much deliberation, the Standards Working Group (SWG) agreed not to standardize on either of them. Instead, the SWG decided to add additional information to the header so that standard WKB parsers/marshalers could be used for the bulk of the geometry. 259 </p> 260 <br> 261 <p class="lead"> 262 <a class="btn btn-warning" role="button">Q</a> Is there a media type (formerly MIME type) for GeoPackage? 263 </p> 264 <p> 265 <a class="btn btn-info" role="button">A</a> There is now: <a href="https://www.iana.org/assignments/media-types/media-types.xhtml">application/geopackage+sqlite3</a>. 266 </p> 267 <br> 268 <p class="lead"> 269 <a class="btn btn-warning" role="button">Q</a> How do I model multiple geometries in the same feature? 270 </p> 271 <p> 272 <a class="btn btn-info" role="button">A</a> See the <a href="guidance/modeling.html">modeling guidelines</a> page. 273 </p> 274 <br> 275 <p class="lead"> 276 <a class="btn btn-warning" role="button">Q</a>
276 What is meant by a "native" GeoPackage library? 277 </p> 278 <p> 279 <a class="btn btn-info" role="button">A</a> A native GeoPackage library is a library that is native to the device's operating system. Note that individual vendors may create their own native GeoPackage libraries to support different use cases. A library written in Go to support server-side operations may have a completely different API than an Android or iOS library with an API designed to support a mobile application. The GeoPackage standard is agnostic to libraries and APIs, focusing instead on the contents of the GeoPackages that act as inputs or outputs. 280 </p> 281 <br> 282 <p class="lead"> 283 <a class="btn btn-warning" role="button">Q</a> What were the reasons to go with SQLite, when OGC has invested heavily in PostGIS? 284 </p> 285 <p> 286 <a class="btn btn-info" role="button">A</a> OGC has not invested in PostGIS, rather PostGIS implements OGC standards. PostGIS is just like any other RDBMS implementation of the Simple Features spec. The primary use case for designing GeoPackage was mobile device use, and that's why SQLite was chosen as a platform. In this case OGC as an organization is specifying a technology. This is unusual for OGC and the decision was not made lightly, but practicality and ease of implementation won out over standards purity. And we are happy to say we have yet to get any negative feedback on this decision -- probably because SQLite is considered more like a library than a standalone application. 287 </p> 288 </div> 289 </div> 290 </div> 291 <div class="footer"> 292 <div class="container"> 293 <div class="row clearfix"> 294 <div class="col-md-12 column text-center"> 295 <p> 296 <small>Copyright 2014-18 Open Geospatial Consortium. Some rights reserved.</small> 297 </p> 298 </div> 299 </div> 300 </div> 301 </div> 302 303 <!-- Bootstrap core JavaScript 304 ================================================== --> 305 <!-- Placed at the end of the document so the pages load faster --> 306
306<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
306 307
307<script src="../../dist/js/bootstrap.min.js"></script>
307 308
308<script type="text/javascript" src="js/scripts.js"></script>
308 309 310 </body> 311</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.