I'm working on a web app that shows a map of a manufacturing plant's shop floor. I've built it in Inkscape and QGIS, but when I try to load it into Tilemill, I get a CRS error. Specifically, it says:

Detected out of bounds geographic extent (14.944551, 93.956594, 180, 85.051) for layer 'aisles'. Please ensure that the SRS for this layer is correct. It's native extent is '14.944551, 93.956594, 195.298512, 254.314634'

How do I set a custom CRS in QGIS, OR, how do I specify the map's location within the current CRS so that it will work in tilemill?

Background: The webapp will be for a map of a factory shop floor. Different zoom levels will have different information/ have different actions. I'm planning on styling the map in Tilemill, then using Leaflet to show the map. This will run on the company's internal intranet.

Research: I've read this question on stackexchange. It's helpful, but I'm not sure it fits my needs, and I don't know what the proj4 parameters are. Also, I've looked at this documentation, but haven't been able to understand it and apply it to my situation.

Construction details: I created the map first as SVG in Inkscape. Then I put each layer (one at a time) into QGIS. After that, I'm planning on loading each layer (one at a time) into Tilemill. Obviously, the geographic scope of this is much smaller than most map projects.

This map does NOT need to correspond to real-world lat/long, but I do need to be able to show where machines are (and their status) on the map.

Finally, if I'm thinking about this wrong, and need to go another direction or use different tools, don't hesitate to let me know that, too.


EDIT: SOLVED. Ended up going with the answer below. I used the qgsAffine plugin to move/scale everything to fit between the 0 and 180 coordinates, on both the x and y axes.

One hiccup was that QGIS/qgsAffine can only edit vectors that are in the shapefile format (in my experience. There might be some other format out there it can do). QGIS easily converted my dxf files to shp, though, so it was an easy fix.

1 Answer 1


These programs are going to want web mercator or similar.

You could make it a raster and georeference it in QGIS, referencing it onto layers such as open street map.

Or you could ensure that coordinates for everything is within the bounds of the CRS, i.e., keep everything between 0 and 180 (or is it 0 180 and 0 360, not sure).

  • Thanks for the response. How do I set georeference it in QGIS, and how do I ensure that the coordinates are within the bounds?
    – ahuth
    Commented Oct 1, 2012 at 9:41
  • What format is your data in now? Is it an image, or vector lines? If it is an image (raster) then you can follow the guide here: glaikit.org/2011/03/27/image-georeferencing-with-qgis
    – Alex Leith
    Commented Oct 1, 2012 at 23:42
  • My data is vector (dxf right now, although I created initially as SVG). Right now I'm trying to figure out how to convert to raster so I can follow that example. Any easy ways to do that from QGIS?
    – ahuth
    Commented Oct 2, 2012 at 1:00
  • Do it in InkScape, export to PNG. Or try this: gis.stackexchange.com/questions/22691/how-to-georeference-a-dxf
    – Alex Leith
    Commented Oct 2, 2012 at 1:55
  • @ alexgleith Can't believe I didn't think of exporting to PNG. What I ended up doing, though, was moving everything to within 0-180, like you initially suggested. Thanks for the help. Now I can load it into Tile mill, although nothing shows up when I do that. That's a different question, though.
    – ahuth
    Commented Oct 2, 2012 at 13:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.