Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What's wrong with the water layer? #9

Open
etresoft opened this issue Feb 13, 2022 · 3 comments
Open

What's wrong with the water layer? #9

etresoft opened this issue Feb 13, 2022 · 3 comments

Comments

@etresoft
Copy link

The readme says, "I still can't get the low level water layer to work right. Right now, I am using the water later from my example file 'osm_basemap.mbtiles' to fix this deficiency."

Could you elaborate on exactly what this problem is and how you fixed it?

I had been using the openmaptiles project. However, the latest update seems to have broken it. Your project now seems like the path of least resistance.

@acalcutt
Copy link
Owner

The last few days I've been testing "planetiler ( https://github.com/onthegomap/planetiler ) for generation of my OSM basemap. On top of being much faster, it does not have the water layer issue I have been having with this process.

The issue I was having was at high zoom levels, I think 11+, the water layers were missing. The diagram seems to indicate these layers come from the osm_water_polygon and osm_ocean_polygon tables, which I thought I was importing in load_water.sh, so I never figured out what I was missing to get these layers to show properly.

The way I worked around that was to make my own osm water/land/coastlines mbtiles using this ( https://github.com/acalcutt/wifidb-tileserver-gl/blob/master/osm_basemap/create_mbtiles.sh ) , then in my style I placed it over my water layers

      {
         "id":"water_fix",
         "type":"fill",
         "metadata":{
            "mapbox:group":"1444849382550.77"
         },
         "source":"osm_basemap",
         "source-layer":"water",
         "layout":{
            "visibility":"visible"
         },
         "paint":{
            "fill-color":"hsl(210, 67%, 85%)"
         }
      },
      {
         "id":"water-pattern_fix",
         "type":"fill",
         "metadata":{
            "mapbox:group":"1444849382550.77"
         },
         "source":"osm_basemap",
         "source-layer":"water",
         "layout":{
            "visibility":"visible"
         },
         "paint":{
            "fill-translate":[
               0,
               2.5
            ],
            "fill-pattern":"wave"
         }
      },

@etresoft
Copy link
Author

I looked at Planetiler but I don't have a machine with that much RAM. I don't want to put anything on AWS until I know it will work and what configuration it will require. I've learned not to accept any claims about performance or functionality until I can reproduce them. I did get non-updating openmaptiles to work last year. I guess I'll just roll back to that.

@acalcutt
Copy link
Owner

This wdb-map-gen worked pretty well on my virtual server with 64GB memory, minus the water later issue. I would love to figure that out one of these days.

I will admit, the planetiler does seem to use a lot more ram. I am giving my virtual server 115GB memory and 200GB swap right now and using --nodemap-storage=mmap so it can use some of the swap instead of just ram. Though it might run with less adjusting Xmx and Xms.

using this right now for command

java -Xmx100g -Xms100g \
	-XX:OnOutOfMemoryError="kill -9 %p" \
	-jar planetiler-dist-0.3-SNAPSHOT-with-deps.jar \
	--download --osm-path=$EXPORT_DIR/$PBF \
	--download-threads=10 --download-chunk-size-mb=1000 \
	--fetch-wikidata --extra_layers=power,atv \
	--mbtiles=output.mbtiles \
	--nodemap-type=sparsearray --nodemap-storage=mmap --optimize_db=true

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants