OSM export missing rivers and lakes

I’m writing my own export reader. Right now I read geojson files but I might switch back to the osm xml files since geojson are missing some features, even if they are easier to parse.

My problem though exists in both geojson and osm files. Most of the osm export I test are missing rivers or entire lakes. If I open any osm export with Maperitive, I clearly see that part of a river or lake are not exported.
I’ve read a post that (one of) the reason is the missing polygons that might not be on the export file for reasons. I did try two or three cities with the maximum export allowed by openstreetmap and I had always a problem.
I then also tried with a way bigger file that I was able to download from internet but it had the same issue.

Here I was able to get the OSM for the whole Zurich area. The lake and rivers are not exported. I can only see the ferry routes.

Is that big osm incomplete? How do I manage to render a river? Should I download the whole continent if the river starts outside a country? That still doesn’t explain why the whole lake of Zurich isn’t shown.
I tried with Berlin and had the same problem.

Any Idea? Thanks.

First, let me thank you for the quick replies.
Here are the two processes I’ve tried:

!. Partial map

Went to this page and exported this part of a river in Berlin. Before exporting to geojson and trying with my code, To do that I just clicked export and got the file.I’ve opened in Maperitive:

  • In Maperitive, menu File/New Source and select the export I’ve done from the openstreetmap link above.
  • I’ve then removed the usual osm online map that maperitive show by default (X on the Web Map at the botton right of the screen)
  • I will then see that the polygons are not complete:

This might be because it was a partial import.

  1. Bigger map.
    I’ve repeated the same thing but I took the osm from the page I’ve linked on the first post.(OSM XML gzipped). Here I can see the whole lake is missing.

I might be in front of two different problems here: For point 1, the map might be too small, For point 2. the map might be only partially exported.

I suppose the best test would be to find another way to export the osm for the whole lake of point 2 OR find some other way to export data. I thought I can install postgres and load the whole europe on it but I didn’t find a simple way to do that without getting stuck with styles and stuff.