How to create new places with the help of OpenStreetMap?

Is there an easy way to export a map of OpenStreetMap and import it to iNat?

For example that one:

1 Like

Well the only 2 ways to create a new location on iNat are to either hand draw it, or import it as a kml.

That choice appears too complex to export, at least I got an error it represented too many nodes when I tried to export it.

You appear to be able to get that park here : https://www.protectedplanet.net/555577596

But I believe ProtectedPlanet only supports .shp exports, which means you need to know how to convert the .shp to a .kml using QGIS or similar GIS software.

Well, thank you for the link to protectedplanet.net, but i would like to know if someone has instructions on how to export the boundaries of a map of OpenStreetMap, convert it to KML and import it to iNat.

All suggestions are welcome.

Thank you!

There is an export button on the screen, but as I noted, this shape is apparently too complex to be supported by the tool.

The only other option I am aware of (for non-administrative boundaries) is to use the quickOSM plugin in QGIS. I think there is also a 2nd plugin called OSMInfo that can do the same thing.

quickOSM uses the Overpass API. you can also use http://overpass-turbo.eu/ to access the Overpass API without QGIS. i’ve only looked into OSM / Overpass for this particular discussion, but it looks like Overpass needs to return nodes to get coordinates. so you have to use some advanced scripting to get the nodes associated with the relation (or something like that). in this case, i think you can run this script:

<osm-script>
  <id-query ref="1773407" type="relation"/>
  <recurse into="x" type="node-relation"/>
  <union>
    <item/>
    <recurse type="down"/>
  </union>
  <print mode="meta"/>
</osm-script>

or

<osm-script>
  <union into="_">
    <id-query ref="1773407" type="relation"/>
    <recurse into="x" type="node-relation"/>
    <recurse type="node-way"/>
    <recurse type="way-relation"/>
  </union>
  <union into="_">
    <item set="_"/>
    <recurse type="relation-way"/>
  </union>
  <union into="_">
    <item set="_"/>
    <recurse into="x" type="relation-node"/>
    <recurse type="way-node"/>
  </union>
  <print mode="meta"/>
</osm-script>

then export the resulting polygon as kml.

here’s a language guide for the Overpass API: https://wiki.openstreetmap.org/wiki/Overpass_API/Language_Guide

here’s what it looks like when i run the query above from overpass turbo:

1 Like

Just for reference, Google Earth will import a .shp shapefile as a user place. One can then right-click on the layer, and Save Place As a .kml (or .kmz). I work mostly with shapefiles, and this is my go-to conversion method.

2 Likes

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.