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

proj4-fully-loaded

v0.2.0

Published

Proj4JS Projector Fully Loaded with Projections

Downloads

30,839

Readme

proj4-fully-loaded

Proj4JS Projector Fully Loaded with Projections

install

npm install -S proj4-fully-loaded

motivation

One of the most popular questions I hear from users of georaster is how do I use a GeoTIFF that's in UTM or another projection not included in the default build of proj4. I've created this library, so users can use georaster and georaster-layer-for-leaflet without worrying about how to find and load the projection information for their data.

usage

Use it just like you would proj4, except you don't have to load your projection.

const proj4 = require("proj4-fully-loaded");

const pointIn4326 = [-85.3097, 35.0456];

// EPSG:32617 is automatically included in proj4-fully-loaded
const pointInUTM = proj4("EPSG:4326", "EPSG:32617").forward(pointIn4326);
// pointInUTM is [106823.88325412886, 3886600.558377227]

manual way

For your reference, here is the way to manually load the projection information without the proj4-fully-loaded library.

const proj4 = require("proj4");

// find and load projection specific definition
// taken from http://epsg.io/32617
proj4.defs("EPSG:32617", "+proj=utm +zone=17 +datum=WGS84 +units=m +no_defs");

const pointIn4326 = [-85.3097, 35.0456];

const pointInUTM = proj4("EPSG:4326", "EPSG:32617").forward(pointIn4326);
// pointInUTM is [106823.88325412886, 3886600.558377227]

what about file size?

One of the inevitable questions will be, "don't you increase your bundle size by loading all this projection information?" This is a very valid question. This library (as compared to vanilla proj4) should only increase your bundle size by about 175 Kilobytes. If you are creating a library or application that supports multiple projections, please consider using this library and evaluating if the trade off is worth it. If you are building something that supports just one specific projection, you probably want to save size and load projection information using the approach above.

support

If you have any questions or comments, please post an issue here or email me at [email protected]