Upload file geo.txt successfully but render error

When I upload images with geo.txt file using webodm api it doesn’t get GPS information.

However if I upload it using web interface it works fine

[INFO] Fast orthophoto is turned on, automatically setting --skip-3dmodel
[INFO] Initializing ODM 2.8.8 - Wed Aug 31 07:13:41 2022
[INFO] ==============
[INFO] 3d_tiles: False
[INFO] auto_boundary: True
[INFO] auto_boundary_distance: 0
[INFO] boundary: {}
[INFO] build_overviews: False
[INFO] camera_lens: auto
[INFO] cameras: {}
[INFO] cog: True
[INFO] copy_to: None
[INFO] crop: 3
[INFO] debug: False
[INFO] dem_decimation: 1
[INFO] dem_euclidean_map: False
[INFO] dem_gapfill_steps: 3
[INFO] dem_resolution: 5
[INFO] depthmap_resolution: 640
[INFO] dsm: True
[INFO] dtm: False
[INFO] end_with: odm_postprocess
[INFO] fast_orthophoto: True
[INFO] feature_quality: high
[INFO] feature_type: sift
[INFO] force_gps: False
[INFO] gcp: None
[INFO] geo: /var/www/data/93500ccc-6334-43e5-a906-bda7b3d30c56/gcp/geo.txt
[INFO] gps_accuracy: 10
[INFO] ignore_gsd: False
[INFO] matcher_neighbors: 0
[INFO] matcher_type: flann
[INFO] max_concurrency: 48
[INFO] merge: all
[INFO] mesh_octree_depth: 11
[INFO] mesh_size: 40000
[INFO] min_num_features: 10000
[INFO] name: 93500ccc-6334-43e5-a906-bda7b3d30c56
[INFO] no_gpu: False
[INFO] optimize_disk_space: False
[INFO] orthophoto_compression: DEFLATE
[INFO] orthophoto_cutline: False
[INFO] orthophoto_kmz: False
[INFO] orthophoto_no_tiled: False
[INFO] orthophoto_png: False
[INFO] orthophoto_resolution: 7.0
[INFO] pc_classify: False
[INFO] pc_copc: False
[INFO] pc_csv: False
[INFO] pc_ept: True
[INFO] pc_filter: 2.5
[INFO] pc_geometric: False
[INFO] pc_las: False
[INFO] pc_quality: medium
[INFO] pc_rectify: False
[INFO] pc_sample: 0
[INFO] pc_tile: False
[INFO] primary_band: auto
[INFO] project_path: /var/www/data
[INFO] radiometric_calibration: none
[INFO] rerun: None
[INFO] rerun_all: False
[INFO] rerun_from: None
[INFO] resize_to: 2048
[INFO] rolling_shutter: False
[INFO] rolling_shutter_readout: 0
[INFO] sfm_algorithm: incremental
[INFO] skip_3dmodel: True
[INFO] skip_band_alignment: False
[INFO] skip_orthophoto: False
[INFO] skip_report: False
[INFO] sky_removal: False
[INFO] sm_cluster: None
[INFO] smrf_scalar: 1.25
[INFO] smrf_slope: 0.15
[INFO] smrf_threshold: 0.5
[INFO] smrf_window: 18.0
[INFO] split: 999999
[INFO] split_image_groups: None
[INFO] split_overlap: 150
[INFO] texturing_data_term: area
[INFO] texturing_keep_unseen_faces: False
[INFO] texturing_outlier_removal_type: gauss_clamping
[INFO] texturing_skip_global_seam_leveling: False
[INFO] texturing_skip_local_seam_leveling: False
[INFO] texturing_tone_mapping: none
[INFO] tiles: False
[INFO] time: False
[INFO] use_3dmesh: False
[INFO] use_exif: False
[INFO] use_fixed_camera_params: False
[INFO] use_hybrid_bundle_adjustment: False
[INFO] verbose: False
[INFO] ==============
[INFO] Running dataset stage
[INFO] Loading dataset from: /var/www/data/93500ccc-6334-43e5-a906-bda7b3d30c56/images
[INFO] Loading 44 images
[INFO] Found image geolocation file
[INFO] Parsing SRS header: EPSG:4326
[INFO] Wrote images database: /var/www/data/93500ccc-6334-43e5-a906-bda7b3d30c56/images.json
[INFO] Found 44 usable images
[WARNING] GPS position not available for MM_02603.JPG
[WARNING] GPS position not available for MM_02612.JPG
[WARNING] GPS position not available for MM_02611.JPG
[WARNING] GPS position not available for MM_02621.JPG
[WARNING] GPS position not available for MM_02614.JPG
[WARNING] GPS position not available for MM_02618.JPG
[WARNING] GPS position not available for MM_02622.JPG
[WARNING] GPS position not available for MM_02610.JPG
[WARNING] GPS position not available for MM_02615.JPG
[WARNING] GPS position not available for MM_02627.JPG
[WARNING] GPS position not available for MM_02645.JPG
[WARNING] GPS position not available for MM_02630.JPG
[WARNING] GPS position not available for MM_02613.JPG
[WARNING] GPS position not available for MM_02617.JPG
[WARNING] GPS position not available for MM_02619.JPG
[WARNING] GPS position not available for MM_02634.JPG
[WARNING] GPS position not available for MM_02646.JPG
[WARNING] GPS position not available for MM_02625.JPG
[WARNING] GPS position not available for MM_02616.JPG
[WARNING] GPS position not available for MM_02623.JPG
[WARNING] GPS position not available for MM_02629.JPG
[WARNING] GPS position not available for MM_02631.JPG
[WARNING] GPS position not available for MM_02637.JPG
[WARNING] GPS position not available for MM_02632.JPG
[WARNING] GPS position not available for MM_02648.JPG
[WARNING] GPS position not available for MM_02653.JPG
[WARNING] GPS position not available for MM_02642.JPG
[WARNING] GPS position not available for MM_02624.JPG
[WARNING] GPS position not available for MM_02652.JPG
[WARNING] GPS position not available for MM_02639.JPG
[WARNING] GPS position not available for MM_02651.JPG
[WARNING] GPS position not available for MM_02626.JPG
[WARNING] GPS position not available for MM_02628.JPG
[WARNING] GPS position not available for MM_02649.JPG
[WARNING] GPS position not available for MM_02641.JPG
[WARNING] GPS position not available for MM_02633.JPG
[WARNING] GPS position not available for MM_02650.JPG
[WARNING] GPS position not available for MM_02643.JPG
[WARNING] GPS position not available for MM_02635.JPG
[WARNING] GPS position not available for MM_02638.JPG
[WARNING] GPS position not available for MM_02644.JPG
[WARNING] GPS position not available for MM_02636.JPG
[WARNING] GPS position not available for MM_02647.JPG
[WARNING] GPS position not available for MM_02640.JPG
[WARNING] Could not generate coordinates file. The orthophoto will not be georeferenced.

types = ("*.jpg", "*.jpeg", "*.JPG", "*.JPEG")
images_list = []
for t in types:
    images_list.extend(glob.glob(os.path.join(sys.argv[1], t)))

images_list.append(Path.joinpath(directory, 'geo.txt'))

images = [('images', (os.path.basename(file), open(file, 'rb'))) for file in images_list]

options = json.dumps([
            {'name': "orthophoto-resolution", 'value': orthophoto_resolution},
            {'name': "fast-orthophoto", 'value': True},
            {'name': "dsm", 'value': True},
            {'name': "texturing-data-term", 'value': 'area'},
            {'name': "mesh-size", 'value': 40000},
            {'name': "skip-3dmodel", 'value': True},
            {'name': "auto-boundary", 'value': True}

        ])
  res = requests.post('{}/api/projects/{}/tasks/'.format(odm_endpoint, project_id),
                      headers={'Authorization': 'JWT {}'.format(token)},
                      files=images,
                      data={
                          'options': options
                      }).json()

I don’t know where I went wrong?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.