npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@flatfile/plugin-enrich-gpx

v0.2.0

Published

A Flatfile plugin for parsing GPX files and extracting relevant data

Downloads

145

Readme

@flatfile/plugin-enrich-gpx

A powerful Flatfile Listener plugin for parsing and analyzing GPX (GPS Exchange Format) files. This plugin extracts valuable information from GPX files, performs data processing, and provides statistical analysis.

Event Type: listener.on('commit:created')

Features

  • Parse GPX files containing waypoints, tracks, and routes
  • Convert GPX data to a tabular format
  • Calculate total distance and elevation gain
  • Remove duplicate points
  • Filter data by date range
  • Extract metadata such as name and description
  • Count waypoints, tracks, and routes

Installation

To install the plugin, run the following command:

npm install @flatfile/plugin-enrich-gpx

Example Usage

import { FlatfileListener } from "@flatfile/listener";
import { enrichGpx } from "@flatfile/plugin-enrich-gpx";

export default function (listener: FlatfileListener) {
  listener.use(enrichGpx({
    sheetSlug: 'gpx-data',
    gpxFileField: 'gpx_file',
    removeDuplicatesField: 'remove_duplicates',
    filterDatesField: 'filter_dates',
    startDateField: 'start_date',
    endDateField: 'end_date'
  }));
}

Configuration

The plugin accepts the following configuration options through record fields:

  • sheetSlug: (Required) The sheet to apply the GPX enrichment to as a string
  • gpxFileField: (Required) The field in the record that contains the GPX file content as a string
  • remove_duplicates: Set to "true" to remove duplicate points
  • filter_dates: Set to "true" to filter points by date range
  • start_date: The start date for filtering (when filter_dates is true)
  • end_date: The end date for filtering (when filter_dates is true)

Behavior

  1. The plugin parses the GPX file content provided in the gpx_file field.
  2. It extracts waypoints, tracks, and routes from the GPX data.
  3. The data is converted to a tabular format for easier processing.
  4. If remove_duplicates is set to "true", duplicate points are removed.
  5. If filter_dates is set to "true" and valid start and end dates are provided, the data is filtered by date range.
  6. The plugin calculates statistics such as total distance and elevation gain.
  7. Metadata and statistics are set on the record fields:
    • name: Name from GPX metadata
    • description: Description from GPX metadata
    • waypoint_count: Number of waypoints
    • track_count: Number of tracks
    • route_count: Number of routes
    • total_distance: Calculated total distance in kilometers
    • elevation_gain: Calculated elevation gain in meters
    • point_count: Total number of points after processing
    • tabular_data: JSON string of the processed tabular data

The plugin handles errors gracefully and adds appropriate error messages to the record if parsing fails or required data is missing.