Skip to content
Koop provider for CSV
JavaScript
Branch: master
Clone or download
Pull request Compare This branch is 2 commits ahead of haoliangyu:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config
src
test
.editorconfig
.gitignore
.travis.yml
LICENSE
README.md
koop.json
package-lock.json
package.json

README.md

koop-provider-csv-ntkog

Additional Features

  • Better support for NodeJS streams
  • Improved Performance
  • proper handling of base filepath (from process.cwd()) for local files
  • proper parsing for geographic fields (csv-reader fails in some cases)
  • Refactored

Installation

with npm

npm install ntkog/koop-provider-csv

with Koop CLI for your Koop app

bash koop add koop-provider-csv-ntkog

Usage

Once installed, this provider enables routes like

/koop-provider-csv/:id/FeatureServer/*

where id is the unique ID for a source CSV defined in the configuration file.

For example, this route allows to query a CSV file with ID my-csv:

/koop-provider-csv/my-csv/FeatureServer/0/query

Configuration

This provider is configured with config and all configuration files are in the config directory.

A configuration looks like this:

{
  // configuration namespace for this provider plugin
  "koop-provider-csv": {
    // define one or multiple CSV sources
    "sources": {
      // a unique ID for each source, which is used in the query route
      "my-data": {
        // [required] a file path or a URL for the source CSV.
        // Path is relative to process.cwd() .
        "url": "path_to_csv",
        // [required] point coordinate columns
        "geometryColumns": {
          "longitude": "longitude_column_name",
          "latitude": "latitude_column_name"
        },
        // [optional] delimiter character
        "delimiter": ",",
        // [optional] ArcGIS service metadata
        "metadata": {
          "idField": "id_column_name"
        }
      }
    }
  }
}

See config/example.json for a full example.

Development

Run dev server

$ npm start

A dev server will be running at http://localhost:8080. By default, it will use with NODE_ENV=dev and the dev configuration config/dev.json should be created beforehand.

Run tests

$ npm test

License

MIT

You can’t perform that action at this time.