stamen / terrain-classic

World-wide CartoCSS port of Stamen's classic terrain style
ISC License
144 stars 35 forks source link

duplicate shield labels for cities and peaks #49

Open almccon opened 8 years ago

almccon commented 8 years ago

It seems to be happening at tile boundaries:

screen shot 2015-11-04 at 5 23 13 pm

Oh, but in #35 we found some that were not on tile boundaries, although those seem to be fixed. But that's something to keep an eye on... I think they're only happening on tile boundaries, but I could be wrong.

almccon commented 8 years ago

Some of these I'm having trouble duplicating in Tilemill vs Tessera.

For example at zoom 8 in tessera I see this: screen shot 2015-11-04 at 6 18 22 pm

But viewing in Tilemill, Mt. Whitney doesn't even show up, even though other peaks do at the same zoom. screen shot 2015-11-04 at 6 18 29 pm

clhenrick commented 8 years ago

@almccon here's what I'm seeing in TileMill at z9: screen shot 2015-11-05 at 9 06 20 am

I was chatting with @mojodna and it seems like part of the problem may be differing versions of Mapnik installed for Tessera and TileMill. After doing npm ls mapnik in both the TileMill directory and Terrain-Classic repo I saw that Mapnik was at different versions in each. Seth recommends having both versions of Mapnik at 3.x.

However after bumping up Tessera's Mapnik to ^3.4.9 I was running into an issue where Tessera was crashing. Still attempting to debug...

clhenrick commented 8 years ago

On further inspection after bumping mapnik to 3.4.9 and running tessera -S 50 -c tessera.json I get the following error:

GET /index.json 500 7.751 ms - 1445
Error: Invalid tilesource protocol: blend:
    at Object.tilelive.load (/Users/clhenrick/.nvm/v0.10.40/lib/node_modules/tessera/node_modules/tilelive/lib/tilelive.js:92:25)
    at /Users/clhenrick/.nvm/v0.10.40/lib/node_modules/tessera/node_modules/tilelive-cache/index.js:128:23
    at lock (/Users/clhenrick/.nvm/v0.10.40/lib/node_modules/tessera/node_modules/tilelive-cache/node_modules/locking-cache/index.js:57:16)
    at Object.<anonymous> (/Users/clhenrick/.nvm/v0.10.40/lib/node_modules/tessera/node_modules/tilelive-cache/index.js:127:12)
    at Object.load (/Users/clhenrick/.nvm/v0.10.40/lib/node_modules/tessera/node_modules/tilelive-cache/node_modules/locking-cache/index.js:85:17)
    at /Users/clhenrick/.nvm/v0.10.40/lib/node_modules/tessera/lib/app.js:213:21
    at Layer.handle [as handle_request] (/Users/clhenrick/.nvm/v0.10.40/lib/node_modules/tessera/node_modules/express/lib/router/layer.js:95:5)
    at next (/Users/clhenrick/.nvm/v0.10.40/lib/node_modules/tessera/node_modules/express/lib/router/route.js:131:13)
    at Route.dispatch (/Users/clhenrick/.nvm/v0.10.40/lib/node_modules/tessera/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/Users/clhenrick/.nvm/v0.10.40/lib/node_modules/tessera/node_modules/express/lib/router/layer.js:95:5)

However when I do tessera -S 50 mapnik://./terrain-classic.xml or tessera -S 50 mapnik://./terrain-classic-<variant> it works totally fine, minus these errors which I think have to do with Mapnik complaining about CartoCSS?

Thoughts @mojodna?

mojodna commented 8 years ago

Was this from before or after we were debugging this in Slack?

The deprecation warnings are harmless (though it would be nice to see them fixed in CartoCSS), the Invalid tilesource protocol error means that tilelive-blend needs to be installed.

clhenrick commented 8 years ago

@mojodna afterward.

I did npm install -g tilelive-blend while on node v0.10. Ran tessera again and got the following error:

/Users/chrislhenrick/development/terrain-classic/node_modules/tilelive-blend/index.js:110
return im1.composite(im2, {
           ^
TypeError: destination image must be premultiplied
mojodna commented 8 years ago

FWIW, I think the invalid tilesource protocol errors are fixed in tilelive-blend now.

clhenrick commented 8 years ago

Seems like this issue is resolved? cc @almccon @mojodna