5

I have a large number of shapefiles in OSGB (EPSG:7405), with no .prj file that I would like to convert to WGS84 (EPSG:4326).

Can you let me know if this is possible in QGIS and, if so, how, and, if not, indicate another tool that can do this?

6

Using QGIS, you can load the shapefile as a new layer, and Set CRS for Layer to EPSG:7405 (or better EPSG:27700). Then use Save As... to save it to another filename and EPSG:4326.

Alternatively, GDAL ogr2ogr is the right tool for you.

ogr2ogr -t_srs epsg:4326 -s_srs epsg:27700 dst_datasource_name src_datasource_name

should deliver the data you want, overriding the missing source CRS. You can even batch process a whole folder with ogr2ogr:

for %%N in (source_folder\*.shp) DO ogr2ogr -t_srs epsg:4326 -s_srs epsg:27700 dst_folder\%%N source_folder\%%N

Linux and Mac syntax might be different.

  • 3
    If you have a problem getting EPSG:7405 to work (it's a compound ProjCRS + VertCRS), try using EPSG:27700 instead. That's the well-known ID for British National Grid. – mkennedy Jan 23 '15 at 20:56
  • @mkennedy Where do you run the batch process? In the command prompt? That does not seem to work for me. Do you run this as a Python script importing ogr2ogr? Thank you – Casivio Feb 7 '18 at 0:05
  • I think you meant to ping @AndreJ – mkennedy Feb 7 '18 at 2:03
  • I usually create batch files to run them inside the OSGEO4W or Gisinternals shell. The syntax is slightly different when you type it directly after the command prompt: %%N turns into %N. See ss64.com/nt/for.html for the correct syntax. – AndreJ Feb 7 '18 at 16:34
  • Indeed I did mkennedy. Sorry about that. Thanks @AndreJ . I was not able to get this to work with different directories but I was able to use this to copy files within the same folder and pre-pend the new projection to the file names of the files created. With the command prompt, I had to put the names of the files first and then change the order to -s_srs before -t_srs – Casivio Feb 8 '18 at 21:41
4

Using QGIS 2.6.1 (and probably some previous versions as well)

  Go to "Processing toolbox"  and search for "Reproject layer" under QGIS geoalgorithms, 

  Select the tool and right click to open contextual menu, 

  Select the "Ëxecute as batch process" option 

  Select each one of your "input layer", "Target CRS" and "Reprojected layer name" 

  Click "Run" to process the whole bunch of layers needed.

Hope this helps.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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