Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev0.0.14

turf

Uma biblioteca de análise geoespacial semelhante ao turf.js que trabalha com GeoJSON, escrita em Dart puro.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
176 mil
Curtidas
51
Pontos Pub
150

Instalar pacote

flutter pub add turf

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Turf é uma biblioteca de análise geoespacial para Dart, inspirada no turf.js, projetada para trabalhar com dados GeoJSON. Oferece um conjunto de ferramentas para realizar operações espaciais, como cálculos de distância, buffer, interseção e muito mais, tudo em Dart puro. Ideal para aplicações que exigem cálculos geográficos em tempo real sem depender de código nativo da plataforma. A biblioteca suporta múltiplas plataformas, incluindo Android, iOS, Web, macOS, Windows e Linux, tornando-a altamente versátil para desenvolvimento multiplataforma. Sua natureza leve e compatibilidade com Flutter a tornam adequada para mapas e funcionalidades baseadas em localização.

Casos de uso

  • Processamento de dados geoespaciais
  • Análise baseada em mapas
  • Aplicações orientadas por localização
  • Cálculos espaciais em tempo real
  • Manipulação de GeoJSON

Principais recursos

  • Implementação pura em Dart
  • Suporte a GeoJSON
  • Compatibilidade multiplataforma
  • API semelhante ao Turf.js
  • Operações espaciais extensas

Indicado para

  • Desenvolvedores Flutter
  • Aplicações de GIS
  • Mapas móveis e web
  • Cientistas de dados trabalhando com dados de localização
  • Aplicações que precisam de lógica geoespacial offline

Considerações

  • Requer formato de entrada GeoJSON
  • Limitado a funções geoespaciais básicas
  • Nenhuma renderização de mapa embutida
  • O desempenho depende do tamanho dos dados
  • Não otimizado para conjuntos de dados muito grandes

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.


TurfDart Logo

A TurfJs-like geospatial analysis library written in pure Dart.


pub package dart unit tests dart publish License: MIT

–> Join our Dart / Flutter GIS Community on Discord <–

TurfDart is a Dart library for spatial analysis. It includes traditional spatial operations, helper functions for creating GeoJSON data, and data classification and statistics tools. You can use TurfDart in your Flutter applications on the web, mobile and desktop or in pure Dart applications running on the server.

As the foundation, we are using Geotypes, a lightweight dart library that provides a strong GeoJSON object model and fully RFC 7946 compliant serializers.

Most of the functionality is a translation from turf.js, the progress can be found here.

Get started

  • Get the Dart tools
  • Install the library with dart pub add turf
  • Import the library in your code and use it. For example:
import 'package:turf/helpers.dart';
import 'package:turf/src/line_segment.dart';

Feature<Polygon> poly = Feature<Polygon>(
  geometry: Polygon(coordinates: [
    [
      Position(0, 0),
      Position(2, 2),
      Position(0, 1),
      Position(0, 0),
    ],
    [
      Position(0, 0),
      Position(1, 1),
      Position(0, 1),
      Position(0, 0),
    ],
  ]),
);

void main() {
  var total = segmentReduce<int>(
    poly,
    (previousValue, currentSegment, initialValue, featureIndex,
        multiFeatureIndex, geometryIndex, segmentIndex) {
      if (previousValue != null) {
        previousValue++;
      }
      return previousValue;
    },
    0,
    combineNestedGeometries: false,
  );
  print(total);
  // total ==  6
}

GeoJSON Object Model

polymorphism

Notable Design Decisions
  • Nested GeometryCollections (as described in RFC 7946 section 3.1.8) are not supported which takes a slightly firmer stance than the "should avoid" language in the specification

Tests and Benchmarks

Tests are run with dart test and benchmarks can be run with dart run benchmark

Any new benchmarks must be named *_benchmark.dart and reside in the ./benchmark folder.

Categorias

Dependências

Lista de dependências 6 itens

Repositório-fonte

Projetos que usam este pacote