systemed / tilemaker

Make OpenStreetMap vector tiles without the stack
https://tilemaker.org/
Other
1.4k stars 226 forks source link

Windows install instructions #687

Open cvpalms opened 4 months ago

cvpalms commented 4 months ago

Just downloaded the repo and am trying to install on Windows. I looked in the install.md file but didn't see anything for Windows. Should I be looking in another location for those instructions?

Looking forward to trying this tool out.

t1geomatika commented 4 months ago

You can download the last release here.

systemed commented 4 months ago

Unfortunately I think that release is broken on Windows. There have been fixes since, and I'll put out a v3.0.1 when I get a chance.

I don't have any Windows experience, but I think this should work (from the CI). It installs the dependencies, then creates a build directory and uses CMake to build it there.

vcpkg install --triplet=x64-windows-static-md lua shapelib zlib protobuf[zlib] sqlite3 boost-program-options boost-filesystem boost-geometry boost-system boost-asio boost-interprocess boost-iostreams boost-sort rapidjson
mkdir build        
cd build
cmake -DTILEMAKER_BUILD_STATIC=ON -DVCPKG_TARGET_TRIPLET="x64-windows-static-md" -DCMAKE_TOOLCHAIN_FILE="c:\vcpkg\scripts\buildsystems\vcpkg.cmake"  ..
cmake --build . --config RelWithDebInfo
cvpalms commented 1 month ago

Hello, thank you for the info. Sorry it took me a while to respond but I finally got back around to testing the 3.0 version on WIndows 11. Although I got the exe to run with the monaco.pbf file, it does not create an output. I am more of a QGIS user with GIS Analyst background so I'm a novice at GitHub and tinkering with config files. I made some assumptions on how the files need to be arranged and renamed the json & lua to get it to work. Below is some detailed steps I took to get everything in one simplified folder. Sorry if I got something wrong or made it overly complicated:

Step 1: Create a test folder on your machine. For this example we will use F:\GIS\TileMakerTest

Step 2: Download TileMaker Release 3.0 from Github (https://github.com/systemed/tilemaker/releases/tag/v3.0.0). For windows this is the tilemaker-windows.zip file.

Step 3: In the zip file navigate to the build\RelWithDebInfo folder. Then copy the tilemaker.exe and two other .pdb files to your test folder from Step 1

Step 4: In the zip file navigate to the resources folder. This folder contains pre-made config.json and process.lua files for 4 different styles of output. For this test we will use the openmaptiles variation. Copy the files config-openmaptiles.json and process-openmaptiles.lua to the test folder you created in Step 1. Then rename them to config.json and process.json respectively.

Step 5: Download an OSM .pbf file from geofabrik. For this test we'll use the country of Monaco: https://download.geofabrik.de/europe/monaco.html. Save the downloaded .pbf to your test folder. The file should be named monaco-latest.osm.pbf

Step 6: Open Windows Command Line from the Windows Start Menu. Change the directory to your test folder by typing:
cd F:\GIS\TileMakerTest.

Step 7: Run the tilemaker.exe from Windows command line as follows: tilemaker.exe --input monaco-latest.osm.pbf --output TestTileMakerOutput.mbtiles

Step 7 is where things didn't work. The tool runs for about 5 seconds and I get the progress in the provided screenshot. Then the tool finishes as I get the command prompt back, but there is not output file, nor did the progress text provide an error message.

---I assume this would be Step 8: Check your test folder, and you should have a new .mbtiles file. Add this file to your QGIS project as a layer to visualize it.

image

And here's what my test folder looks like:
image

pbelbin commented 1 month ago

I tried using the windows release as well, and confirm that the tiles did not get generated.

systemed commented 1 month ago

Just to repeat the comment from above, the Windows 3.0 release is known not to work at present - you will need to build from source for Windows. I will do a new version when I have time but right now I'm incredibly pushed for time I'm afraid.