@map-colonies/node-osm-api
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

node-osm-api

Easy Node.js, TypeScript communication with OpenStreetMap api

import { Apiv6 } from '@map-colonies/node-osm-api';

const api = new Apiv6('https://www.openstreetmap.org', USER_NAME, PASSWORD);

Installation

$ npm install @map-colonies/node-osm-api

Usage

  • Right now we only support create/upload/close changesets

In Node.js TypeScript:

Performing Create changeset:

let changesetID: number;

async function createChangeset() {
  try {
    changesetID = await api.createChangeset(CREATE_CHANGESET_BODY_XML);
  } catch (e) {
    console.error(e);
  }
}

Possibble error types:

  • UnauthorizedError
  • BadXmlError

Performing Upload changeset:

let diffRes: string;

async function uploadChangeset() {
  try {
    // returns osm xml diff result as string
    diffRes = await api.uploadChangeset(CHANGESET_ID, OSC_XML);
  } catch (e) {
    console.error(e);
  }
}

Possibble error types:

  • UnauthorizedError
  • BadXmlError
  • ChangesetOrDiffElementsNotFoundError
  • ChangesetAlreadyClosedError
  • OwnerMismatchError
  • MismatchChangesetError

Performing Close changeset:

async function closeChangeset() {
  try {
    await api.closeChangeset(CHANGESET_ID);
  } catch (e) {
    console.error(e);
  }
}

Possibble error types:

  • UnauthorizedError
  • NotAllowedError
  • ChangesetNotFoundError
  • ChangesetAlreadyClosedError
  • OwnerMismatchError

JavaScript

const nodeOsmApi = require('node-osm-api');

const api = new nodeOsmApi.Apiv6('https://www.openstreetmap.org', USER_NAME, PASSWORD);

async function createChangeset() {
  try {
    changesetID = await api.createChangeset(CREATE_CHANGESET_BODY_XML);
  } catch (e) {
    console.error(e);
  }
}

Readme

Keywords

none

Package Sidebar

Install

npm i @map-colonies/node-osm-api

Weekly Downloads

1

Version

1.0.0

License

ISC

Unpacked Size

30.3 kB

Total Files

23

Last publish

Collaborators

  • glata95
  • tropface
  • rannyeli
  • alebinson
  • shimoncohen
  • konchashlomicl
  • shahar_s
  • schnitz
  • asaf.masa
  • syncush
  • mapcolonies