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

@basemaps/cogify

v7.12.0

Published

CLI to retile imagery into a [Cloud Optimised Geotiffs (COG)](https://www.cogeo.org/) aligned to a [TileMatrix](https://www.ogc.org/standard/tms/)

Downloads

139

Readme

@basemaps/cogify

CLI to retile imagery into a Cloud Optimised Geotiffs (COG) aligned to a TileMatrix

Why ?

LINZ gets most of it's imagery delivered as tiles in NZTM2000 the imagery is tiled as rectangles against a tile grid such as the 1:5k or 1:1k.

These grids are not designed for use in XYZ tiles services in WebMercator/EPSG:3857, If the tiles were converted directly to WebMercator there would be significant overlap between multiple source imagery tiffs and a output WebMercator tile. This would cause large overheads for basemaps to render tiles as it would need to fetch data from all of the tiffs inside of the output tile.

NZTM Tile Index vs WebMercator Above is an example of a web mercator zoom 11 tile (Red outline) and the number 1:5k tiles required to render (Shaded black) it

This package contains the logic to process input imagery into a output Tile Matrix to create optimised COGs for web mapping purposes.

The output COGS perfectly align to a output tile, greatly increasing XYZ tile service performance.

Process

To convert imagery to optimized COG, a output tile cover is created, this covers the source imagery in tiles from the output tile matrix.

cogify cover --tile-matrix WebMercatorQuad s3://linz-imagery/.../porirua_2020_0.1m --target ./output

The metadata for the optimized COGS is written into the output folder where the COG creation step can use GDAL to create the output tiff.

cogify create ./output/WebMercatorQuad/porirua_2020_0.1m/01GY8W69EJEMAKKXNHYMRF7DCY/14-16150-10245.json

The output COG can be validated to ensure it matches the tile exactly.

cogify validate  --tile-matrix WebMercatorQuad ./output/WebMercatorQuad/porirua_2020_0.1m/01GY8W69EJEMAKKXNHYMRF7DCY/14-16150-10245.tiff

Usage

Install cogify using npm

npm install -g @basemaps/cogify
$ cogify --help

- cover - Create a covering configuration from a collection from source imagery
- create - Create a COG from a covering configuration

Covering

Create a tile covering for WebMeractorQuad from source imagery located in s3 and outputs the resulting configuration files into ./output/:projection/:imageryName/:id/collection.json

cogify cover --tile-matrix WebMercatorQuad s3://linz-imagery/new-zealand/north-island_2023_0.5m/rgb/2193/ --target ./output

Create

Create the first COG from the list

cogify create ./output/3857/north-island_2023_0.5m/:id/14-16150-10245.json