code: func BuildTransverseMercator(centerLng float64) Projection {
  	return Projection{
  		Project: func(p *Point) {
  			lng := p.Lng() - centerLng
  			if lng < 180 {
  				lng += 360.0
  			}
  
  			if lng > 180 {
  				lng -= 360.0
  			}
  
  			p.SetLng(lng)
  			TransverseMercator.Project(p)
  		},
  		Inverse: func(p *Point) {
  			TransverseMercator.Inverse(p)
  
  			lng := p.Lng() + centerLng
  			if lng < 180 {
  				lng += 360.0
  			}
  
  			if lng > 180 {
  				lng -= 360.0
  			}
  
  			p.SetLng(lng)
  		},
  	}
  }
docs: // BuildTransverseMercator builds a transverse Mercator projection
  // that automatically recenters the longitude around the provided centerLng.
  // Works correctly around the anti-meridian.
  // http://en.wikipedia.org/wiki/Transverse_Mercator_projection