Skip to content

tidwall/mvt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

mvt

GoDoc

Draw Mapbox Vector Tiles with ease.

Features

  • Mapbox Vector Tiles 2.1 support
  • MoveTo, LineTo, CubicTo, QuadraticTo
  • Defined 256x256 canvas
  • Uses floating points
  • Add tags and IDs to features
  • Fast encoding to MVT protobufs
  • No external dependencies

Install

go get -u github.com/tidwall/mvt

Example

var tile mvt.Tile
l := tile.AddLayer("triforce")
f := l.AddFeature(mvt.Polygon)

f.MoveTo(128, 96)
f.LineTo(148, 128)
f.LineTo(108, 128)
f.LineTo(128, 96)
f.ClosePath()

f.MoveTo(148, 128)
f.LineTo(168, 160)
f.LineTo(128, 160)
f.LineTo(148, 128)
f.ClosePath()

f.MoveTo(108, 128)
f.LineTo(128, 160)
f.LineTo(88, 160)
f.LineTo(108, 128)
f.ClosePath()

data := tile.Render()

// Data now contains a valid mapbox vector tile protobuf 
// for sending over the internets and styling to your 
// heart's content.

Helper functions

  • mvt.LatLonXY: Converts a lat/lon to the pixel offset for a specific tile.
  • mvt.TileBounds: Returns the lat/lon boundary for a tile.

Contact

Josh Baker @tidwall

License

mvt source code is available under the MIT License.

About

Draw Mapbox Vector Tiles (MVT) in Go

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages