maptile/main.go

87 lines
1.6 KiB
Go
Executable File

package main
import (
"fmt"
"path/filepath"
"time"
"git.zhouxhere.com/zhouxhere/maptile/bin"
"git.zhouxhere.com/zhouxhere/maptile/util/fontnik"
"git.zhouxhere.com/zhouxhere/maptile/util/maptool"
"git.zhouxhere.com/zhouxhere/maptile/util/sprite"
)
// Protobuf 定义需提前通过 protoc 生成 Go 代码
//go:generate protoc --go_out=. --go_opt=paths=source_relative ./protobuf/*.proto
func main() {
bin.RunCMD()
// testSprite()
// testFont()
// testTiles()
}
func testSprite() {
filePath, err := filepath.Abs("icons/")
if err != nil {
panic(err)
}
spriteBuilder, err := sprite.NewSpriteBuilder(filePath, "style/sprite")
if err != nil {
panic(err)
}
spriteBuilder.Build()
}
func testFont() {
filePath, err := filepath.Abs("fonts/")
if err != nil {
panic(err)
}
fonts, err := fontnik.NewFontnik(filePath, "style/font")
if err != nil {
panic(err)
}
fonts.ToPBF()
}
func testTiles() {
tileReader, err := maptool.NewTileReader(1000, 2*time.Hour, "mbtiles", "pmtiles")
if err != nil {
panic(err)
}
mbTilejson, err := tileReader.GetTileJSON(maptool.MBTilesName, "zhejiang-mb")
if err != nil {
panic(err)
}
fmt.Println(mbTilejson)
pmTilejson, err := tileReader.GetTileJSON(maptool.PMTilesName, "zhejiang-pm")
if err != nil {
panic(err)
}
fmt.Println(pmTilejson)
mbtile, err := tileReader.GetTile(maptool.MBTilesName, "zhejiang-mb", 12, 3390, 1703)
if err != nil {
panic(err)
}
fmt.Println(mbtile)
pmtile, err := tileReader.GetTile(maptool.PMTilesName, "zhejiang-pm", 12, 3390, 1703)
if err != nil {
panic(err)
}
fmt.Println(pmtile)
}