[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