Troubleshooting#
Common issues#
Image is not geo-referenced:
ImagePerspectiverequirescamera,position,orientation, andcrs. Missing geo-reference raisesNotGeoreferencedError.Mapper missing: mapping functions (
map_points,map_footprint,map_center_point) require a mapper attached to the image or passed to the call. Missing mapper raisesMapperMissingError.No intersections found: - plane/raster mappers may return
Issue.WRONG_DIRECTIONwhen rays are parallel or point away, - raster/array mappers returnIssue.OUTSIDE_RASTERwhen queries leave the raster extent, - raster mappers may returnIssue.RASTER_NO_DATAwhen the ray touches no-data cells (holes) in the raster, - disk-backed raster ray intersection may returnIssue.MAX_ITTERATIONwhen the iterative solve does not converge, - mesh mapper can returnIssue.NO_INTERSECTIONwhen no triangles are hit.Projection returns no valid pixels:
ImagePerspective.projectcan fail withIssue.INVALID_PROJECTIIONSwhen all projected points lie outside the distortion validity border.CRS problems: pass
crs_swhen projecting/mapping data in a different CRS; ensure your CRSs are truly 3D when heights matter; compound CRSs may require PROJ grids.
Debug helpers#
Log
result.issueseven whenokisTrueto spot partial validity.Enable logging (
logging.basicConfig(level=logging.DEBUG)) to surface pyproj and mapper diagnostics.Inspect the distortion validity border via
camera.distortion_borderand test points withcamera.undistorted_image_points_inside(...).For batch processing, use
ImageBatch.project(..., only_valid=True)to find which images actually see target points.