Pakete, Repositories und App-Kategorien suchen

GitHub-Repositoryfegyi001/wkt-parser-dart

wkt-parser-dart

Dart-Version von proj4js/wkt-parser

Projektcover von wkt-parser-dart
Sterne
1
Forks
1
Letzter Push (UTC)
25.03.2021
Projektstatus
Aktiv

Original-README

Englischer Projektschnappschuss. Aktuelle Inhalte auf GitHub.

WKT-PARSER-DART

Wkt-parser-dart is the Dart version of proj4js/wkt-parser to convert a WKT CRS string into a Map<String, dynamic> object.

Installing

Add wkt_parser to pubspec.yml (dependencies section), then run pub get to download the new dependencies.

dependencies:
  wkt_parser: any # or the latest version on Pub

Using

You can convert any OGC WKT / ESRI WKT definition string copied from epsg.io into a Map<String,dynamic> format which then can be further converted into JSON to be fully interoperable with any programming languages. This example uses the OGC WKT of EPSG:23700.

import 'package:wkt_parser/wkt_parser.dart' as wkt_parser;

void main() {
  // WKT CRS string
  var wktText =
      'PROJCS["HD72 / EOV",GEOGCS["HD72",DATUM["Hungarian_Datum_1972",SPHEROID["GRS 1967",6378160,298.247167427,AUTHORITY["EPSG","7036"]],TOWGS84[52.17,-71.82,-14.9,0,0,0,0],AUTHORITY["EPSG","6237"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4237"]],PROJECTION["Hotine_Oblique_Mercator_Azimuth_Center"],PARAMETER["latitude_of_center",47.14439372222222],PARAMETER["longitude_of_center",19.04857177777778],PARAMETER["azimuth",90],PARAMETER["rectified_grid_angle",90],PARAMETER["scale_factor",0.99993],PARAMETER["false_easting",650000],PARAMETER["false_northing",200000],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Y",EAST],AXIS["X",NORTH],AUTHORITY["EPSG","23700"]]';
  // Parsed object of type ProjWKT
  var output = wkt_parser.parseWKT(wktText);
  // This returns a JSON encoded string of the WKT
  print(output.toString());
}

The result should be (with JSON encode):

{
  "type": "PROJCS",
  "name": "HD72 / EOV",
  "GEOGCS": {
    "name": "HD72",
    "DATUM": {
      "name": "Hungarian_Datum_1972",
      "SPHEROID": {
        "name": "GRS 1967",
        "a": 6378160.0,
        "rf": 298.247167427,
        "AUTHORITY": {
          "EPSG": "7036"
        }
      },
      "TOWGS84": [52.17, -71.82, -14.9, 0.0, 0.0, 0.0, 0.0],
      "AUTHORITY": {
        "EPSG": "6237"
      }
    },
    "PRIMEM": {
      "name": "greenwich",
      "convert": 0.0,
      "AUTHORITY": {
        "EPSG": "8901"
      }
    },
    "UNIT": {
      "name": "degree",
      "convert": 0.0174532925199433,
      "AUTHORITY": {
        "EPSG": "9122"
      }
    },
    "AUTHORITY": {
      "EPSG": "4237"
    }
  },
  "PROJECTION": "Hotine_Oblique_Mercator_Azimuth_Center",
  "latitude_of_center": 47.14439372222222,
  "longitude_of_center": 19.04857177777778,
  "azimuth": 90.0,
  "rectified_grid_angle": 90.0,
  "scale_factor": 0.99993,
  "false_easting": 650000.0,
  "false_northing": 200000.0,
  "UNIT": {
    "name": "metre",
    "convert": 1.0,
    "AUTHORITY": {
      "EPSG": "9001"
    }
  },
  "AXIS": [
    ["Y", "EAST"],
    ["X", "NORTH"]
  ],
  "AUTHORITY": {
    "EPSG": "23700"
  },
  "projName": "Hotine_Oblique_Mercator_Azimuth_Center",
  "units": "meter",
  "to_meter": 1.0,
  "datumCode": "hungarian_datum_1972",
  "ellps": "GRS 1967",
  "a": 6378160.0,
  "rf": 298.247167427,
  "datum_params": [52.17, -71.82, -14.9, 0.0, 0.0, 0.0, 0.0],
  "k0": 0.99993,
  "lat0": 0.8228248943093227,
  "longc": 0.3324602953246919,
  "x0": 650000.0,
  "y0": 200000.0,
  "alpha": 1.5707963267948966,
  "srsCode": "HD72 / EOV"
}

Author

Wkt-parser-dart was ported from proj4js/wkt-parser by Gergely Padányi-Gulyás (@fegyi001) at Ulyssys Ltd, Budapest, Hungary.

Gergely Padányi-Gulyás GitHub avatar
GitHub-Autor

Gergely Padányi-Gulyás ↗

Software developer | Clean coder | Nvim enthusiast | Weekend woodworker | Goat owner

SprachenDart

Von diesem Repository veröffentlichte Pakete

Verwendete Abhängigkeiten

Abhängigkeiten 2 Einträge

  • pedanticEntwicklung^1.11.0
  • testEntwicklung^1.16.8

Wie wähle ich ein passendes Repository?

Nach Anwendungsfall filtern, Aktivität vergleichen und vor der Nutzung das Originalprojekt prüfen.

  1. Nach Name, Autor oder Beschreibung suchen und nach Thema eingrenzen.
  2. Sterne, Forks und letzte Pushes vergleichen. Sterne zeigen Interesse, garantieren aber keine Qualität.
  3. Vor der Nutzung README, Lizenz und Issues auf GitHub prüfen.

Quellen und Pflege

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗