JOSM preset for trees

Hi,
since some time I’ve the plan to capture trees in OSM.
The problem for me was the huge effort to arrange the tags.
So I prepared a preset for JOSM and Vespucci (until now only in DE) to make this easier.
https://github.com/Heiner-Sch/JOSM-preset-trees-Europe

In this preset are the trees with their botanic, EN, DE and FR names, organized in groups.
In the OSM data base is the botanic name, the leaf_cycle and the leaf_type written.

There are e.g. also menu topics for unspecified conifers or oaks, if it’s not possible to identify the tree in detail.

Now I’m interested in feedback.

Nice work!
I am not into trees except as a landcover and maybe a few iconic trees, but I know some of us are pretty fanatic, and I guess they will find your efforts very useful.

I like that you added Vespucci. It’s the only full OSM editor for mobile devices, so it deserves much more attention than it usually gets.

I even started mapping man made birds nests.
I never thought that I would sink so low, but now that I did it, I see its use.

If this import is not restricted to the Netherlands than it would be better to post this on the main forum.

But anyway,
Large imports of trees have been discussed before and there are some arguments against it:

  • It should be merged with trees that have been mapped already and that is almost impossible to do.
  • It should be maintainable. After five years the data set has become outdated and who is going to check every tree?
  • Trees are hard if not impossible to identify. This makes it difficult both to import and to maintain the data set.

I don’t think it’s about an import, but a preset to tag individual trees in josm or Vespucci.

+1 what Peter said. It’s obviously not for mass imports :wink:

Useful tool, if you like doing stuff with trees.

It’s not a large import.
It’s only a large JOSM preset, which should make live easier, if you add trees to OSM.

Thanks. I must have been confused by the word “capture”.

Is this limited to solitary trees or also suitable for landuse=forest?

I downloaded the preset and loaded into JOSM. Looks like it’s only applicable to a node.

Today it’s limited to solitary trees.
I see a use case for natural=tree_row.

To implement this, I have to copy the hole botanic part and replace ‘tree’ by ‘tree_row’, beside some other details.
It’s really something for one of the next updates.

But for forests? You need to make sure, that in the hole marked area grows only one species of trees?!

If a ‘forest’ really has one unique species of trees; I wouldn’t call this a forest but a plantation.

If a forest predominantly contains 80 - 90% of one species I would consider it unique. So landuse = forest would be a use casefor this plugin to tag production forests and in particular Dutch woodland

(there is no nature in the Netherlands. Only cultivated land with occasional high natural value)

I can agree with your argument, that there is not really natural forest in Dutch or in Germany.
Many forests are indeed plantations of e.g. spruces.

Then there is a third use case for this preset.
Knowing that I masked all other questions around tracking species in a forest.

But now I need to find a smart way to implement this.
If I do it like today, there is the full list of species three times in the preset: for trees, tree_rows and forests.
That’s not very smart!?

So, this is also something for one of the next updates.

May be, I don’t understand what you want.
But if you want to repeat something in a preset, you can put that piece of code in a chunk.
You call the chunk with reference

See for an example this piece of code

    <chunk id="VraagBlok">
       
       <!-- Vast gedeelte dat voor alle fietspaden gelijk is /> -->
       
	   <key key="highway" value="cycleway" /> 
       
       <optional>
       <text key="name" text="Name" nl.text="Naam"/>
       <text key="ref" text="Ref" nl.text="Ref nr."/>
       <combo key="layer" text="Layer" nl.text="Niveau" values="5,4,3,2,1,0,-1,-2,-3,-4,-5" default="" />
       
       <combo key="surface" text="Surface" nl.text="Wegoppervlak" values="paved,unpaved,asphalt,concrete,metal,wood,paving_stones,cobblestone,fine_gravel,gravel,pebblestone,compacted,grass_paver,grass,sand,ground" display_values="verhard,onverhard,asfalt,beton,metaal,hout,klinkers/tegels,kinderkopjes,half verhard,grind,veldkeien,aangestampt,graskeien,zand,grond" default="" />
 
       <combo key="smoothness" text="smoothness" nl.text="Toestand van de weg" values="excellent,good,intermediate,bad,very_bad" display_values="heel goed (Inline-Skates/Skateboard),goed (Racefietsen),middelmatig (Normale fietsen),slecht (Trekkingfiets),zeer slecht (Mountainbike)" default=""  />
       
	   <check key="oneway" text="One way" nl.text="Eenrichting" value_on="yes" value_off="" default="off" />	
	   
	   <check key="bridge" text="Bridge" nl.text="Brug" value_on="yes" value_off="" default="off" />	
	   
	   <check key="tunnel" text="Tunnel" nl.text="Tunnel" value_on="yes" value_off="" default="off" />	
	   
	   <check key="cutting" text="Cutting" nl.text="Ingraving" value_on="yes" value_off="" default="off" />	
	   
	   <check key="embankment" text="Embankment" nl.text="Verhoging" value_on="yes" value_off="" default="off" />	
	   
       <label text="Helling/Afdaling (- Waardes) gezien in de richting van de weg"/>
       <combo key="incline" text="Incline/Down (%)" nl.text="Helling/Afdaling" values="up,down,+10%,+20%,-10%,-20%" display_values="Helling,Afdaling,+10%,+20%,-10%,-20%" default=""  />
       
       <check key="lit" text="Lit" nl.text="Verlicht?" value_on="yes" value_off="" default="off"  /> 
       
       <text key="width" text="Width (meters)" nl.text="Breedte in meters" default=""  />
       
       <combo key="segregated" text="footpath and bicyclepath segregated?" nl.text="voet- en fietspad gescheiden?" values="no,yes" display_values="nee,ja" default="no" />

       <combo key="sidewalk" text="side walk" nl.text="trottoir langs fietspad" values="no,yes,right,left,both" display_values="geen,ja,rechts,links,beide kanten" default=""  />

       <space />
       
       <label text="Access" nl.text="Toegankelijk" />

       <check key="access:conditional" text="Sunrise-Sunset?" nl.text="Zon op - Zon onder" value_on="permissive @ (sunrise-sunset)" value_off="" default="off"  />

       <combo key="dog" text="dogs" nl.text="honden" values="yes,no,leashed" display_values="ja,nee,aangelijnd" default="" />

       <check key="agricultural" text="Agricultural?" nl.text="Landbouwverkeer" value_on="yes" value_off="" default="off" />
       
       <check key="horse" text="Horses not allowed?" nl.text="Paarden niet toegestaan?" value_on="no" value_off="" default="off" />

       <check key="forestry" text="Forestry?" nl.text="Bosbouwverkeer" value_on="yes" value_off="" default="off" />
	   		   	
       <check key="motorvehicle" text="Motorvehicle destination" nl.text="Motorvoertuigen bestemmingsverkeer?" value_on="destination" value_off="" default="off" />

	   </optional>
     </chunk>


	<group name="NL Cycleways" nl.name="NL Fietspaden" icon="http://www.dvdhoven.nl/JOSM/Pictures/NLFietspad2.png">
	
	<!--  Verplicht fietspad G11        /> -->
	
		<item name="Compulsory cycleway"  nl.name="Verplicht fietspad" icon="http://www.dvdhoven.nl/JOSM/Pictures/G11.png" type="way">
			<label icon="http://www.dvdhoven.nl/JOSM/Pictures/G11.png" text="Verplicht fietspad" />
	         <key key="traffic_sign" value="NL:G11" /> 

		     <key key="mofa" value="yes" />
		     <key key="moped" value="no" />
	<!--  vaste vragen voor alle fietspaden gelijk        /> -->
		     
		     <reference ref="VraagBlok"/>
		</item>           

I try to explain with an extract from the tree preset.

I have:

 <group name="Trees" icon="presets/landmark/trees.svg" en.name="Trees" de.name="Bäume" fr.name="arbres" >
      <group name="Coniferales" icon="presets/landmark/trees_conifer.svg" en.name="Pinales" de.name="Nadelbäume" fr.name="Pinales" >
         <group name="Pinus" en.name="Pines" de.name="Kiefern" fr.name="Pin" >

            <item name="Pinus" en.name="unspecified pine" de.name="unspezifizierte Kiefer" fr.name="Pin non spécifié" type="node" preset_name_label="true" >
               <space />
               <key key="natural" value="tree" />
               <key key="genus" value="Pinus" />
               <text key="species" text="Species" />
               <key key="leaf_cycle" value="evergreen" />
               <key key="leaf_type" value="needleleaved" />
               <reference ref="tree-denotation" />
               <reference ref="tree-optional-keys" />
            </item>

            <item name="Pinus sylvestris" en.name="Scots pine" de.name="Gemeine Kiefer" fr.name="Pin sylvestre" type="node" preset_name_label="true" >
               <space />
               <key key="natural" value="tree" />
               <key key="genus" value="Pinus" />
               <key key="species" value="Pinus sylvestris" />
               <key key="leaf_cycle" value="evergreen" />
               <key key="leaf_type" value="needleleaved" />
               <reference ref="tree-denotation" />
               <reference ref="tree-optional-keys" />
            </item>
            <item name="Pinus mugo" en.name="Bog pine" de.name="Bergkiefer" fr.name="Pin mugo" type="node" preset_name_label="true" >
               <space />
               <key key="natural" value="tree" />
               <key key="genus" value="Pinus" />
               <key key="species" value="Pinus mugo" />
               <key key="leaf_cycle" value="evergreen" />
               <key key="leaf_type" value="needleleaved" />
               <reference ref="tree-denotation" />
               <reference ref="tree-optional-keys" />
            </item>
  ...

And I want to add the tree_row.
So I need to copy this and replace ‘’ by ‘’ and change ‘type=“node”’
But all biologic parameters are two times in the preset now.

In the moment I don’t see how the chunk can help me here.
Or do I need to restructure the hole preset?

Sometimes the night helps…
I can make one botanic chunk per species and include this into the menu structure of tree and tree_row.
With this new strucure it’s also possible to add the forest.

Unfortunately in the moment it’s not forseen to add the species to forests.
Maybe it’s a good idea to discus the pros and cons before I implement this into the preset?
Where should this new thread be placed? It seems an international item.

The [tagging] mailing list is debating a proposal on the subject of landuse and landcover of forests, forest compartments and areas covered by trees. Nothing in there is about the type of trees, but landuse=forest might get replaced in favour of natural=wood, and landuse=forestry might get approved.

Areas come as polygons and multipolygon relations. I don’t know how to handle that in a preset, I’m afraid.

PS the forestry proposal is now in the voting stage. Tagging is descibed here: https://wiki.openstreetmap.org/wiki/Proposed_features/boundary%3Dforestry(_compartment)_relations#Tagging

You’ll find a new preset for JOSM on Github now also with the Tree Rows.
Until now I didn’t update the Vespucci preset.

I didn’t add the forest, because in the moment it’s not foreseen to add the species here.
Because I moved the botanic data into chunks, it’spossible to and this later.

Made a rework of the JOSM preset to make the nuts and chestnuts unique.

And there is now a repository for the Vespucci preset:
https://github.com/Heiner-Sch/Vespucci-preset-trees-Europe
Here you’ll find the preset with botanic names and translations in DE, EN and FR.

With the pot-file it’s easy to add more languages later.