Question

Fixing raster image coordinate system


Badge

I have thousands of image already georeferenced (JPEG2000, JPEG, ECW and GeoTIFF) but I need to fix the coordinate system without re-projecting them.

Let's say they are saved as being in UTM-16 NAD83 but the real coordinate system is UTM-16 NAD83 SCRS.

I know that I can use FME with CoordinateSystemSetter to achieve that but is there a more efficient tool that I can use?

Regards,

Larry


4 replies

Userlevel 4
Badge +13

It is true that if you make FME do a translation of the original file so that you can reset the coordinate system you're doing alot of work -- the image is being rewritten.

We'd have to know what your input format is to know for sure if you can poke the coordinate system "in situ". That would not be able to be done by FME but you might be able to write some code that could do this. On the other hand, if you're using a raster format where the coordinate system is in a sidecar file, then it might be easy to fiddle with the coordinate system without reading and writing the whole image.

Badge

It is true that if you make FME do a translation of the original file so that you can reset the coordinate system you're doing alot of work -- the image is being rewritten.

We'd have to know what your input format is to know for sure if you can poke the coordinate system "in situ". That would not be able to be done by FME but you might be able to write some code that could do this. On the other hand, if you're using a raster format where the coordinate system is in a sidecar file, then it might be easy to fiddle with the coordinate system without reading and writing the whole image.

Input formats: JPEG2000, JPEG, ECW and GeoTIFF.

Userlevel 4
Badge +25

It's possible to open and update a world file (sidecar file as we sometimes call them) with a new coordinate system, but ECW, GeoTIFF, and (I believe) JPEG2000 can store their coordinate system information inside the file itself, which would be problematic.

If you are using FME, I would create a workspace with the CoordinateSystemSetter as described. But I would also create master workspace that reads a list of files with the File/Directory Format Reader, and passes each in turn to the CoordinateSystemSetter workspace through a WorkspaceRunner transformer.

The advantage there is that you are only reading one file at a time (not everything all at once) and you can also use multi-processing, to run up to 7 instances of the child workspace at once.

Badge

It's possible to open and update a world file (sidecar file as we sometimes call them) with a new coordinate system, but ECW, GeoTIFF, and (I believe) JPEG2000 can store their coordinate system information inside the file itself, which would be problematic.

If you are using FME, I would create a workspace with the CoordinateSystemSetter as described. But I would also create master workspace that reads a list of files with the File/Directory Format Reader, and passes each in turn to the CoordinateSystemSetter workspace through a WorkspaceRunner transformer.

The advantage there is that you are only reading one file at a time (not everything all at once) and you can also use multi-processing, to run up to 7 instances of the child workspace at once.

Hello Mark,

Don't worry, I don't want to process all files at once there are more than 300000.

We are not sure that we will use FME but I'll keep you informed.

Thanks,

Larry

Reply