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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@zwaarcontrast/ol-graticule-ngo

v0.2.0

Published

Norwegian Gauss-Krüger strips (norweg. Gitterstreifen) as printed on German WWII sheets of Norway, for ol-graticule.

Readme

@zwaarcontrast/ol-graticule-ngo

The Norwegian Gauss-Krüger strips ("norweg. Gitterstreifen") as German WWII 1:50 000 sheets of Norway print them, for @zwaarcontrast/ol-graticule.

All eight Norwegian strip grids over Norway, each clipped to its EPSG zone

Live demo: https://zwaarcontrast.nl/ol-graticule/ol-graticule-ngo/

Each strip is transverse Mercator with scale 1 on its central meridian, given east of the Oslo meridian (10°43'22.5" E of Greenwich), on the modified Bessel ellipsoid:

| Strip | CRS | Central meridian | Origin | False E / N | Checked on | | ----- | ---------------- | ---------------- | ------ | ------------------- | ---------------------------------------------------------------- | | I | NGO:STRIP_I | 4°40' W of Oslo | 58°N | 200 000 / 100 000 m | B 34-W Fana, B 38 W-O Stavanger | | II | NGO:STRIP_II | 2°20' W of Oslo | 58°N | 400 000 / 100 000 m | E 26 O Trollheimen, E 26 W Stangvik, E 27 W Aura, E 24 W Kvenvär | | III | NGO:STRIP_III | Oslo | 58°N | 600 000 / 100 000 m | H 38 Enningdal | | IV | NGO:STRIP_IV | 2°30' E of Oslo | 64°N | 100 000 / 100 000 m | Jot 18 Hattfjelldal | | V | NGO:STRIP_V | 6°10' E of Oslo | 66°N | 300 000 / 100 000 m | M 6 Torsken | | VI | NGO:STRIP_VI | 10°10' E of Oslo | 68°N | 500 000 / 100 000 m | T 7 Kautokeino | | VII | NGO:STRIP_VII | 14°10' E of Oslo | 68°N | 700 000 / 100 000 m | X 4 Laksfjordvidda | | VIII | NGO:STRIP_VIII | 18°20' E of Oslo | 68°N | 900 000 / 100 000 m | Y 3 Vestertana |

Each sheet's margin names its strip and central meridian. The origins and false co-ordinates are fitted to the grid printed against the graticule; every measured corner matches to within 25 m. The sheets name no ellipsoid or datum; the shift to WGS84 is the NGO 1948 seven-parameter one.

From the EPSG registry: the Oslo meridian (EPSG:8913), the Bessel Modified ellipsoid (EPSG:7005), every central meridian (NGO zones, EPSG:27391-27398), the strip boundaries (extents 1741-1748) and the WGS84 shift (EPSG:1654, 3 m). EPSG's zones put every origin at 58°N with no false co-ordinates; the origins and false co-ordinates here are the German sheets' own, and no published source for them has been found yet.

Usage

import { UniversalGraticule } from '@zwaarcontrast/ol-graticule';
import { createNGOStripGridSystem } from '@zwaarcontrast/ol-graticule-ngo';

map.addLayer(
  new UniversalGraticule({ gridSystem: createNGOStripGridSystem('V') }),
);

createNGOStripGridSystem(strip, options) takes the ProjectedGridSystem options except crs, proj4Def and extent, which the strip fixes. NGO_GRIDS holds every strip keyed by CRS (crs, name, proj4, validityWgs84, createGridSystem()). NGO_STRIPS (strip parameters, proj4 strings and WGS84 validity bands) is also exported ol-free from @zwaarcontrast/ol-graticule-ngo/headless.

Each strip is clipped to a band between the EPSG zone boundaries (the midpoints of adjacent central meridians), over the latitudes of that zone's EPSG area of use (extents 1741-1748): strip V, for instance, runs from 66.15°N to 70.27°N. The sheets do not print strip boundaries, and a sheet near one carries its own strip past it.