GIS is brand new to me, but I've spent a couple of days researching so that I can at least ask somewhat intelligent questions.

  1. I've decided to use QGIS
  2. I need to do an interactive floor plan on the web and shapefiles fits the bill

Problem: I need to put the floor plan in as a backdrop (raster) to all the polygons that will represent the rooms. But, I don't know how to properly set the scale so that when I use the 'measure' tool it will actually come up with correct measurements.

Any advice?

Edit: Adding sample image to show what I'm doing. As you can see there's a floorplan that I've imported into QGIS as a raster layer. I'm going to be tracing the shapes of the rooms into a separate shapefile, which I then want to use on the web (using Silverlight) to interactively update the polygon fill colors representing temperatures in the various rooms. The problem I'm experiencing is that when I load the image separately into the Silverlight application and then load the shapefile a) The position and shape of the polygon looks nothing like it does in the GIS app b) It's in the wrong place altogether, but I think I might be able to solve that one myself. The shape that's coming out totally different is the worry?

floorplan with single polygon representing a single room

3 Answers 3


Do you have your "backdrop (raster)"?

If yes, then there is two options:

  1. it is georeferenced (in some non-earth coordinate system). Then everything is ok and you have just to use it with your vector data (if you have it already) or draw vector "polygons that will represent the rooms" using your raster as a background layer. In first case may be you will need to do additional georeferencing to match raster and vector layers. Be carefull in choosing the right data for georeferencing - raster or vector - you should leave accurate data intact.
  2. it has no georeferencing info. Again there are two options:
    • you have vector data ("polygons that will represent the rooms"). You need to georeference your raster data using vector as control points (i.e. room corners)
    • you have no vector data. You need to calculate 3 points from your plan manually using some additional info about your rooms (rooms size), draw that points as a vector layer and then use them to georeference your raster.

Additional info for the last case (no georeferencing info, no vector data):

Actually I am not an everyday user of QGIS but I have found one tutorial which is very close to your task.

In your case you will be creating a point shapefile without any background raster (skipping step 1).

Draw first point in any place. Then take a look over your plan. Lets say that you have a room with size 4 x 5 meters. Place your second point shifting it in 4 meters by X coordinate. Then repeat it for the third point - shifting it from first point in 5 meters by Y coordinate.

For more accuracy you can place your point manually entering coordinates. In this case their coordinates will look like: Point1(0, 0); Point2(4, 0); Point3(0, 5).

Then you should georeference raster using appropriate room corners from it and previouslly created vector points.

  • Wow, hi Alex and thanks for the input, but whatever I thought I'd figured out seem miniscule now. * The backdrop is a raster yes * There's no georeferencing to my knowledge (just a plain raster... imported PNG) * No vector data at all, I need to create the shapefile based vector layers for the rooms (I think) So it seems I'm down to your last suggestion, but I don't know how to implement the last point (additional info about your rooms... draw points as a vector... etc.) Do you know of a tutorial somewhere which will guide me through this? Thanks
    – Jacques
    Feb 28, 2012 at 8:15
  • I have extended my previous answer with more clarification for the last case. Feb 28, 2012 at 8:52
  • Hi Alex, a quick update and I'm not sure if this makes any difference. Looking at this again I think what I'm going to use the raster image for is just to trace the rooms into a shapefile. Does that change things in terms of your solution?
    – Jacques
    Feb 28, 2012 at 10:10
  • Hi Alex, I had a look through the tutorial and it doesn't seem like what I'm trying to do. My shapefile will definitely have to consist of a bunch of polygons representing rooms each of which we'll access from a silverlight application and update with temperature information. I just gave this a try and was able, in silverlight, to pull in the floorplan as a background image, then I used a Map control to pull in the shapefile, which I had created by tracing a polygon over the floorplan image raster layer. When I pulled it in the scale, position and shape of the poly is totally off.
    – Jacques
    Feb 28, 2012 at 11:01
  • For a project like this... with a floorplan, what CRS would I be using?
    – Jacques
    Feb 28, 2012 at 11:03

Have you considered using Google Map Floor Plans?

It might save you a lot of headache in the long run.

  • Can it export to Shapefiles?
    – Jacques
    Feb 29, 2012 at 7:39
  • You can import them from Shapefiles
    – CaptDragon
    Feb 29, 2012 at 13:36
  • That won't help much because I need the actual shapefiles.
    – Jacques
    Feb 29, 2012 at 14:19

Whenever you want to create a shapefile (vector data) according to the scale from backdrop (raster data), you must have to georeference the backdrop first. Now you have to choose the exact georeferencing type according to the position of the floor plan and available data for its coordinates. Then to create shapefile for this backdrop you must have to choose the same coordinate (as selected for backdrop) for the shapefile.

If you have projected coordinate of the floor plan then there is no problem to create shapefile with exact measurements. Just georeference the raster and then create the shapefile.

If you do not have any coordinates, just measurements, then if you do compromise on exact position(ground position) of the floor plan then you can create imaginary coordinates for the exact measurements. Otherwise, you can find the coordinates from Google Earth.

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.