From e83029879741f5aa63820b0ebc2f263698eea2fc Mon Sep 17 00:00:00 2001 From: jmenezes Date: Mon, 19 Feb 2018 09:16:42 -0300 Subject: [PATCH] fix pixelX_ to double, add idgcp_, log_ format Former-commit-id: a66f5e054abf8e7a2035e0e0af60b6c5c003360d --- contrib/shell/odm_exif2utm.sh | 25 +++++++++++++++++++ modules/odm_georef/src/FindTransform.cpp | 0 modules/odm_georef/src/FindTransform.hpp | 0 modules/odm_georef/src/Georef.cpp | 8 +++--- modules/odm_georef/src/Georef.hpp | 1 + modules/odm_georef/src/Logger.cpp | 0 modules/odm_georef/src/Logger.hpp | 0 modules/odm_georef/src/main.cpp | 0 .../odm_georef/src/modifiedPclFunctions.cpp | 0 .../odm_georef/src/modifiedPclFunctions.hpp | 0 10 files changed, 30 insertions(+), 4 deletions(-) create mode 100755 contrib/shell/odm_exif2utm.sh mode change 100644 => 100755 modules/odm_georef/src/FindTransform.cpp mode change 100644 => 100755 modules/odm_georef/src/FindTransform.hpp mode change 100644 => 100755 modules/odm_georef/src/Georef.cpp mode change 100644 => 100755 modules/odm_georef/src/Georef.hpp mode change 100644 => 100755 modules/odm_georef/src/Logger.cpp mode change 100644 => 100755 modules/odm_georef/src/Logger.hpp mode change 100644 => 100755 modules/odm_georef/src/main.cpp mode change 100644 => 100755 modules/odm_georef/src/modifiedPclFunctions.cpp mode change 100644 => 100755 modules/odm_georef/src/modifiedPclFunctions.hpp diff --git a/contrib/shell/odm_exif2utm.sh b/contrib/shell/odm_exif2utm.sh new file mode 100755 index 00000000..35453432 --- /dev/null +++ b/contrib/shell/odm_exif2utm.sh @@ -0,0 +1,25 @@ +#!/bin/bash +#GPL2 jmenezes ODM extract exif lon/lat project to utm with proj4; 2017-05-28 +# line 23 tab bugfix 2017-07-11 +# apt-get install exiftool geotiff-bin +if [ $# -lt 2 ]; then + echo "run inside /images/ directory" 1>&2 + echo $(basename $0)" zone [S|N] > camera_wgs84utm.txt" 1>&2 + exit 1 +fi +Z=$1 +case $2 in +s|S) printf "EPSG:327%02d\n" $Z; H=south +;; +n|N) printf "EPSG:326%02d\n" $Z; H=north +;; +*) +;; +esac +for i in *[jpg,JPG,tif,TIF]; do + exiftool $i | grep GPS | grep Position | \ + awk -F \: -v img=$i '{ print $2","img }' | tr -d [:blank:] | \ + sed s/deg/d/g | tr \, \\t | awk '{ print $2,$1,$3 }' | \ + proj -f "%.3f" +proj=utm +zone=$Z +$H +ellps=WGS84 +done | sed s/\ /\\t/g +exit 0 diff --git a/modules/odm_georef/src/FindTransform.cpp b/modules/odm_georef/src/FindTransform.cpp old mode 100644 new mode 100755 diff --git a/modules/odm_georef/src/FindTransform.hpp b/modules/odm_georef/src/FindTransform.hpp old mode 100644 new mode 100755 diff --git a/modules/odm_georef/src/Georef.cpp b/modules/odm_georef/src/Georef.cpp old mode 100644 new mode 100755 index 348cae03..39bdf65e --- a/modules/odm_georef/src/Georef.cpp +++ b/modules/odm_georef/src/Georef.cpp @@ -1,4 +1,4 @@ -// to format log_ output +// to format log_ output; version 2018-02-18 #include #include using namespace std; @@ -19,7 +19,7 @@ std::ostream& operator<<(std::ostream &os, const GeorefSystem &geo) } GeorefGCP::GeorefGCP() - :x_(0.0), y_(0.0), z_(0.0), use_(false), localX_(0.0), localY_(0.0), localZ_(0.0),cameraIndex_(0), pixelX_(0.0), pixelY_(0.0), image_("") + :x_(0.0), y_(0.0), z_(0.0), use_(false), localX_(0.0), localY_(0.0), localZ_(0.0),cameraIndex_(0), pixelX_(0.0), pixelY_(0.0), image_(""), idgcp_("") { } @@ -29,7 +29,7 @@ GeorefGCP::~GeorefGCP() void GeorefGCP::extractGCP(std::istringstream &gcpStream) { - gcpStream >> x_ >> y_ >> z_ >> pixelX_ >> pixelY_ >> image_; + gcpStream >> x_ >> y_ >> z_ >> pixelX_ >> pixelY_ >> image_ >> idgcp_; } Vec3 GeorefGCP::getPos() @@ -687,7 +687,7 @@ void Georef::readGCPs() ++nrGCPs; // log_<<"x_: "<