搜尋套件、儲存庫與 APP 分類

套件詳情v2.0.0

wkt_parser

Wkt-parser 是 proj4js/wkt-parser 的 Dart 版本。使用 wkt-parser,您可以將 WKT 投影字串(OGC、ESRI)解析為 proj4dart 可以使用的 JSON 格式。

AndroidiOSWebmacOSWindowsLinux
近 30 天下載
118萬
喜歡數
4
Pub 分數
135

安裝套件

flutter pub add wkt_parser

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

Wkt-parser 是一個 Dart 套件,可將 OGC 和 ESRI 標準中使用的 Well-Known Text (WKT) 投影字串轉換為與 proj4dart 相容的 JSON 格式。它能實現地理座標系統定義在 Flutter 應用中的無縫整合,支援 Android、iOS、Web、macOS、Windows 及 Linux 上的跨平台地理定位工作流程。該解析器透過將複雜的 WKT 語法轉換為結構化資料,簡化空間參考系統的處理。

適用情境

  • 解析 OGC WKT 字符串
  • 將 ESRI WKT 轉換為 JSON
  • 與 proj4dart 集成
  • 地理空間資料轉換
  • 跨平台地圖投影
  • 坐標系設定

主要特色

  • 支援 OGC 和 ESRI WKT 格式
  • 為 proj4dart 輸出 JSON
  • 跨平台相容性
  • 輕量且專注
  • 投影元資料的精確解析
  • WKT 轉換的簡單 API

適合對象

  • 使用 proj4dart 的開發人員
  • GIS 應用建構器
  • 基於地圖的 Flutter 應用
  • 空間數據整合商
  • 需要座標系轉換的項目

使用建議

  • 需要 proj4dart 才能實現完整功能
  • 僅限WKT解析
  • WKT語法無驗證
  • 不適用於渲染或可視化
  • 依賴外部 proj4dart 庫

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

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.

所屬分類

原始碼儲存庫

使用此套件的專案