Skip To Content ArcGIS for Developers Sign In Dashboard

Query Exif Info

Description

Query Exif Info diagram

The QueryExifInfo operation is a service tool that reads the Exif header metadata from single or multiple images in shared data store. The Exif metadata is usually stored in drone image files. Some common Exif metadata information are GPS locations, camera model, focal length, and more.

You must license your ArcGIS Server as an ArcGIS Image Server to use this resource.

Request parameters

ParameterDetails
inputImages

(Required)

The input images could be a single image path, list of image paths, or a folder path, or a list of folder paths.

The image server setup account should be granted “read” permission to the image file’s location.

The image file paths can also be server data store path, see the example below.

Example:

\\servername\drone\imagefolder
/cloudStores/S3DataStore/yvwd13
/fileShares/drones/SampleEXIF/YUN_0040.jpg

["/fileShares/drones/SampleEXIF/DJI_0002.JPG", "/ fileShares /drones/SampleEXIF/YUN_0040.jpg"]
["/cloudStores/S3DataStore/yvwd13", "/cloudStores/S3DataStore/BogotaFarm"]

Note: /fileShares/drones…... or /cloudStores/S3DataStore…… are the data store items registered with ArcGIS Server. You can see the list of registered data store items on ArcGIS Server manager -> Site -> Data Stores page.

f

The response format. The default response format is html.

Values: html | json

Note

You can mix image file path and folder path together in an input list.

Response

When you submit a request, the service assigns a unique job ID for the transaction.

Syntax:

{
"jobId": "<unique job identifier>",
"jobStatus": "<job status>"
}

After the initial request is submitted, you can use the jobId to periodically check the status of the job and messages as described in Checking job status. Once the job has successfully completed, you use the jobId to retrieve the results. To track the status, you can make a request of the following form:

https://<orthomapping tools url>/QueryExifInfo/jobs/<jobId>

When the status of the job request is esriJobSucceeded, you can access the results of the analysis by making a request of the following form:

https://<orthomapping tools url>/QueryExifInfo/jobs/<jobId>/results/outExifInfo?token=<your token>&f=json

The output JSON of all Exif metadata found in each input images. If no Exif metadata found in any of the input image, the output will be an error message “No Exif Info found”.

ParameterDescription
outExifInfo

The output JSON syntax for each image:

Example:

{
    cols:,
    rows:,
    planes:,
    cameraInfo:{
        model:,
        make:,
        focalLength:,
        acquisitionDate:,
        pixelSize:
    }
    exif: {},
    gps: {},
    xmp: {},
    long:,
    lat:,
    alt:,
    spatialReference:,
}
A sample output JSON:
{
 "paramName": "outExifInfo",
 "dataType": "GPString",
 "value": {
"/cloudStores/s3droneimagery_ds_hxuyrvjtmuta2xpl/YVWD_121/Images/YUN_0004.JPG": {
   "acquisitionDate": "2018-04-14",
   "cameraInfo": {
    "cols": 5472,
    "rows": 3648,
    "model": "E90",
    "make": "Yuneec"
   },
   "exif": {
    "DateTimeOriginal": "2018:04:14 19:29:02",
    "FocalLength": 8.3,
    "PixelXDimension": 5472,
    "PixelYDimension": 3648,
    "FocalPlaneResolutionUnit": "4",
    "FocalPlaneXResolution": 416.667
   },
   "gps": {},
   "xmp": {},
   "long": -117.09967169444444,
   "lat": 34.007919,
   "alt": 725.37,
   "spatialReference": 32611
  },
"/cloudStores/s3droneimagery_ds_hxuyrvjtmuta2xpl/YVWD_121/Images/YUN_0005.JPG": {
   "acquisitionDate": "2018-04-14",
   "cameraInfo": {
    "cols": 5472,
    "rows": 3648,
    "model": "E90",
    "make": "Yuneec"
   },
   "exif": {
    "DateTimeOriginal": "2018:04:14 19:29:06",
    "FocalLength": 8.3,
    "PixelXDimension": 5472,
    "PixelYDimension": 3648,
    "FocalPlaneResolutionUnit": "4",
    "FocalPlaneXResolution": 416.667
   },
   "gps": {},
   "xmp": {},
   "long": -117.0993416111111,
   "lat": 34.007897388888885,
   "alt": 725.49,
   "spatialReference": 32611
  }
}
}

Example usage

Below is a sample URL for QueryExifInfo.

http://<orthomapping service tool url>/QueryExifInfo/submitJob?
imageCollection=/fileShares/droneimagefolder/IMG0001.jpg