Sign up ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I have got myself a dxf which is built with units in the wrong scale. How do I upscale that in QGIS? Note it does open in QGIS, just in the wrong map units and location.

share|improve this question

7 Answers 7

up vote 7 down vote accepted

You georeference rasters and affine vectors :)

QGIS has an affine plug-in (qgsAffine) with which you can scale vector layers. You can also apply x and y offsets to all of the vertices in a vector layer if required. I think you will probably need to convert your DXF to a shapefile to use it though (right-click on the layer in the layers panel and go 'Save as...'). Applying rotation to a vector layer is slightly more difficult.

share|improve this answer
Here are some tips to rotating with qgsAffine: – Mike T Apr 2 '12 at 21:37
Hum yes, I did make a contribution to that topic which didn't seem to find much favour. But on balance I still prefer the OpenJump approach, it calculates all seven transformation parameters and then applies them to the vector of interest. I think I saw a QGIS GSoC proposal for doing the same thing in QGIS, which would be helpful. – nhopton Apr 3 '12 at 7:49
Yeah, I see what the OpenJump folks are using and it is much slicker! – Mike T Apr 3 '12 at 8:22

I believe this can be accomplished in QGIS .
However I use cad software with my gis software and would do the following in it.
Either way you need some basic information about the dxf.
1. You should know the units of the dxf.
2. You should have a set of known points in the dxf. (at the very least 2 points).

1a. If the original coordinate system (or non-system) is identifiable then you should transform it to a similar known system.
(if the drawing was just drawn in no system but a 0,0 base system assume some type of equal area.) either alambert or albers (dependent upon the coverage area [size])
2a. ensure that all items in the drawing are displayed (no layers turned off).
3a. select all the features.
4a. move all the features from a known point to a known point.
5a. after determining the original scale resize all selected objects empirically
6a. rotate all selected objects empirically.
Save and/or export the selected objects with a known CRS.

share|improve this answer

The fastest way, I think, is to modify your DXF file (scale and place in right coordinates) using a CAD software, and then load it in QGIS.

You can, of course, move your features in QGIS, but you can not scale them. Hope this helps.

share|improve this answer

I also have a few DXFs that I wish to affine. I used OpenJump once, because I could not do the maths for the QGIS plugin. However, eventually I found it easier to save my SHP layer with a known projection as a DXF, open this in (free) QCAD, import the DXF which needed affining, and do all the scaling, rotating and moving of the DXF there. When everything was in place I then saved it as a DXF and re-imported it into QGIS where the projection was retained and my DXF was now also affined in the proper position and scale. I could then save the DXF as SHP.

share|improve this answer

nhopton's answer above on using the qgsAffine plugin worked for me only last week. I had a dxf that was scaled 1000x the CRS I wanted. I transformed the dxf to shp with the standard plugin, then transformed X and Y by multiplying by .001 in qgsAffine, and problem was solved.

PS Belated thanks to nhopton for the advice, which I didn't get to extend before the QGIS Forum was shut down!

share|improve this answer

This can also be done using GDAL 1.10. The approach uses control points, and is less about just scaling, but full on georeferencing (handy if the dxf has lost all of its spatial information).

It is done by performing a basic transformation in ogr2ogr and supplying the control points in the -gcp tag.

For a guide please see: Georeferencing vector data using QGIS

share|improve this answer

Another - more interactive - option is the Vector Bender plugin. It

does to vectors what georefencers does to raster. This feature is also known as "rubber sheeting".

There is even a video showcasing how it works:

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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