Skip to content

Commit

Permalink
accept spaces in mbtiles comma-separated numbers [#210] (#211)
Browse files Browse the repository at this point in the history
* accept spaces in mbtiles comma-separated numbers [#210]
  • Loading branch information
bdon authored Feb 24, 2025
1 parent 085b5fc commit 286610d
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 7 deletions.
14 changes: 7 additions & 7 deletions pmtiles/convert.go
Original file line number Diff line number Diff line change
Expand Up @@ -526,19 +526,19 @@ func v2ToHeaderJSON(v2JsonMetadata map[string]interface{}, first4 []byte) (Heade
func parseBounds(bounds string) (int32, int32, int32, int32, error) {
parts := strings.Split(bounds, ",")
E7 := 10000000.0
minLon, err := strconv.ParseFloat(parts[0], 64)
minLon, err := strconv.ParseFloat(strings.TrimSpace(parts[0]), 64)
if err != nil {
return 0, 0, 0, 0, err
}
minLat, err := strconv.ParseFloat(parts[1], 64)
minLat, err := strconv.ParseFloat(strings.TrimSpace(parts[1]), 64)
if err != nil {
return 0, 0, 0, 0, err
}
maxLon, err := strconv.ParseFloat(parts[2], 64)
maxLon, err := strconv.ParseFloat(strings.TrimSpace(parts[2]), 64)
if err != nil {
return 0, 0, 0, 0, err
}
maxLat, err := strconv.ParseFloat(parts[3], 64)
maxLat, err := strconv.ParseFloat(strings.TrimSpace(parts[3]), 64)
if err != nil {
return 0, 0, 0, 0, err
}
Expand All @@ -548,15 +548,15 @@ func parseBounds(bounds string) (int32, int32, int32, int32, error) {
func parseCenter(center string) (int32, int32, uint8, error) {
parts := strings.Split(center, ",")
E7 := 10000000.0
centerLon, err := strconv.ParseFloat(parts[0], 64)
centerLon, err := strconv.ParseFloat(strings.TrimSpace(parts[0]), 64)
if err != nil {
return 0, 0, 0, err
}
centerLat, err := strconv.ParseFloat(parts[1], 64)
centerLat, err := strconv.ParseFloat(strings.TrimSpace(parts[1]), 64)
if err != nil {
return 0, 0, 0, err
}
centerZoom, err := strconv.ParseInt(parts[2], 10, 8)
centerZoom, err := strconv.ParseInt(strings.TrimSpace(parts[2]), 10, 8)
if err != nil {
return 0, 0, 0, err
}
Expand Down
21 changes: 21 additions & 0 deletions pmtiles/convert_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -215,3 +215,24 @@ func TestMbtilesDegenerateBounds(t *testing.T) {
})
assert.NotNil(t, err)
}

func TestMbtilesCoordinatesHasSpace(t *testing.T) {
header, _, err := mbtilesToHeaderJSON([]string{
"name", "test_name",
"format", "pbf",
"bounds", " -180.0, -85, 180, 85",
"center", " -122.1906, 37.7599, 11",
"attribution", "<div>abc</div>",
"description", "a description",
"type", "overlay",
"version", "1",
"compression", "gzip",
})
assert.Nil(t, err)
assert.Equal(t, int32(-180*10000000), header.MinLonE7)
assert.Equal(t, int32(-85*10000000), header.MinLatE7)
assert.Equal(t, int32(180*10000000), header.MaxLonE7)
assert.Equal(t, int32(85*10000000), header.MaxLatE7)
assert.Equal(t, int32(-122.1906*10000000), header.CenterLonE7)
assert.Equal(t, int32(37.7599*10000000), header.CenterLatE7)
}

0 comments on commit 286610d

Please sign in to comment.