@quartic/bokehjs
Version:
Interactive, novel data visualization
31 lines (23 loc) • 811 B
text/coffeescript
import {BasicTickFormatter} from "./basic_tick_formatter"
import * as p from "core/properties"
import {proj4, mercator} from "core/util/proj4"
export class MercatorTickFormatter extends BasicTickFormatter
type: 'MercatorTickFormatter'
{
dimension: [ p.LatLon ]
}
doFormat: (ticks, loc) ->
if not ?
throw new Error("MercatorTickFormatter.dimension not configured")
if ticks.length == 0
return []
proj_ticks = new Array(ticks.length)
if == "lon"
for i in [0...ticks.length]
[lon, lat] = proj4(mercator).inverse([ticks[i], loc])
proj_ticks[i] = lon
else
for i in [0...ticks.length]
[lon, lat] = proj4(mercator).inverse([loc, ticks[i]])
proj_ticks[i] = lat
return super(proj_ticks, loc)