Open springmeyer opened 13 years ago
Addressing this will require adjusting our architecture document a bit. Currently the only "verb" in millstone is resolve
-- you pass it an MML and it hands it back to you with all of the resources localized and prepped for compilation/rendering.
To handle the cases above, however, millstone (or some other API component) would need to offer datasource inspection/introspection on a per-datasource basis with some accompanying UI in TileMill, e.g.
file:///some/path/to/zipfile.zip
is handed to millstone[ 'foo.shp', 'bar.shp', 'baz.shp' ]
(I wonder whether millstone should actually do inspection at all or whether this should be TileMill's job, e.g. treat zipfiles, sqlite dbs, etc. like folders in the library browser)file:///some/path/to/zipfile.zip#foo.shp
or using some other conventionresolve
is called, unpacking foo.shp
on the basis of uri zipfile.zip#foo.shp
into a dir and referencing it in the localized MML.^ this is just one possible workflow for this user story but I think the the basic sketch shows what kind of complexity we're talking about here.
Flagging this issue as requiring more thought.
Consider these various issues:
With the exception of zipped resources, the generic answer to these is using gdal/ogr to introspect the data (and therefore wrapping gdal/ogr as a node c++ addon). But, currently the approach of millstone is to handle each case in a custom way - with the benefit of avoiding the extra dependency and offering advanced functionality.