FLUTTER ECOSYSTEM

ThexXTURBOXx/dart-latlong

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

dart-latlong のプロジェクト画像
Stars
49
Forks
27
最終プッシュ(UTC)
2026/05/31
プロジェクト状態
公開中
Nico Mexis GitHub avatar
GITHUB User

Nico Mexis ↗

Research assistant, mainly codes Java, C/C++ or Flutter. Started coding at the age of 12, but since Jan. 2016 has been coding most of the time while studying

University of Passau, Chair of Computer EngineeringPassau, Germany
言語Dart

技術トピック

このリポジトリが公開するパッケージ

使用している依存関係

依存関係一覧 6 件

元の README

以下は英語原文のスナップショットです。最新版は GitHub をご覧ください。

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