mirror of
https://github.com/qgis/QGIS.git
synced 2025-03-01 00:46:20 -05:00
This implements a new "import geotagged photos" algorithm for processing. It allows selection of a folder which it will scan for jpg files which have been geotagged and creates a PointZ layer with the result, with attributes for photo path, altitude, direction and timestamp. Optionally the scan can be recursive and you can create an optional table of photos which could not be read or which were missing geotags. The algorithm automatically sets the output table to use an external resource widget to display the linked photos in the attribute form. [ALGCHANGE]
77 lines
3.3 KiB
XML
77 lines
3.3 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<xs:schema targetNamespace="http://ogr.maptools.org/" xmlns:ogr="http://ogr.maptools.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" elementFormDefault="qualified" version="1.0">
|
|
<xs:import namespace="http://www.opengis.net/gml" schemaLocation="http://schemas.opengis.net/gml/2.1.2/feature.xsd"/>
|
|
<xs:element name="FeatureCollection" type="ogr:FeatureCollectionType" substitutionGroup="gml:_FeatureCollection"/>
|
|
<xs:complexType name="FeatureCollectionType">
|
|
<xs:complexContent>
|
|
<xs:extension base="gml:AbstractFeatureCollectionType">
|
|
<xs:attribute name="lockId" type="xs:string" use="optional"/>
|
|
<xs:attribute name="scope" type="xs:string" use="optional"/>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
<xs:element name="import_photos" type="ogr:import_photos_Type" substitutionGroup="gml:_Feature"/>
|
|
<xs:complexType name="import_photos_Type">
|
|
<xs:complexContent>
|
|
<xs:extension base="gml:AbstractFeatureType">
|
|
<xs:sequence>
|
|
<xs:element name="geometryProperty" type="gml:PointPropertyType" nillable="true" minOccurs="0" maxOccurs="1"/>
|
|
<xs:element name="photo" nillable="true" minOccurs="0" maxOccurs="1">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="255"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:element>
|
|
<xs:element name="filename" nillable="true" minOccurs="0" maxOccurs="1">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="255"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:element>
|
|
<xs:element name="directory" nillable="true" minOccurs="0" maxOccurs="1">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="255"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:element>
|
|
<xs:element name="altitude" nillable="true" minOccurs="0" maxOccurs="1">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:decimal">
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:element>
|
|
<xs:element name="direction" nillable="true" minOccurs="0" maxOccurs="1">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:decimal">
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:element>
|
|
<xs:element name="longitude" nillable="true" minOccurs="0" maxOccurs="1">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="255"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:element>
|
|
<xs:element name="latitude" nillable="true" minOccurs="0" maxOccurs="1">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="255"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:element>
|
|
<xs:element name="timestamp" nillable="true" minOccurs="0" maxOccurs="1">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
</xs:schema>
|