Coder Social home page Coder Social logo

maplibre / mbtileserver-rs Goto Github PK

View Code? Open in Web Editor NEW
61.0 7.0 13.0 1.07 MB

Deprecated mbtiles server in Rust. Use Martin tile server instead.

Home Page: https://github.com/maplibre/martin

License: Other

Rust 86.92% Dockerfile 0.30% HTML 1.40% JavaScript 11.38%
rust mbtiles

mbtileserver-rs's Introduction

DEPRECATED

The functionality of the mbtileserver-rs has been migrated to the Martin tile server. No further updates are planned for this project.

Note: This project started as a partial implementation of the API and features provided by mbtileserver written in Go by Brendan Ward. It might diverge from that project in the future.

mbtileserver

Crates.io Coverage Status

Tested with rust 1.60

A simple Rust-based server for map tiles stored in mbtiles format.

Getting Involved

Join the #maplibre slack channel at OSMUS: get an invite at slack.openstreetmap.us

Usage

Run mbtileserver --help for a list and description of the available flags:

mbtileserver 0.1.7
A simple mbtiles server

USAGE:
    mbtileserver [FLAGS] [OPTIONS]

FLAGS:
        --disable-preview    
            Disable preview map
    -h, --help               
            Prints help information

    -V, --version            
            Prints version information


OPTIONS:
        --allowed-hosts <allowed_hosts>    
            "*" matches all domains and ".<domain>" matches all subdomains for the given domain
             [default: localhost, 127.0.0.1, [::1]]
    -d, --directory <directory>            
            Tiles directory
             [default: ./tiles]
    -H, --header <header>...               
            Add custom header
    -p, --port <port>                      
            Server port
             [default: 3000]

Run mbtileserver to start serving the mbtiles in a given folder. The default folder is ./tiles and you can change it with -d flag. The server starts on port 3000 by default. You can use a different port via -p flag.

You can adjust the log level by setting RUST_LOG environment variable. Possible values are trace, debug, info, warn, error.

Endpoints

Endpoint Description
/services lists all discovered and valid mbtiles in the tiles directory
/services/<path-to-tileset> shows tileset metadata
/services/<path-to-tileset>/map tileset preview
/services/<path-to-tileset>/tiles/{z}/{x}/{y}. returns tileset tile at the given x, y, and z
/services/<path-to-tileset>/tiles/{z}/{x}/{y}.json returns UTFGrid data at the given x, y, and z (only for tilesets with UTFGrid)

Docker

You can test this project by running docker-compose up. It starts a server on port 3000 and serves the tilesets in ./tiles directory.

mbtileserver-rs's People

Contributors

ka7eh avatar maxammann avatar nyurik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

mbtileserver-rs's Issues

refactor code

looking at the code in config.rs I think that

let disable_preview = if matches.occurrences_of("disable_preview") != 0 {
true
} else {
false
};

is equivalent to

let disable_preview = matches.occurrences_of("disable_preview") != 0;

suggestion

Looking at the code I have observed the following:

  1. you use .split(",") &str better and faster will be .spli(',') char;
  2. you addnotate for example get_tile_details<'a> lifetime, never used, better just get_tile_details

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.