I have read up on several questions that seen to have similar problems in georeferencing dxf files from CAD. None of them are clear, so I am trying here.

I have CAD files of solar plant layouts, roads, fences, etc in DWG format. I have used Any DWG DXF Converter to convert into DXF, which I can open in QGIS. The problem is there are no recognisable scales or coordinate system. The scale is currently 1:377579882 when viewing the plant layout from just above and the coordinate on the mouse point is 95675, -3008800.

I have tried reading about the Affine plug in, but can't work out how to use it as the the Transformation Matrix makes little sense without explanation. I have tried using and reading up on the V.Transform module in GRASS, but I don't know what the "Shifting Value for X and Y coordinates" is or the "Scaling Factor for X and Y coordinates" - None of the previous answers seem to actually tell users how to run these modules or find the correct inputs.

The purpose of this exercise is to take the CAD files (which I can make into DXF), load them in QGIS (possible convert to Shapefile if necessary) and save them as KML files to open in Google Maps.

  • 1
    Based on your user name--data is in South Africa? The coordinate reference system may be one of the Lo grids. Is the data using the usual south,west axes? Or has it been converted to easting,northing?
    – mkennedy
    Jul 29, 2016 at 18:24
  • If I transfer the project into lo27, save as KML, and open in google maps, the site is either shifted to Egypt, or is located incorrectly in South Africa. I just can't solve this problem.
    – user71215
    Aug 2, 2016 at 12:32

1 Answer 1


There are already many answers as you stated. But did you try Vector bender from the second answer here, that also have a video linked how it works? Georeferencing DXF using QGIS?

That you don´t understand the other tools might be due the problem of the topic in general. Your dxf has no information about what kind of data it is. A solar plant could be 5meters long, 500 or whatever. The program does not know. You could find out the scaling by measuring a line of your imported dxf and compare it to the real length of the line. The real length you need to find out, either by knowing (the exact length of a house for example), or when you have other data (like a aerial picture) where you could identifiy and measure the same line. Then you divide both values and you have your scaling that you can put in for x and y scaling factor. (as a sidenote: i assume that most coordinate references have equal x/y scaling and that the differences from unequal distortion doesn´t matter on small areas)

The second point is that the program does not know where the solar plant is. So you need coordinates. Again: Take a map or aerial picture with coordinate reference, load it and find a common point in your dxf and the other map/picture. Look at the coordinates of both points in both views and substract the x and y values. That will be your x and y shift.

If a rotation is needed you measure the angle the same way with the measure tool and the angle of common lines.

  • Thanks for your answer, unfortunately it doesn't help me. The CAD file has it's own lengths for the plant, as a CAD file would. Apart from that I know the exact length of the plant, and you say "Then you divide both values and you have your scaling that you can put in for x and y scaling factors" - I don't know what you mean by this. Divide both by what? To the second part of your answer: The CAD file has coordinates linked to the corners of the plant - NW corner = -94864.3158 (Y), 3008332.7132(X). I don't know what you mean by somehow linking an aerial photo?
    – user71215
    Jul 29, 2016 at 11:32
  • I've come back to this problem and I think I understand your answer better. The length of the solar plant needs to be roughly 160meters, while the length of the same line in the DXF is 41531.49km! I can get a scaling factor. I can get an aerial photograph (google earth) of the location, which has understandable coordinates, however, the coordinates of the DXF are (e.g.) 17515, -3490171. Subtracting these values won't seem to help? Lastly, the vector bender plugin doesn't seem to have any space to input shift in scale and x and y shift either. Thanks for your help so far.
    – user71215
    Aug 19, 2016 at 14:51

Your Answer

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

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