geoengine 0.0.3 copy "geoengine: ^0.0.3" to clipboard
geoengine: ^0.0.3 copied to clipboard

GeoEngine is a potent Dart library for geospatial analysis and geomatic. It has precise distance calculations, coordinates conversions, geodetic processing, and GIS support in Dart.

GeoEngine #

GeoEngine Logo

pub package Null Safety likes points popularity sdk version

Last Commits Pull Requests Code size License

stars forks CI

GeoEngine is a comprehensive Dart library designed for geospatial and geomatic calculations. It provides a wide range of functionalities including distance calculations, coordinate conversions, geocoding, polygon operations, geodetic network analysis, and much more. Whether you are a GIS professional, a geomatics engineer, or a developer working on geospatial applications, GeoEngine is the ultimate toolkit for all your geospatial needs.

Features #

Core Calculations #

  • Distance Calculation: Calculate the distance between two geographic coordinates using various algorithms like Haversine, Vincenty, and Great Circle.
  • Bearing Calculation: Calculate the initial and final bearing between two points on the Earth's surface.
  • Geodesic Calculations: Find the shortest path between two points on the Earth's surface, taking into account the Earth's curvature.

Coordinate Systems #

  • Coordinate Conversion: Convert between different coordinate systems, such as latitude/longitude to UTM or MGRS.
  • Datum Transformations: Transform coordinates between different geodetic datums.

Geocoding #

  • Geocoding and Reverse Geocoding: Convert addresses into geographic coordinates and vice versa.

Polygon Operations #

  • Polygon Operations: Create, manipulate, and analyze polygons, including point-in-polygon checks, area calculations, and finding centroids.

Map Projections #

  • Map Projections: Support for various map projections and functions to transform coordinates between different projections.

Spatial Indexing #

  • Spatial Indexing: Utilize spatial indexing techniques like R-trees or Quad-trees for efficient querying of spatial data.

Geomatic Calculations #

  • Error Propagation: Estimate the uncertainty in spatial measurements.
  • Least Squares Adjustment: Perform least squares adjustment for surveying measurements.
  • Traverse Calculations: Perform closed and open traverse calculations.
  • Geodetic Networks: Design and analyze geodetic networks.
  • Land Parcel Management: Manage land parcels including subdivision and legal description generation.

Remote Sensing #

  • Remote Sensing Calculations: Perform calculations such as NDVI, radiometric correction, and image classification.

Digital Elevation Models #

  • DEM Analysis: Work with Digital Elevation Models, including slope, aspect, and watershed analysis.

Route Planning #

  • Route Planning: Algorithms for route planning and optimization.

GIS File Support #

  • GIS File Support: Read and write common GIS file formats like Shapefiles, GeoJSON, and KML.

Integration with Mapping Services #

  • Integration with Mapping Services: Integrate with popular mapping services like Google Maps, OpenStreetMap, and Bing Maps.

Getting Started #

Installation #

Add this to your package's pubspec.yaml file:

dependencies:
  geoengine: any

Usage #

Here's a simple example to calculate the distance between two geographic coordinates:

import 'package:geoengine/geoengine.dart';

void main() {
  var point1 = LatLng(37.7749, -122.4194);
  var point2 = LatLng(34.0522, -118.2437);

  var distance = GeoEngine.calculateDistance(point1, point2);

  print('Distance between points is: ${distance} meters');
}

Documentation #

For detailed documentation and examples for each feature, please visit the GeoEngine Documentation.

Contributing #

Contributions are welcome! If you find a bug or would like to request a new feature, please open an issue. For major changes, please open an issue first to discuss what you would like to change.

Testing #

Tests are located in the test directory. To run tests, execute dart test in the project root.

Features and bugs #

Please file feature requests and bugs at the issue tracker.

Author #

Charles Gameti: gameticharles@GitHub.

License #

GeoEngine is licensed under the Apache License - Version 2.0.

8
likes
0
pub points
45%
popularity

Publisher

unverified uploader

GeoEngine is a potent Dart library for geospatial analysis and geomatic. It has precise distance calculations, coordinates conversions, geodetic processing, and GIS support in Dart.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

advance_math, proj4dart

More

Packages that depend on geoengine