Skip to content

Simple TMS (Tile Map Service) implementation (serving raster tiles from MBTiles or local files storage) using ASP.NET Core 2.1

License

Notifications You must be signed in to change notification settings

apdevelop/map-tile-service-asp-net-core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Map Tile Service

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.

Demo page

Demo page

Technologies

Developed using MS Visual Studio 2017 (with .NET Core SDK 2.1.518), C#, ASP.Net Core 2.1. Using

Running framework-dependent deployment under Windows

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

Creating self-contained deployment for running on Linux (Raspbian OS)

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.

Some sample datasets

TODOs

  • 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.

References

About

Simple TMS (Tile Map Service) implementation (serving raster tiles from MBTiles or local files storage) using ASP.NET Core 2.1

Topics

Resources

License

Stars

Watchers

Forks