Giter VIP home page Giter VIP logo

mapbox-studio-classic's Introduction

Mapbox Studio is the modern alternative to Mapbox Studio Classic: if you're starting out and creating a map today, we recommend starting with Mapbox Studio rather than Mapbox Studio Classic.

Desktop application for vector tile driven map design.

Build Status Build status Dependencies

Install from source

Install node v0.10.x. Then

git clone https://github.com/mapbox/mapbox-studio-classic.git
cd mapbox-studio-classic
npm install
npm start

Depends

Mapbox Studio Classic ships with pre-built binaries for common platforms:

  • 32 and 64 bit Windows
  • 64 bit OS X
  • 64 bit Linux

The minimum platforms versions are:

  • Windows >= 7
  • OS X >= 10.8
  • Ubuntu >= 14.04 (Trusty)
  • RHEL/Centos >= 7

Ubuntu 12.04 (Precise) can be supported by upgrading libstdc++:

sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo apt-get update -q
sudo apt-get install -y libstdc++6

If packages like node-mapnik fail to install then you are likely running a platform for which no binaries are available. In this case you will need to build these packages from source (Feel free to create a github issue to ask for help).

You can do this like:

npm install --build-from-source

Getting started

The docs offer both a step-by-step guide to creating your first projects in Mapbox Studio Classic and detailed information about styling and creating vector sources.

View documentation


Build status of modules:

  • mapnik - Build Status
  • node-mapnik - Build Status
  • carto - Build Status
  • tilelive - Build Status
  • tilelive-vector - Build Status
  • tilelive-bridge - Build Status

mapbox-studio-classic's People

Contributors

aaronlidman avatar ajashton avatar amyleew avatar camilleanne avatar crofty avatar edenh avatar flippmoke avatar geografa avatar incanus avatar ingalls avatar jfirebaugh avatar katydecorah avatar lyzidiamond avatar mapsam avatar mateov avatar mick avatar mikemorris avatar mojodna avatar peterqliu avatar rclark avatar samanpwbb avatar springmeyer avatar stevage avatar tatsvc avatar tmcw avatar tristen avatar wilhelmberg avatar willwhite avatar yhahn avatar zachbeattie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mapbox-studio-classic's Issues

Code Window Scroll Bug - Chrome

On Ubuntu 12.04 - just on Chrome 26 (FF works fine) - the scrolling behavior of the code window is wonky, like there's a rubber band holding the text to the top. Video here.

TM2 only for generating map tiles?

Hi,
I've used tilemill in the past and I'm just starting to take a look at tm2 - thanks for releasing them.

Is tm2 only for generating map tiles? The reason I ask is that I used to use tilemill from the command line to generate maps of arbitrary size with custom styles. I know this functionality doesn't exist in tm2 but is something like this even possible when using a vector tile source or is the only output map tiles?

Thanks

Using carto to generate data.xml

Per chat convo with @tmcw, mapbox/carto@5d626d3 breaks tm2's usage of carto for generating style-less mapnik XML for datasources.

Carto's behavior of skipping layers that have no styles defined for them is totally sensible for the rest of the world, so will have to do some meditation on how to proceed here (flag in carto? would it make sense to anyone else? should tm2 just template its own datasource XML (not that much code)?)

Going to pin to a hash for now.

Setting UV_THREADPOOL_SIZE for node v0.10.x

If running node v0.10.x we can now bump the threadpool size above 4 via the UV_THREADPOOL_SIZE. It looks like this needs to be set before node is run, but I need to research this more to be sure. We should also keep an eye on joyent/libuv#649 (comment) to see if/when node/libuv move to autoscaling.

Dual life of sources

A source you generate locally can be represented in two ways once it has been uploaded, similarly to how a git repo has a local clone and a remote:

tmsource:///path/to/local/source

And

mapbox:///{account}.{handle}

Depending on what you're doing a style will reference one of these or another but it is desirable to switch easily/based on the action involved. For example, during development of a style you may want to point at a local version of a source but at packaging/release time switch to the remote source.

TODO meditate on this and whether there is an elegant way for tech to manage this or not.

js-yaml dumper edgecases

Fork of js-yaml dumper with scalar resolver needs to quote strings that could be confused with inline lists and objects:

somefield: [hey there this is actually a string]
somefield: {{amustachetag}}

Free font library

Want to collect this list? I think we can pull it in as a dependency as well, tm2-default-fonts or so.

Cache management

  • Ability to flush the entire cache to start to clear out disk space.
  • Do we really care about selectively clearing cache?

Deleting projects from within app

Out of curiosity ss this something you expect to be able to do? I find that other desktop apps generally don't provide this so was curious what your take is.

Mouse zoom interactions offset

In the above screenshot, I shift-clicked and dragged to create the selection box. However my actual click started in the middle of the Italy label and ended around the Hala'ib Triangle, not where the box is shown. Zooming via double-click or scroll wheel also zooms west of where I want to go.

Tilemill 2 on OS X install fails at npm install

I'm trying to install the new TileMill 2 on my OS x 10.7.4 machine, but the install fails when I run the npm install command and of-course later the node index.js doesn't work either.

Here's the error code:


> [email protected] install /Users/peko6107/Documents/developer/tm2/tm2/node_modules/mapnik/node_modules/mapnik-vector-tile
> protoc -Iproto/ --cpp_out=./src/ ./proto/vector_tile.proto


> [email protected] install /Users/peko6107/Documents/developer/tm2/tm2/node_modules/mapnik
> node-gyp rebuild


> [email protected] install /Users/peko6107/Documents/developer/tm2/tm2/node_modules/mbtiles/node_modules/sqlite3
> node-gyp rebuild

npm http 304 https://registry.npmjs.org/generic-pool

> [email protected] install /Users/peko6107/Documents/developer/tm2/tm2/node_modules/tilelive-bridge/node_modules/eio
> node-gyp rebuild

/bin/sh: mapnik-config: command not found
gyp: Call to 'mapnik-config --cflags' returned exit status 127. while trying to load binding.gyp
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:415:16)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:789:12)
gyp ERR! System Darwin 11.4.2
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/peko6107/Documents/developer/tm2/tm2/node_modules/mapnik
gyp ERR! node -v v0.10.7
gyp ERR! node-gyp -v v0.9.5
gyp ERR! not ok 
npm ERR! weird error 1
gyp ERR! build error 
gyp ERR! stack Error: not found: make
gyp ERR! stack     at F (/usr/local/lib/node_modules/npm/node_modules/which/which.js:43:28)
gyp ERR! stack     at E (/usr/local/lib/node_modules/npm/node_modules/which/which.js:46:29)
gyp ERR! stack     at /usr/local/lib/node_modules/npm/node_modules/which/which.js:57:16
gyp ERR! stack     at Object.oncomplete (fs.js:107:15)
gyp ERR! System Darwin 11.4.2
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/peko6107/Documents/developer/tm2/tm2/node_modules/mbtiles/node_modules/sqlite3
gyp ERR! node -v v0.10.7
gyp ERR! node-gyp -v v0.9.5
gyp ERR! not ok 
gyp ERR! build error 
gyp ERR! stack Error: not found: make
gyp ERR! stack     at F (/usr/local/lib/node_modules/npm/node_modules/which/which.js:43:28)
gyp ERR! stack     at E (/usr/local/lib/node_modules/npm/node_modules/which/which.js:46:29)
gyp ERR! stack     at /usr/local/lib/node_modules/npm/node_modules/which/which.js:57:16
gyp ERR! stack     at Object.oncomplete (fs.js:107:15)
gyp ERR! System Darwin 11.4.2
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/peko6107/Documents/developer/tm2/tm2/node_modules/tilelive-bridge/node_modules/eio
gyp ERR! node -v v0.10.7
gyp ERR! node-gyp -v v0.9.5
gyp ERR! not ok 
npm ERR! not ok code 0

And here's what node says after running index.js:

module.js:340
    throw err;
          ^
Error: Cannot find module 'tilelive-bridge'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/Users/peko6107/Documents/developer/tm2/tm2/lib/source.js:11:14)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)

README.md for sources/mbstreets

How would you feel about an in-depth README.md at sources/mbstreets/README.md ? I think at some point we can probably at UI integration for reading and rendering such files for datasources.

To start, though, it would be a good place to point people who want more details beyond the source helptext.

Encoding of default project.yml

The © in the default project attribution string becomes when I create a new project in TM2. The tm2-default-style files should all be UTF8.

`npm install` fails to untar (what appears to be valid tar archive)

npm ERR! tar.unpack untar error /var/folders/83/rt7rty5j1v3gj5kpymxsq_0w0000gn/T/npm-4065/1365415995318-0.24622464342974126/tmp.tgz
npm ERR! tar.unpack untar error /var/folders/83/rt7rty5j1v3gj5kpymxsq_0w0000gn/T/npm-4065/1365415995318-0.24622464342974126/tmp.tgz
npm ERR! tar.unpack untar error /var/folders/83/rt7rty5j1v3gj5kpymxsq_0w0000gn/T/npm-4065/1365415995318-0.24622464342974126/tmp.tgz
npm ERR! tar.unpack untar error /var/folders/83/rt7rty5j1v3gj5kpymxsq_0w0000gn/T/npm-4065/1365415995318-0.24622464342974126/tmp.tgz
npm ERR! Error: invalid tar file
npm ERR!     at Extract.Parse._startEntry (/opt/node/lib/node_modules/npm/node_modules/tar/lib/parse.js:144:13)
npm ERR!     at Extract.Parse._process (/opt/node/lib/node_modules/npm/node_modules/tar/lib/parse.js:125:12)
npm ERR!     at BlockStream.<anonymous> (/opt/node/lib/node_modules/npm/node_modules/tar/lib/parse.js:46:8)
npm ERR!     at BlockStream.EventEmitter.emit (events.js:96:17)
npm ERR!     at BlockStream._emitChunk (/opt/node/lib/node_modules/npm/node_modules/block-stream/block-stream.js:145:10)
npm ERR!     at BlockStream.resume (/opt/node/lib/node_modules/npm/node_modules/block-stream/block-stream.js:58:15)
npm ERR!     at Extract.Reader.resume (/opt/node/lib/node_modules/npm/node_modules/fstream/lib/reader.js:252:34)
npm ERR!     at Entry.Parse._startEntry._entry (/opt/node/lib/node_modules/npm/node_modules/tar/lib/parse.js:256:8)
npm ERR!     at Entry.EventEmitter.emit (events.js:93:17)
npm ERR!     at Entry.inherits.resume (/opt/node/lib/node_modules/npm/node_modules/tar/lib/entry.js:91:10)
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <[email protected]>

npm ERR! System Darwin 12.3.0
npm ERR! command "/opt/node/bin/node" "/opt/node/bin/npm" "install"
npm ERR! cwd /Users/artem/Projects/mapbox/tm2
npm ERR! node -v v0.8.22
npm ERR! npm -v 1.2.14
npm ERR! tar.unpack untar error /var/folders/83/rt7rty5j1v3gj5kpymxsq_0w0000gn/T/npm-4065/1365415995318-0.24622464342974126/tmp.tgz
npm ERR! tar.unpack untar error /var/folders/83/rt7rty5j1v3gj5kpymxsq_0w0000gn/T/npm-4065/1365415995318-0.24622464342974126/tmp.tgz
npm http 304 https://registry.npmjs.org/chrono
npm http 304 https://registry.npmjs.org/tilejson
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/artem/Projects/mapbox/tm2/npm-debug.log
npm ERR! not ok code 0
macbook:tm2 artem$ emacs /Users/artem/Projects/mapbox/tm2/npm-debug.log

6686 error tar.unpack untar error /var/folders/83/rt7rty5j1v3gj5kpymxsq_0w0000gn/T/npm-4065/1365415995318-0.24622\
464342974126/tmp.tgz
6687 silly gunzTarPerm extractEntry test/data/Clément/long_lat.prj
6688 silly gunzTarPerm modified mode [ 'test/data/Clément/long_lat.prj', 436, 420 ]
6689 silly lockFile 4e826426-mapbox-node-mapnik-data-tile-git [email protected]:mapbox/node-mapnik-data-tile.git
6690 error Error: invalid tar file
6690 error     at Extract.Parse._startEntry (/opt/node/lib/node_modules/npm/node_modules/tar/lib/parse.js:144:13)
6690 error     at Extract.Parse._process (/opt/node/lib/node_modules/npm/node_modules/tar/lib/parse.js:125:12)
6690 error     at BlockStream.<anonymous> (/opt/node/lib/node_modules/npm/node_modules/tar/lib/parse.js:46:8)
6690 error     at BlockStream.EventEmitter.emit (events.js:96:17)
6690 error     at BlockStream._emitChunk (/opt/node/lib/node_modules/npm/node_modules/block-stream/block-stream.j\
s:145:10)
6690 error     at BlockStream.resume (/opt/node/lib/node_modules/npm/node_modules/block-stream/block-stream.js:58\
:15)
6690 error     at Extract.Reader.resume (/opt/node/lib/node_modules/npm/node_modules/fstream/lib/reader.js:252:34\
)
6690 error     at Entry.Parse._startEntry._entry (/opt/node/lib/node_modules/npm/node_modules/tar/lib/parse.js:25\
6:8)
6690 error     at Entry.EventEmitter.emit (events.js:93:17)
6690 error     at Entry.inherits.resume (/opt/node/lib/node_modules/npm/node_modules/tar/lib/entry.js:91:10)
6691 error If you need help, you may report this log at:
6691 error     <http://github.com/isaacs/npm/issues>
6691 error or email it to:
6691 error     <[email protected]>
6692 error System Darwin 12.3.0
6693 error command "/opt/node/bin/node" "/opt/node/bin/npm" "install"
6694 error cwd /Users/artem/Projects/mapbox/tm2
6695 error node -v v0.8.22
6696 error npm -v 1.2.14
6697 verbose exit [ 1, true ]

`format` param chicken-egg

Looked briefly into adding a format attribute to projects for defining mapnik image output format (e.g. png8). There's a chicken-egg problem atm in that tilelive-vector tries to set format at init time before the map has been loaded -- but the map needs to be loaded to read the parameters to set the format.

Should be fixable upstream, at which point this option can be added sensibly.

Add error handling for text-face-name

Ubuntu 12.04, FF 20.0 . . .

TM2 fails to throw an error when an invalid font is plugged into text-face-name, instead it just doesn't render the affected tiles.

TM1 (or whatever you're calling it), handles this with the usual highlight and verbose error:
Invalid value for text-face-name, the type font is expected. Umpqua (of type string) was given. (line X)

alpha sorting keys in data.yml is harder to skim

With the keys now being alphabetically sorted, the layers are more challenging to visually navigate in a text editor. The identifying keys - id and name - appear below the datasource and don't stand out at all. The key that stands out most when skimming is the first one because of the dash, but now its exactly the same for every layer.

Maybe make id or name an exception that always gets written first? Yes, most editing should now happen in TM2 now, but there's still going to be a lot of cases where we'll be reading the yml in a text editor, diff program, etc.

I suppose #1 is the ideal fix to this situation, not sure if that's a near/medium-term possibility.

Installing TM2

Hello TM-2 Team,
By installing TM2 with your manual at github I receive an error: "npm-gyp rebuild failed with 1". It is happening at the "npm install" command. Can you help me please?

Blurry map preview

Latest master gives me a blurry map preview. Below are an example raw tile, a screenshot of what was displayed by Chrome, and a difference of the two. 3D CSS transforms not working right perhaps?



Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.