Viewing version 0.9.1. Open the latest package page.

latlong2

0.9.1

Lightweight library for common latitude and longitude calculation

Download archive

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!

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

Basic usage

Distance

    final Distance distance = new Distance();

    // km = 423
    final int km = distance.as(LengthUnit.Kilometer,
     new LatLng(52.518611,13.408056),new LatLng(51.519475,7.46694444));

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

Offset

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

    final p1 = new 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 = new Path.from(zigzag);

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

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

Changelog

[0.9.1]

  • Remove debug assertions on latitude and longitude boundaries.

[0.9.0]

  • Change to const constructor for LatLng.
  • remove setLatitude() and setLongitude().
  • Bump minimum dart version to 3.0.

[0.8.2]

  • Sexagesimal fixes and utils
  • Upgrade dependencies

[0.8.1]

  • Add GeoJSON compliant toJson() and fromJson().

[0.8.0]

  • Use pedantic.
  • camelCase constants.
  • Add example.
  • Other lint fixes.

[0.7.0]

For previous releases, see https://pub.dev/packages/latlong/changelog.

Installing

export PUB_HOSTED_URL=https://pub.mirror.p-hatan.com
flutter pub add 'latlong2:0.9.1'
pubspec.yaml
name: latlong2
description: Lightweight library for common latitude and longitude calculation
homepage: https://github.com/jifalops/dart-latlong

version: 0.9.1

environment:
  sdk: ">=3.0.0 <4.0.0"

dependencies:
  intl: '>=0.15.0 <1.0.0'

dev_dependencies:
  test: any
  lints: any
  build_runner: any
  build_test: any
  build_web_compilers: any

Version history

VersionPublishedArchiveSHA-256
0.7.0On demandDownload261884d7…969b60
0.8.0On demandDownload4766bcc8…9a0b0e
0.8.1On demandDownload408993a0…9154ec
0.8.2On demandDownload08ef7282…407ea0
0.9.0On demandDownload18712164…b0811b
0.9.1Cached · Upstream SHA-256 matchedDownload98227922…3cc8fe
0.10.0On demandDownloadbfd458a3…fa49a4
0.10.1On demandDownload84b776b1…91f8dc
1.0.0-dev.0On demandDownloada5a707d3…531897
1.0.0-dev.1On demandDownloadf12f6b9d…94a953
1.0.0-dev.2On demandDownloada898e346…b0e11e
1.0.0-dev.3On demandDownload92892584…63bef1

Dependencies

intl "\u003e=0.15.0 \u003c1.0.0"