swiss-projection
Convert from LV03(EPSG:21781) and LV95(EPSG:2056) to WGS84(EPSG:4326)
Uses the algorithm from Approximate formulas for the transformation between Swiss projection coordinates and WGS84 (PDF).
Usage
Takes any GeoJSON FeatureCollection
, Feature
or Geometry
as well as coordinates
Examples
Feature
const bs_lv95 = "type":"Feature""properties":"KTNR":12"KTNAME":"Basel-Stadt""geometry":"type":"Polygon""coordinates":261824312700522616262126799026147111267840261460212678722613766126574826136711265408261174412632312611346126333826109251264472260877512659542608770126821226113141271031261398612698772615583127182926182431270052 const bs_wgs = // {"type":"Feature","properties":{"KTNR":12,"KTNAME":"Basel-Stadt"},"geometry":{"type":"Polygon","coordinates":[[[7.68112,47.580912],[7.654713,47.562419],[7.6341,47.561106],[7.632653,47.561397],[7.621479,47.542312],[7.620207,47.539256],[7.594557,47.519714],[7.589275,47.520683],[7.583714,47.530889],[7.555192,47.54425],[7.55517,47.564558],[7.589046,47.589872],[7.624531,47.579442],[7.645826,47.596962],[7.68112,47.580912]]]}}
Geometry
const polygon_lv95 = "type":"Polygon""coordinates":261824312700522616262126799026147111267840261460212678722613766126574826136711265408261174412632312611346126333826109251264472260877512659542608770126821226113141271031261398612698772615583127182926182431270052 const polygon_wgs = // {"type":"Polygon","coordinates":[[[7.68112,47.580912],[7.654713,47.562419],[7.6341,47.561106],[7.632653,47.561397],[7.621479,47.542312],[7.620207,47.539256],[7.594557,47.519714],[7.589275,47.520683],[7.583714,47.530889],[7.555192,47.54425],[7.55517,47.564558],[7.589046,47.589872],[7.624531,47.579442],[7.645826,47.596962],[7.68112,47.580912]]]}
coordinates
const coordinates_lv95 = 261824312700522616262126799026147111267840261460212678722613766126574826136711265408261174412632312611346126333826109251264472260877512659542608770126821226113141271031261398612698772615583127182926182431270052 const coordinates_wgs = // [[[7.68112,47.580912],[7.654713,47.562419],[7.6341,47.561106],[7.632653,47.561397],[7.621479,47.542312],[7.620207,47.539256],[7.594557,47.519714],[7.589275,47.520683],[7.583714,47.530889],[7.555192,47.54425],[7.55517,47.564558],[7.589046,47.589872],[7.624531,47.579442],[7.645826,47.596962],[7.68112,47.580912]]]
CLI usage
To be used with ndjson-cli
npm install swiss-projection -g
scripts:
lv03ToWgs
lv95ToWgs
wgsToLv03
wgsToLv95
Example
curl https://raw.githubusercontent.com/idris-maps/swiss-geodata-2018/master/data/cantons.json \
| ndjson-split 'd.features' \
| lv95ToWgs