パッケージ、リポジトリ、アプリカテゴリを検索

latlong2 のカバー
パッケージ詳細v0.10.1

latlong2

一般的な緯度経度計算のための軽量ライブラリ

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
133万
いいね数
403
Pub ポイント
150

パッケージをインストール

flutter pub add latlong2

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

latlong2 は、効率的かつ正確な緯度経度計算を目的とした軽量なDartライブラリです。距離計算、中点の決定、座標変換などの基本的な地理空間ユーティリティを提供しています。パフォーマンスとシンプルさを重視して構築されており、Android、iOS、Web、macOS、Windows、Linuxなど複数のプラットフォームをサポートしています。大規模なマッピングフレームワークのオーバーヘッドなしに、基本的な位置情報操作が必要なアプリケーションに最適です。クリーンなAPIにより、Flutterプロジェクトへの統合が容易です。

用途

  • 2つの座標間の距離を計算する
  • 場所間の中点を見つける
  • 座標形式の間での変換
  • ジオフェンシングと近接検出
  • マップベースのアプリ開発

主な機能

  • 軽量で高速
  • クロスプラットフォーム対応
  • シンプルで直感的な API
  • 一般的な地理空間操作をサポートしています
  • 外部の依存関係なし

適している対象

  • ジオロケーション計算が必要な Flutter アプリ
  • マップ機能を構築している開発者
  • 最小限の地理空間論理を必要とするプロジェクト
  • 位置ベースのサービスのプロトタイピング
  • 複数のプラットフォームをターゲットにするアプリ

注意事項

  • 完全なマップレンダリングを含まない
  • 基本的な地理空間計算に限定
  • 組み込みのジオコーディングまたはリバースジオコーディングなし
  • 複雑なGISタスクには適していません
  • 極などのエッジケースを手動で処理する必要があります

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

This is a fork of https://github.com/MikeMitterer/dart-latlong. The goal is to keep it up to date with Dart language changes.

LatLong provides a lightweight library for common latitude and longitude calculation.

This library supports both, the "Haversine" and the "Vincenty" algorithm.

"Haversine" is a bit faster but "Vincenty" is far more accurate!

LatLong

Catmull-Rom algorithm is used for smoothing out the path.

Basic usage

Distance
final Distance distance = Distance();

// km = 423
final double km = distance.as(LengthUnit.kilometer,
    LatLng(52.518611, 13.408056), LatLng(51.519475, 7.46694444));

// meter = 422591.551
final double meter = distance(
  LatLng(52.518611, 13.408056),
  LatLng(51.519475, 7.46694444),
);

Offset

final Distance distance = const Distance();
final num distanceInMeter = (earthRadius * pi / 4).round();

final p1 = LatLng(0.0, 0.0);
final p2 = distance.offset(p1, distanceInMeter, 180);

// LatLng(latitude:-45.219848, longitude:0.0)
print(p2.round());

// 45° 13' 11.45" S, 0° 0' 0.00" O
print(p2.toSexagesimal());

Path smoothing

// zigzag is a list of coordinates
final Path path = Path.from(zigzag);

// Result is below
final Path steps = path.equalize(8, smoothPath: true);

Smooth path

Features and bugs

Please file feature requests and bugs at the issue tracker.

License

Copyright 2015 Michael Mitterer (office@mikemitterer.at),
IT-Consulting and Development Limited, Austrian Branch

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
either express or implied. See the License for the specific language
governing permissions and limitations under the License.

If this plugin is helpful for you - please (Circle) me or star this repo here on GitHub

カテゴリー

依存関係

依存関係一覧 1 件

ソースリポジトリ

このパッケージを使用しているプロジェクト