1
0
Fork 0
mirror of https://github.com/Luzifer/gpxhydrant.git synced 2024-11-08 15:30:00 +00:00
gpxhydrant is a small helper utility to map and update hydrants in OpenStreetMap
Find a file
Knut Ahlers 33264df876
Allow specifying API endpoint to contact
in order to enable testing against different API deployments like
master, tomh, ...

Signed-off-by: Knut Ahlers <knut@ahlers.me>
2018-06-17 12:46:02 +02:00
gpx Fix: Followed linter advice 2016-05-07 15:17:14 +02:00
osm Allow specifying API endpoint to contact 2018-06-17 12:46:02 +02:00
vendor Vendor dependencies 2018-05-19 23:58:40 +02:00
.gitignore Add automated Github publishing 2018-05-19 23:57:05 +02:00
.repo-runner.yaml Add automated Github publishing 2018-05-19 23:57:05 +02:00
Gopkg.lock Vendor dependencies 2018-05-19 23:58:40 +02:00
Gopkg.toml Vendor dependencies 2018-05-19 23:58:40 +02:00
History.md prepare release v0.2.2 2018-05-20 00:02:57 +02:00
hydrant.go Fix some linter advices 2018-05-20 00:01:47 +02:00
LICENSE Fix LICENSE, replace buttons in README 2018-05-19 23:55:37 +02:00
main.go Allow specifying API endpoint to contact 2018-06-17 12:46:02 +02:00
Makefile Add automated Github publishing 2018-05-19 23:57:05 +02:00
README.md Fix LICENSE, replace buttons in README 2018-05-19 23:55:37 +02:00

Go Report Card

Luzifer / gpxhydrant

gpxhydrant is a small helper utility to map and update hydrants in OpenStreetMap for example used in the OpenFireMap and OSMHydrant projects. It takes a single GPX file containing waypoints (in my case exported using Garmin Basecamp from my etrex Legend) with special comments in the waypoints.

Those special comments are used to set meta information about the hydrant. For example the comment SU100 (seen below in the example GPX) would describe a hydrant placed in the sidewalk, beeing an underground hydrant with a pipe diameter of 100 milimeters.

If you use this tool please refer to the guidelines on the "Contribute map data" wiki page and ensure the data you've recorded is as accurate as possible.

Possible characters in the comments

  • For the position there are 4 letters: S = sidewalk, P = parking_lot, L = lane and G = green.
  • For the type there are also 4 letters: U = underground, O = pillar, W = wall and P = pond
  • The diameter can be ? for unknown or consist of 2 to 3 numeric characters (60, 80, 100, ...)

Execution

The most simple execution would be this one:

$ gpxhydrant -f myfile.gpx --osm-user="..." --osm-pass="..."

In that case all defaults are used and hydrants up to 5m distant to the location from your GPX file would match that one you're currently importing. In order to have those defaults make sense you need to ensure the recorded position of the hydrant is accurate with less than 5m derivation and you're standing exactly on the position of the hydrant.

If no hydrant is matched a new one will be created. You can test all the actions which would be taken by executing the command using the -n flag. In that case no data will be written to the OpenStreetMap API.

Example GPX

<?xml version="1.0"?>
<gpx xmlns="http://www.topografix.com/GPX/1/1" [...]>

  <metadata>
    <link href="http://www.garmin.com">
      <text>Garmin International</text>
    </link>
    <time>2016-05-06T22:45:37Z</time>
    <bounds maxlat="53.589635314419866" maxlon="9.738048668950796" minlat="53.570238249376416" minlon="9.699116991832852"/>
  </metadata>

  [...]

  <wpt lat="53.584518497809768" lon="9.727988876402378">
    <ele>23.4376220703125</ele>
    <time>2016-05-06T22:45:29Z</time>
    <name>027</name>
    <cmt>05-MAI-16 13:35:35
SU100</cmt>
    <sym>Flag, Blue</sym>
    <type>user</type>
    [...]
  </wpt>

  [...]

</gpx>