0

I am trying for hours to figure out why georeference is producing totally error result with no success till now.

I have 2 georeferenced images of the same area that were produced automatically from photogrammetry software. Since the images were taken at different times they do have some rotation and translation differences. I try to georeference the second image over the first but with no success.

Here is the .point file from the trial :

#CRS: GEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic latitude (Lat)",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic longitude (Lon)",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],USAGE[SCOPE["Horizontal component of 3D system."],AREA["World."],BBOX[-90,-180,90,180]],ID["EPSG",4326]]

mapX,mapY,pixelX,pixelY,enable,dX,dY,residual 23.60172217179741594,41.10140213690995381,23.6017051716511439,41.10137426735126809,1,2701864678.40294885635375977,-3178543219.90778112411499023,4171715443.46246051788330078 23.60221108572273252,41.10146906089557461,23.6021896117310952,41.10143778577106133,1,3516156158.62857341766357422,-2991949568.66892719268798828,4616829686.41034317016601563 23.60182707461034113,41.10175803139581774,23.60181273007820479,41.10172539136654279,1,2882658783.61192035675048828,-2147070581.56094503402709961,3594389203.31944751739501953

As you can see, the transformation coordinates are too close (in fact, the image is so close to wanted coordinates that it needs to rotate and translate about 2-3 meters with an angle less than 2 degrees) and there is no way it can produce such huge residuals!

Similar huge errors i get if i use metric crs (.point file):

#CRS: PROJCRS["GGRS87 / Greek Grid",BASEGEOGCRS["GGRS87",DATUM["Greek Geodetic Reference System 1987",ELLIPSOID["GRS 1980",6378137,298.257222101,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4121]],CONVERSION["Greek Grid",METHOD["Transverse Mercator",ID["EPSG",9807]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",24,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["Scale factor at natural origin",0.9996,SCALEUNIT["unity",1],ID["EPSG",8805]],PARAMETER["False easting",500000,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["(E)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["(N)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Engineering survey, topographic mapping."],AREA["Greece - onshore."],BBOX[34.88,19.57,41.75,28.3]],ID["EPSG",2100]]

mapX,mapY,pixelX,pixelY,enable,dX,dY,residual 466405.63199047598754987,4549804.4120216891169548,466404.21012703853193671,4549801.29444849584251642,1,-7600095.73511640913784504,-75146612.21603575348854065,75529959.50435951352119446 466446.87596777582075447,4549811.6561160683631897,466445.04759897431358695,4549808.15740922465920448,1,-7590490.84173846896737814,-75144968.54554206132888794,75527358.28114883601665497 466414.79582943645073101,4549843.86135801207274199,466413.53604350675595924,4549840.2924375468865037,1,-7597902.04292751755565405,-75137270.53213031589984894,75520444.50658683478832245 466448.10913186799734831,4549836.37897105701267719,466446.58486410282785073,4549832.87501431908458471,1,-7590128.9605892077088356,-75139047.34265957772731781,75521430.68825438618659973

Strange thing is that the GDAL script has the y coordinates as negatives (i don't know if it supposed to have them this way due to north-up status of images)

gdal_translate -of GTiff -gcp 466404 -4.5498e+06 466406 4.5498e+06 -gcp 466445 -4.54981e+06 466447 4.54981e+06 -gcp 466414 -4.54984e+06 466415 4.54984e+06 -gcp 466447 -4.54983e+06 466448 4.54984e+06 "XXXXXX/XXX/XXXX/2.tif" ""

Anyone has a clue why this happens and the georeferencer cannot use the georeferenced images correctly?

*Funny thing is that this process worked 3 months ago! *Also, if i convert the second image from tif to jpg and do the georeference, it works smoothly with less than 0.1 pixels residuals! The problem here is that the image have lots of bands and pyramids so changing the format produces artifacts and/or loose information, so this cannot be a practical solution...

1 Answer 1

0

If they dont have the same resolution they wont align or wont be georefernced properly even if they are in the same coordinates.There is a tool in qgis called Align raster in the bar "Raster". Make sure to give same cell size to both the image.

1
  • No, this is not the reason. First image is just a reference to get 'ground coordinates'. It could be a vector layer or a google earth image instead . As you can see from .point file, the georeferencer calculates totally wrong the parameters (and as result the residuals) of affine transformation. Giving the exact coordinates to an external affine solver, calculates them right with 0.10 cm error. It looks like the georeferencer needs pixel coords for image but while on collecting the points it collects 'wrong' ground coordinates...
    – Lazikas
    Nov 30, 2022 at 10:17

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.