This project is no more longer supported; the .NET5 implementation Tile Map Service for .NET 5 is currently active.
Minimal implementation of Tile Map Service (TMS) for .NET Core 2.1; provides access to map raster (PNG/JPEG) tiles stored in standard MBTiles database and local file system.
Developed using MS Visual Studio 2017 (with .NET Core SDK 2.1.518), C#, ASP.Net Core 2.1. Using
- Microsoft.Data.Sqlite for working with SQLite database
- Leaflet for map demo page
Check installed .NET Core runtimes using command:
dotnet --info
The Microsoft.AspNetCore.App 2.1.10
(or later version) should present in list.
Run the application using command:
dotnet MapTileService.dll
Install libunwind8
package on target system to run .NET Core applications:
sudo apt-get install libunwind8
On development system with VS2017 in the solution (...\Src
) directory execute the following command:
dotnet publish -c Release -r linux-arm
It will create the self-contained deployment (SCD) so that target system don't need to have .NET Core Runtime installed.
Output files will be placed into folder:
...\Src\MapTileService\bin\Release\netcoreapp2.1\linux-arm\publish\
Copy contents of this directory to target system (for example into /home/pi/tileservice
directory), set permissions (execute access) to startup file (note that filename is case-sensitive and has no extension)
chmod +x MapTileService
Run application (file without extension):
./MapTileService
After start, it will listen on default TCP port 5000 (using in-process Kestrel
web server)
and tile service with demo page will be available on http://localhost:5000/ address; to enable remote calls allow connections to this port in firewall settings.
- World Countries MBTiles by ArcGIS / EsriAndroidTeam
- Satellite Lowres raster tiles Planet by OpenMapTiles
- Better implementation of MBTiles specifications (processing metadata, corner cases).
- Support for more formats (vector tiles).
- Include test dataset created from free data.
- Access to metadata.
- Live demo.