Security News
ESLint is Now Language-Agnostic: Linting JSON, Markdown, and Beyond
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
reproject-geojson
Advanced tools
:warning: warning. Use with caution. In most cases, you don't want to do this. Technically, you can't reproject a GeoJSON, because the GeoJSON standard only accepts 1 projection (Latitude/Longitude on a WGS 1984 Datum).
Reproject GeoJSON
npm install reproject-geojson
import reprojectGeoJSON from "reproject-geojson";
const geojson = {
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [125.6, 10.1]
},
"properties": {
"name": "Dinagat Islands"
}
};
// reproject using EPSG Code
reprojectGeoJSON(geojson, { to: 3857 });
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [13981728.04363516, 1130195.3976388907]
},
"properties": {
"name": "Dinagat Islands"
}
};
// reproject using Proj4 String
reprojectGeoJSON(geojson, { to: "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 ..." });
// reproject using Well-Known Text
reprojectGeoJSON(geojson, { to: 'PROJCS["WGS 84 / Pseudo-Mercator",GEOGCS["WGS 84",DATUM["WGS_1984", ...' });
// reproject using ESRI Well-Known Text
reprojectGeoJSON(geojson, { to: 'PROJCS["WGS_1984_Web_Mercator_Auxiliary_Sphere",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984", ...' });
If you want the convenience of reproject-geojson without the overhead of the proj4-fully-loaded dependency, you can use the pluggable version of reprojectGeoJSON:
import reprojectGeoJSONPlugable from "reproject-geojson/pluggable.js";
const proj4 = require("proj4");
const reproject = proj4("EPSG:3857", "EPSG:4326").forward;
reprojectGeoJSONPlugable(geojson, { reproject });
If you want to densify your line segments or polygon edges before reprojection, pass in "densify" and this'll be passed to reproject-line.
// add up to 10 points to each line segment as needed
reprojectGeoJSON(geojson, { to: 32610, densify: 10 });
reprojectGeoJSONPlugable(geojson, { reproject, densify: 10 });
FAQs
Reproject GeoJSON. Works Offline.
The npm package reproject-geojson receives a total of 3,265 weekly downloads. As such, reproject-geojson popularity was classified as popular.
We found that reproject-geojson demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
Security News
Members Hub is conducting large-scale campaigns to artificially boost Discord server metrics, undermining community trust and platform integrity.
Security News
NIST has failed to meet its self-imposed deadline of clearing the NVD's backlog by the end of the fiscal year. Meanwhile, CVE's awaiting analysis have increased by 33% since June.