[gdal-dev] New OGR driver: Imageset

Eli Adam eadam at co.lincoln.or.us
Mon Jul 23 08:44:28 PDT 2012


At one point I used GDAL's ability to access EXIF data along with sed
and bash to make a shapefile photo index, like ogrtindex but for
photos and points rather than geo-rasters and polygons.  It worked ok
but had precision issues and I stopped working on it when I found
GPSPrune, http://activityworkshop.net/software/gpsprune/index.html,
which did what I wanted but better.

I think that this would be a useful utility.

Eli

On Mon, Jul 23, 2012 at 8:26 AM, Daniel Morissette
<dmorissette at mapgears.com> wrote:
> If I understand correctly, in the Open() call, this driver would open each
> image file to read its EXIF info and index the files in memory? This would
> work fine with a dozen images, but as the number of images increases the
> performance will suffer a lot and this would become unusable in apps such as
> MapServer, and even for Desktop apps with hundreds of images.
>
> If I needed this kind of functionality myself I would use a script to create
> an OGR point file as suggested by Even, to avoid the overhead caused by
> opening all the images.
>
> My 0.02$
>
> Daniel
>
>
>
> On 12-07-23 5:27 AM, Tamas Szekeres wrote:
>>
>> Hi Even,
>>
>> I just want to use the directory name to define the connection to the
>> images, we could also provide to scan the files in subdirectories if
>> needed. I would prefer to have a new driver not just an offline tool for
>> creating OGR datasets, in this case many existing applications (like
>> MapServer) would be capable to utilize this feature.
>> I could imagine a driver configuration file to specify which driver
>> should be used for a particular image format and where the specific
>> information is located, I don't require to harmonize the metadata
>> structure at this time. We should probably allow mixing jpegs and tiffs
>> in the same directory, but the configuration should specify how the
>> similar attributes are provided by each (sub)driver.
>>
>> Best regards,
>>
>> Tamas
>>
>>
>>
>> 2012/7/23 Even Rouault <even.rouault at mines-paris.org
>> <mailto:even.rouault at mines-paris.org>>
>>
>>
>>     Le lundi 23 juillet 2012 09:51:14, Tamas Szekeres a écrit :
>>      > Hi All,
>>      >
>>      > We're thinking about implementing a new OGR driver which would
>>     represent a
>>      > set of images as a vector data source. The images are taken from
>>     any GPS
>>      > compatible mobile device, and each picture would be represented
>>     as a point
>>      > feature, the positions would be extracted from the exif
>>     information. The
>>      > file name and path would be provided as an attribute for each
>>     feature. This
>>      > data source could then be used by higher level apps to provide
>>     symbols at
>>      > the picture locations in the map and display the picture when the
>>     feature
>>      > is selected. The driver would definitely use GDAL to extract
>>     information
>>      > about the provided images.
>>      >
>>      > I'm not sure whether we already have some kind of alternative
>>     solution to
>>      > this, let me know if you know about any. Further ideas about this
>>     topic
>>      > would also be helpful.
>>
>>     The JPEG driver already exposes EXIF information if found :
>>
>>     $ gdalinfo ../autotest/gdrivers/data/albania.jpg
>>     Driver: JPEG/JPEG JFIF
>>     Files: ../autotest/gdrivers/data/albania.jpg
>>     Size is 361, 260
>>     Coordinate System is `'
>>     Metadata:
>>     [...]
>>        EXIF_GPSLatitude=(41) (1) (22.91)
>>        EXIF_GPSLatitudeRef=N
>>        EXIF_GPSLongitude=(19) (55) (42.35)
>>        EXIF_GPSLongitudeRef=E
>>     [...]
>>
>>     $ gdalinfo ../autotest/gcore/data/exif_and_gps.tif -mdd EXIF
>>     Driver: GTiff/GeoTIFF
>>     Files: ../autotest/gcore/data/exif_and_gps.tif
>>     Size is 1, 1
>>     Coordinate System is `'
>>     [..]
>>     Metadata (EXIF):
>>     [...]
>>        EXIF_GPSLatitude=(77) (5) (60)
>>        EXIF_GPSLatitudeRef=S
>>        EXIF_GPSLongitude=(34) (12) (0)
>>        EXIF_GPSLongitudeRef=E
>>     [..]
>>
>>     Are you thinking to other raster formats to extract EXIF info from?
>>     To my
>>     knowledge, the JPEG driver, and recently the GTiff driver, are the
>>     only one
>>     that extract EXIF for now. I see that the JPEG driver exposes it in
>> the
>>     default metadata domain, whereas I chose EXIF for the GTiff driver.
>>     For GTiff,
>>     the specific EXIF metadata domain seemed better to me to avoid
>>     'polluting' the
>>     default metadata domain, but I didn't want to change the JPEG driver
>>     at that
>>     point. But this would probably requires some harmonization.
>>
>>     So with some scripting, you could create for example a point
>>     shapefile, with
>>     the filename as attribute and GPS position as geometry.
>>
>>     In its syntax, this could be something similar to gdaltindex.
>>
>>     Doing that as a OGR driver would be also doable of course. The only
>>     point to
>>     solve is the definition of the connexion string to specify the image
>>     set.
>>
>>      >
>>      > Best regards,
>>      >
>>      > Tamas
>>
>>
>>
>>
>> _______________________________________________
>> gdal-dev mailing list
>> gdal-dev at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/gdal-dev
>>
>
>
> --
> Daniel Morissette
> http://www.mapgears.com/
> Provider of Professional MapServer Support since 2000
>
>
>
>
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/gdal-dev


More information about the gdal-dev mailing list