[gdal-dev] tps - gdalwarp vs ogr2ogr
Andrew C Aitchison
andrew at aitchison.me.uk
Tue Nov 7 06:22:26 PST 2023
https://raw.githubusercontent.com/craigshelley/QuickChart/master/Specification/The%20Quick%20Chart%20File%20Format%20Specification%201.03.pdf
describes a file format which includes polynomials describing forward
*and reverse* tranforms for this.
I don't know how common, or accurate, such reverse transforms are.
Would it be useful or much effort to add the ability to use the
reverse transform when it is offered ?
[ I have a gdal driver which can read some
but not all of these files. ]
On Tue, 7 Nov 2023, Even Rouault via gdal-dev wrote:
> Hi,
>
> I've ticketed your issue as https://github.com/OSGeo/gdal/issues/8672 . What
> you could try to reduce the execution time is to enable multithreading by
> adding -wo NUM_THREADS=ALL_CPUS to your gdalwarp command line
>
> And yes the previous implementation of the raster TPS transformation was
> "wrong", at least not consistent with the forward direction of the TPS
> transformer as used by ogr2ogr. Both matched on the exact location of ground
> control points, but the result could be substantially different in-between.
> The new implementation solves that, but it implies substantial more
> computation cost as you found out...
>
> Even
>
> Le 07/11/2023 à 08:29, Stijn Tallir via gdal-dev a écrit :
>> Hi Jukka,
>>
>> The transformation lasted 3h20min vs 9min (before the fix)!
>>
>> The results for raster and vector tps transformation are very similar now
>> and nothing changed for the vector result. Do I have to conclude the
>> previous rasters tps transformation method was faulty then?
>>
>> Stijn
>>
>> Op ma 6 nov 2023 om 16:32 schreef Stijn Tallir <stijn+gdal-dev at strict.be
>> <mailto:stijn%2Bgdal-dev at strict.be>>:
>>
>> Hi,
>>
>> Does that mean the old raster tps transformation was "wrong" or
>> the old vector transformation?
>>
>> I'm doing a test and trying to transform my raster image with the
>> latest dev version in osgeo4W but it takes forever to process now.
>> Don't know in how many days I will see the result :(
>>
>> The vector transformation with the latest dev version was the same
>> (time and result).
>>
>> Stijn
>>
>> Op ma 6 nov 2023 om 14:48 schreef Rahkonen Jukka
>> <jukka.rahkonen at maanmittauslaitos.fi>:
>>
>> Hi,
>>
>> See the issue https://github.com/OSGeo/gdal/issues/8572
>> <https://github.com/OSGeo/gdal/issues/8572>. Maybe your
>> problem is also resolved by
>> https://github.com/OSGeo/gdal/pull/8573. The fix is included
>> in the GDAL 3.8 RC1 version that was released 3 hour ago. Do
>> you have an option to make a test?
>>
>> -Jukka Rahkonen-
>>
>> *Lähettäjä:* Stijn Tallir <stijn at strict.be>
>> *Lähetetty:* maanantai 6. marraskuuta 2023 14.47
>> *Vastaanottaja:* Rahkonen Jukka
>> <jukka.rahkonen at maanmittauslaitos.fi>
>> *Kopio:* gdal-dev at lists.osgeo.org
>> *Aihe:* Re: [gdal-dev] tps - gdalwarp vs ogr2ogr
>>
>> Hi Jukka,
>>
>> I finally found the time to produce a test set.
>>
>> You can download it here:
>> https://drive.google.com/file/d/1Y08Q-tIm5dxyKFKNdVqilvAO3H7FFFbx/view?usp=sharing
>>
>> I started from an unreferenced raster file (raster2tps.tif)
>> with gcp's (gcp4tps.gcp) and transformed it with tps
>> (tpsraster.tif).
>>
>> Then polygonized the unreferenced raster file (vector2tps.shp)
>> and transformed the result with the same gcp's (gcp4tps.gcp)
>> and with tps (tpsvector.shp).
>>
>> The vector2tps.shp polygons are "flipped" because of the
>> different Y-origin for rasters and vectors but this way both
>> datasets can use the exact same gcp's.
>>
>> When you lay the tpsvector-result on top of the
>> tpsraster-result (in QGis for instance) you'll see the
>> differences in how both are transformed.
>>
>> Kind regards,
>>
>> Stijn
>>
>> Op wo 16 aug 2023 om 13:16 schreef Stijn Tallir
>> <stijn+gdal-dev at strict.be <mailto:stijn%2Bgdal-dev at strict.be>>:
>>
>> Yes, I checked them visually for both raster and vector.
>>
>> I compared the results also visually. The rasters are
>> transformed in a way that the end ponts of the gcp's align
>> exactly with the result so that is why I referred to it as
>> "right". The vector data result is in the neighbourhood of
>> the end points (sometimes a rather significant distance).
>>
>> The result is different from order 1-3 transformations so
>> I presume the tps option isn't ignored.
>>
>> Stijn
>>
>> Op wo 16 aug 2023 om 11:52 schreef Rahkonen Jukka
>> <jukka.rahkonen at maanmittauslaitos.fi>:
>>
>> Hi,
>>
>> Did you check the ground control points? What is your
>> reference when you say that one result is right, and
>> another wrong? Have you used some other software for
>> comparison? Or do you only know that the results are
>> different?
>>
>> -Jukka-
>>
>> *Lähettäjä:* Stijn Tallir <stijn at strict.be>
>> *Lähetetty:* keskiviikko 16. elokuuta 2023 12.27
>> *Vastaanottaja:* Rahkonen Jukka
>> <jukka.rahkonen at maanmittauslaitos.fi>
>> *Kopio:* gdal-dev at lists.osgeo.org
>> *Aihe:* Re: [gdal-dev] tps - gdalwarp vs ogr2ogr
>>
>> Hi Jukka,
>>
>> I thought of the density as an option for the "error"
>> as you suggested and I made a point-file with a point
>> for every pixel in my original image and used this as
>> a source for the ogr2ogr transformation. So you could
>> say the desnity for both sources raster and vector)
>> are then alike.
>>
>> The results were still the same (and wrong) ...
>>
>> Stijn
>>
>> Op wo 16 aug 2023 om 10:22 schreef Rahkonen Jukka
>> <jukka.rahkonen at maanmittauslaitos.fi>:
>>
>> Hi,
>>
>> Without test data it is very hard to say much. I
>> believe that the promise of tps is that the ground
>> control points stay where they are set. The
>> intermediate points follow the least tension
>> surfaces and I do not know how exactly those
>> spline algorithms are defined. Raster data is full
>> of points to warp but probably in the vector data
>> the transformation is done vertex by vertex. I
>> would first check if the GCPs are in the same
>> place in both outputs. Then I would make a test by
>> densifying the vector data before georeferencing
>> to have much more vertices and see if it has any
>> effect on the result.
>>
>> -Jukka Rahkonen-
>>
>> *Lähettäjä:* gdal-dev
>> <gdal-dev-bounces at lists.osgeo.org> *Puolesta
>> *Stijn Tallir
>> *Lähetetty:* keskiviikko 16. elokuuta 2023 10.29
>> *Vastaanottaja:* gdal-dev at lists.osgeo.org
>> *Aihe:* [gdal-dev] tps - gdalwarp vs ogr2ogr
>>
>> Hi,
>>
>> According to the documentation gdal and ogr use
>> the same algorithm for the tps-transformation but
>> I don't seem to get the same results using the
>> same set of gcp's for images and vectors.
>>
>> I have images that are unreferenced and vector
>> data digitised on these images (in pixel coordinates).
>>
>> The images are then georeferenced with +100 gcp's
>> and warped with gdalwarp using the "tps" option.
>>
>> When I use the same gcp's (with adjusted y-origin
>> to lower left corner) to georeference the vector
>> data with ogr2ogr and the "tps" option I get
>> different results. The vector-result is similar to
>> the image-result but never exactly the same and
>> differences can be substantial.
>>
>> Any thoughts?
>>
>> Stijn
>>
>>
>> --
>> Stijn Tallir - StrICT BV
>>
>> Wijnveld 8
>>
>> 9112 Sinaai-Waas
>>
>> GSM: 0486 750220
>>
>> E-mail: Info at strict.be
>>
>> Web: www.strict.be <http://www.strict.be/>
>>
>> BTW: BE 0567.559.668
>>
>>
>> --
>> Stijn Tallir - StrICT BV
>>
>> Wijnveld 8
>>
>> 9112 Sinaai-Waas
>>
>> GSM: 0486 750220
>>
>> E-mail: Info at strict.be
>>
>> Web: www.strict.be <http://www.strict.be/>
>>
>> BTW: BE 0567.559.668
>>
>>
>> _______________________________________________
>> gdal-dev mailing list
>> gdal-dev at lists.osgeo.org
>> https://lists.osgeo.org/mailman/listinfo/gdal-dev
>
> --
> http://www.spatialys.com
> My software is free, but my time generally not.
>
--
Andrew C. Aitchison Kendal, UK
andrew at aitchison.me.uk
More information about the gdal-dev
mailing list