npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@ngageoint/leaflet-geopackage

v4.1.3

Published

Load a GeoPackage layer.

Downloads

1,522

Readme

leaflet-geopackage — Load GeoPackage layers in Leaflet

Load GeoPackage tile and feature layers in the browser without a server. When a layer is added to the map, the GeoPackage will be downloaded and then the specified layer will be loaded on the map.

Demo

Sample Page which loads a tile layer and a feature layer from the Natural Earth Rivers GeoPackage

Loading a feature layer:

Installation

NPM

$ npm install @ngageoint/leaflet-geopackage

Usage

// Load the Rivers GeoPackage and display the tile layer
L.geoPackageTileLayer({
    geoPackageUrl: 'http://ngageoint.github.io/GeoPackage/examples/rivers.gpkg',
    layerName: 'rivers_tiles'
}).addTo(map);

// Load the Rivers GeoPackage and display the feature layer
L.geoPackageFeatureLayer([], {
    geoPackageUrl: 'http://ngageoint.github.io/GeoPackage/examples/rivers.gpkg',
    layerName: 'rivers'
}).addTo(map);

GeoPackageTileLayer Options

GeoPackageTileLayer extends L.GridLayer and accepts all options for L.GridLayer in addition to the following:

| option | type | | |------------------|----------| -------------- | | geoPackageUrl | String | The URL to the GeoPackage | layerName | String | Name of the Tile Layer within the GeoPackage | noCache | Boolean | defaults to true set false to re-download the GeoPackage even if a previous layer has already downloaded it | sqlJsWasmLocateFile | Function | defaults to (filename) => 'https://unpkg.com/@ngageoint/[email protected]/dist/' + filename. This will grab the necessary file to run GeoPackage in the browser. If you need your application to remain offline, you can set this option to (filename) => '/public/' + filename and be sure to copy the sql-wasm.wasm into your public folder.

GeoPackageFeatureLayer Options

GeoPackageFeatureLayer extends L.GeoJSON and accepts all options for L.GeoJSON in addition to the following:

| option | type | | | ------------ | ------- | -------------- | | geoPackageUrl | String | The URL to the GeoPackage | layerName | String | Name of the Feature Layer within the GeoPackage | noCache | Boolean | defaults to true set false to re-download the GeoPackage even if a previous layer has already downloaded it | sqlJsWasmLocateFile | Function | defaults to (filename) => 'https://unpkg.com/@ngageoint/[email protected]/dist/' + filename. This will grab the necessary file to run GeoPackage in the browser. If you need your application to remain offline, you can set this option to (filename) => '/public/' + filename and be sure to copy the sql-wasm.wasm into your public folder.

Browser builds

npm install
npm run build-dev # development build, used by the debug page
npm run build-min # minified production build

GeoPackage JS Library

The GeoPackage Libraries were developed at the National Geospatial-Intelligence Agency (NGA) in collaboration with BIT Systems. The government has "unlimited rights" and is releasing this software to increase the impact of government investments by providing developers with the opportunity to take things in new directions. The software use, modification, and distribution rights are stipulated within the MIT license.

Pull Requests

If you'd like to contribute to this project, please make a pull request. We'll review the pull request and discuss the changes. All pull request contributions to this project will be released under the MIT license.

Software source code previously released under an open source license and then modified by NGA staff is considered a "joint work" (see 17 USC § 101); it is partially copyrighted, partially public domain, and as a whole is protected by the copyrights of the non-government authors and must be released according to the terms of the original open source license.

Changelog

4.1.0
  • Depends on @ngageoint/geopackage v4.1.0
2.0.5
  • Depend on @ngageoint/geopackage v1.1.4 for 4326 support
2.0.4
  • Depending on @ngageoint/geopackage v1.0.15 for web worker changes
2.0.3
  • Fixing README
2.0.2
  • First release to npm
  • Fix loading GeoPackage from the cache for tile layers
2.0.0
  • Breaking: Moved TileLayer from L.GridLayer.GeoPackage to L.GeoPackageTileLayer
  • Added L.GeoPackageFeatureLayer
1.0.0
  • Initial release.