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

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

License:MIT License


Languages

Language:C# 64.1%Language:CSS 27.6%Language:JavaScript 6.9%Language:HTML 1.4%