- add TextObservation format for pechgraben fotos
This commit is contained in:
parent
edfff8bd84
commit
1b7cfa1586
|
@ -45,6 +45,9 @@ def main():
|
||||||
# "Inklinometer inclino1_02, Gschliefgraben Glasfaser"
|
# "Inklinometer inclino1_02, Gschliefgraben Glasfaser"
|
||||||
# )
|
# )
|
||||||
# procedure = Procedure( "inclino1_02","inclino1_02")
|
# procedure = Procedure( "inclino1_02","inclino1_02")
|
||||||
|
# foi = FoI("degree", "m", (13.774966, 47.910849, 0.0),
|
||||||
|
# "inclino1-glasfaser-gschliefgraben",
|
||||||
|
# "Glasfaser Untersuchungen am Gschliefgraben (Gmunden)")
|
||||||
|
|
||||||
# offering = Offering(
|
# offering = Offering(
|
||||||
# "https://geomon.geologie.ac.at/52n-sos-webapp/api/offerings/",
|
# "https://geomon.geologie.ac.at/52n-sos-webapp/api/offerings/",
|
||||||
|
@ -52,6 +55,19 @@ def main():
|
||||||
# "Inklinometer inclino1_05, Gschliefgraben Glasfaser"
|
# "Inklinometer inclino1_05, Gschliefgraben Glasfaser"
|
||||||
# )
|
# )
|
||||||
# procedure = Procedure("inclino1_05", "inclino1_05")
|
# procedure = Procedure("inclino1_05", "inclino1_05")
|
||||||
|
# foi = FoI("degree", "m", (13.774966, 47.910849, 0.0),
|
||||||
|
# "inclino1-glasfaser-gschliefgraben",
|
||||||
|
# "Glasfaser Untersuchungen am Gschliefgraben (Gmunden)")
|
||||||
|
|
||||||
|
# offering = Offering(
|
||||||
|
# "https://geomon.geologie.ac.at/52n-sos-webapp/api/offerings/",
|
||||||
|
# "inclino1_14",
|
||||||
|
# "Inklinometer inclino1_14, Gschliefgraben Glasfaser"
|
||||||
|
# )
|
||||||
|
# procedure = Procedure("inclino1_14", "inclino1_14")
|
||||||
|
# foi = FoI("degree", "m", (13.774966, 47.910849, 0.0),
|
||||||
|
# "inclino1-glasfaser-gschliefgraben",
|
||||||
|
# "Glasfaser Untersuchungen am Gschliefgraben (Gmunden)")
|
||||||
|
|
||||||
offering = Offering(
|
offering = Offering(
|
||||||
"https://geomon.geologie.ac.at/52n-sos-webapp/api/offerings/",
|
"https://geomon.geologie.ac.at/52n-sos-webapp/api/offerings/",
|
||||||
|
@ -59,9 +75,9 @@ def main():
|
||||||
"Inklinometer inclino1_06, Gschliefgraben Glasfaser"
|
"Inklinometer inclino1_06, Gschliefgraben Glasfaser"
|
||||||
)
|
)
|
||||||
procedure = Procedure("inclino1_06", "inclino1_06")
|
procedure = Procedure("inclino1_06", "inclino1_06")
|
||||||
|
foi = FoI("degree", "m", (13.774966, 47.910849, 0.0),
|
||||||
foi = FoI("degree", "m", (47.910849, 13.774966, 0.0),
|
"inclino1-glasfaser-gschliefgraben",
|
||||||
"FBGuard23", "Glasfaser Untersuchungen am Gschliefgraben (Gmunden)")
|
"Glasfaser Untersuchungen am Gschliefgraben (Gmunden)")
|
||||||
|
|
||||||
sensor_type = SensorType("inclinometer")
|
sensor_type = SensorType("inclinometer")
|
||||||
post_data = insert_sensor(offering, procedure, foi, sensor_type)
|
post_data = insert_sensor(offering, procedure, foi, sensor_type)
|
||||||
|
|
207
insert_sensor/Untitled-2.txt
Normal file
207
insert_sensor/Untitled-2.txt
Normal file
|
@ -0,0 +1,207 @@
|
||||||
|
https://portal.ogc.org/files/?artifact_id=64353
|
||||||
|
Seite 25
|
||||||
|
|
||||||
|
https://github.com/52North/SWE-Ingestion-Service/blob/dev/docs/ProcessDescription.md
|
||||||
|
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<sos:InsertObservation service="SOS" version="2.0.0"
|
||||||
|
xmlns:sos="http://www.opengis.net/sos/2.0"
|
||||||
|
xmlns:swes="http://www.opengis.net/swes/2.0"
|
||||||
|
xmlns:swe="http://www.opengis.net/swe/2.0"
|
||||||
|
xmlns:sml="http://www.opengis.net/sensorML/1.0.1"
|
||||||
|
xmlns:gml="http://www.opengis.net/gml/3.2"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:om="http://www.opengis.net/om/2.0"
|
||||||
|
xmlns:sams="http://www.opengis.net/samplingSpatial/2.0"
|
||||||
|
xmlns:sf="http://www.opengis.net/sampling/2.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/sos/2.0 http://schemas.opengis.net/sos/2.0/sos.xsd http://www.opengis.net/samplingSpatial/2.0 http://schemas.opengis.net/samplingSpatial/2.0/spatialSamplingFeature.xsd">
|
||||||
|
<!-- <sos:offering>camera1</sos:offering> -->
|
||||||
|
<sos:observation>
|
||||||
|
<om:OM_Observation gml:id="ob5">
|
||||||
|
<!-- <om:type xlink:href="http://www.opengis.net/def/observationType/OGC-OM/2.0/OM_TextObservation"/> -->
|
||||||
|
<om:type xlink:href="http://www.opengis.net/def/observationType/OGC-OM/2.0/OM_CategoryObservation"/>
|
||||||
|
<om:phenomenonTime>
|
||||||
|
<gml:TimeInstant gml:id="phenomenonTime">
|
||||||
|
<gml:timePosition>2019-11-19T17:46:15.000+00:00</gml:timePosition>
|
||||||
|
</gml:TimeInstant>
|
||||||
|
</om:phenomenonTime>
|
||||||
|
<!-- <om:resultTime>
|
||||||
|
<gml:TimeInstant gml:id="resultTime">
|
||||||
|
<gml:timePosition>2019-11-19T13:50:00.000+00:00</gml:timePosition>
|
||||||
|
</gml:TimeInstant>
|
||||||
|
</om:resultTime> -->
|
||||||
|
<om:resultTime>
|
||||||
|
<gml:TimeInstant gml:id="resultTime">
|
||||||
|
<gml:timePosition>2019-11-19T13:50:00.000+00:00</gml:timePosition>
|
||||||
|
</gml:TimeInstant>
|
||||||
|
</om:resultTime>
|
||||||
|
<om:procedure xlink:href="camera1"/>
|
||||||
|
<om:observedProperty xlink:href="http://www.opengis.net/def/property/humanVisualPerception"/>
|
||||||
|
|
||||||
|
<om:featureOfInterest>
|
||||||
|
<sams:SF_SpatialSamplingFeature gml:id="ssf_instance">
|
||||||
|
<gml:identifier codeSpace="http://www.opengis.net/def/nil/OGC/0/unknown">pechgraben</gml:identifier>
|
||||||
|
<gml:name>Katastropheneinsatz in Pechgraben</gml:name>
|
||||||
|
<sf:type xlink:href="http://www.opengis.net/def/samplingFeatureType/OGC-OM/2.0/SF_SamplingPoint"/>
|
||||||
|
<sf:sampledFeature xlink:href="http://www.52north.org/test/featureOfInterest/1"/>
|
||||||
|
<sams:shape>
|
||||||
|
<gml:Point xmlns:ns="http://www.opengis.net/gml/3.2" ns:id="Point_ssf_b3a826dd44012201b013c90c51da28c041f7a92e0cc47260eb9888f6a4e9f747">
|
||||||
|
<gml:pos srsName="http://www.opengis.net/def/crs/EPSG/0/4326">14.54621, 47.92861</gml:pos>
|
||||||
|
</gml:Point>
|
||||||
|
</sams:shape>
|
||||||
|
</sams:SF_SpatialSamplingFeature>
|
||||||
|
</om:featureOfInterest>
|
||||||
|
<!-- <om:result xsi:type="xs:string">text_value</om:result> -->
|
||||||
|
<om:result xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">
|
||||||
|
https://www.flickr.com/photos/username/123456789/
|
||||||
|
</om:result>
|
||||||
|
<om:result xsi:type="gml:ReferenceType" xlink:href="https://www.flickr.com/photos/username/123456789/"/>
|
||||||
|
|
||||||
|
|
||||||
|
</om:OM_Observation>
|
||||||
|
</sos:observation>
|
||||||
|
</sos:InsertObservation>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<om:result xsi:type="swe:DataRecordPropertyType">
|
||||||
|
<swe:DataRecord>
|
||||||
|
<!-- <swe:field name="Time">
|
||||||
|
<swe:Time definition="urn:ogc:def:parameter:x-istsos:1.0:time:iso8601">
|
||||||
|
2014-06-03T14:10:00+0200
|
||||||
|
</swe:Time>
|
||||||
|
</swe:field> -->
|
||||||
|
<!-- <swe:field name="test_observable_property_9_8_2">
|
||||||
|
<swe:Category definition="http://www.52north.org/test/observableProperty/9_8_2">
|
||||||
|
<swe:codeSpace xlink:href="NOT_DEFINED"/>
|
||||||
|
<swe:value>sunny</swe:value>
|
||||||
|
</swe:Category>
|
||||||
|
</swe:field> -->
|
||||||
|
<!-- <swe:field name="test_observable_property_9_8_3">
|
||||||
|
<swe:Count definition="http://www.52north.org/test/observableProperty/9_8_3">
|
||||||
|
<swe:value>35</swe:value>
|
||||||
|
</swe:Count>
|
||||||
|
</swe:field> -->
|
||||||
|
<swe:field name="Url">
|
||||||
|
<swe:Text definition="Url">
|
||||||
|
<swe:value>I am text</swe:value>
|
||||||
|
</swe:Text>
|
||||||
|
</swe:field>
|
||||||
|
<swe:field name="Visibility">
|
||||||
|
<swe:Boolean definition="Visibility">
|
||||||
|
<swe:value>true</swe:value>
|
||||||
|
</swe:Boolean>
|
||||||
|
</swe:field>
|
||||||
|
</swe:DataRecord>
|
||||||
|
</om:result>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
"request": "InsertObservation",
|
||||||
|
"service": "SOS",
|
||||||
|
"version": "2.0.0",
|
||||||
|
"offering": "camera1",
|
||||||
|
"observation": {
|
||||||
|
"identifier": {
|
||||||
|
"value": "ob_test",
|
||||||
|
"codespace": "http://www.opengis.net/def/nil/OGC/0/unknown"
|
||||||
|
},
|
||||||
|
"type": "http://www.opengis.net/def/observationType/OGC-OM/2.0/OM_Measurement",
|
||||||
|
"procedure": "camera1",
|
||||||
|
"observedProperty": "Image",
|
||||||
|
"featureOfInterest": {
|
||||||
|
"identifier": {
|
||||||
|
"value": "pechgraben",
|
||||||
|
"codespace": "http://www.opengis.net/def/nil/OGC/0/unknown"
|
||||||
|
},
|
||||||
|
"name": [
|
||||||
|
{
|
||||||
|
"value": "Katastropheneinsatz in Pechgraben",
|
||||||
|
"codespace": "http://www.opengis.net/def/nil/OGC/0/unknown"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sampledFeature": [
|
||||||
|
"http://www.52north.org/test/featureOfInterest/world"
|
||||||
|
],
|
||||||
|
"geometry": {
|
||||||
|
"type": "Point",
|
||||||
|
"coordinates": [
|
||||||
|
14.54621,
|
||||||
|
47.92861
|
||||||
|
],
|
||||||
|
"crs": {
|
||||||
|
"type": "name",
|
||||||
|
"properties": {
|
||||||
|
"name": "EPSG:4326"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"phenomenonTime": "2019-11-19T17:45:15+00:00",
|
||||||
|
"resultTime": "2019-11-19T17:45:15+00:00",
|
||||||
|
"result": {
|
||||||
|
"uom": "m",
|
||||||
|
"value": 0.28
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<env:Envelope
|
||||||
|
xmlns:env="http://www.w3.org/2003/05/soap-envelope"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2003/05/soap-envelope http://www.w3.org/2003/05/soap-envelope/soap-envelope.xsd">
|
||||||
|
<env:Body>
|
||||||
|
<sos:InsertObservation service="SOS" version="2.0.0"
|
||||||
|
xmlns:sos="http://www.opengis.net/sos/2.0"
|
||||||
|
xmlns:swes="http://www.opengis.net/swes/2.0"
|
||||||
|
xmlns:swe="http://www.opengis.net/swe/2.0"
|
||||||
|
xmlns:sml="http://www.opengis.net/sensorML/1.0.1"
|
||||||
|
xmlns:gml="http://www.opengis.net/gml/3.2"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:om="http://www.opengis.net/om/2.0"
|
||||||
|
xmlns:sams="http://www.opengis.net/samplingSpatial/2.0"
|
||||||
|
xmlns:sf="http://www.opengis.net/sampling/2.0"
|
||||||
|
xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:schemaLocation="http://www.opengis.net/sos/2.0 http://schemas.opengis.net/sos/2.0/sos.xsd http://www.opengis.net/samplingSpatial/2.0 http://schemas.opengis.net/samplingSpatial/2.0/spatialSamplingFeature.xsd">
|
||||||
|
<!-- multiple offerings are possible -->
|
||||||
|
<sos:offering>camera1</sos:offering>
|
||||||
|
<sos:observation>
|
||||||
|
<om:OM_Observation gml:id="o1">
|
||||||
|
<om:type xlink:href="http://www.opengis.net/def/observationType/OGC-OM/2.0/OM_TextObservation"/>
|
||||||
|
<om:phenomenonTime>
|
||||||
|
<gml:TimeInstant gml:id="phenomenonTime">
|
||||||
|
<gml:timePosition>2021-11-19T17:45:15.000+00:00</gml:timePosition>
|
||||||
|
</gml:TimeInstant>
|
||||||
|
</om:phenomenonTime>
|
||||||
|
<om:resultTime xlink:href="#phenomenonTime"/>
|
||||||
|
<om:procedure xlink:href="camera1"/>
|
||||||
|
<om:observedProperty xlink:href="Image"/>
|
||||||
|
|
||||||
|
<om:featureOfInterest>
|
||||||
|
<sams:SF_SpatialSamplingFeature gml:id="ssf_instance">
|
||||||
|
<gml:identifier codeSpace="">pechgraben</gml:identifier>
|
||||||
|
<gml:name>Katastropheneinsatz in Pechgraben</gml:name>
|
||||||
|
<sf:type xlink:href="http://www.opengis.net/def/samplingFeatureType/OGC-OM/2.0/SF_SamplingPoint"/>
|
||||||
|
<sf:sampledFeature xlink:href="http://www.52north.org/test/featureOfInterest/1"/>
|
||||||
|
<sams:shape>
|
||||||
|
<gml:Point gml:id="test_feature_9">
|
||||||
|
<gml:pos srsName="http://www.opengis.net/def/crs/EPSG/0/4326">14.54621 47.92861</gml:pos>
|
||||||
|
</gml:Point>
|
||||||
|
</sams:shape>
|
||||||
|
</sams:SF_SpatialSamplingFeature>
|
||||||
|
</om:featureOfInterest>
|
||||||
|
|
||||||
|
|
||||||
|
<om:result xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">
|
||||||
|
https://www.flickr.com/photos/username/55555555/
|
||||||
|
</om:result>
|
||||||
|
</om:OM_Observation>
|
||||||
|
</sos:observation>
|
||||||
|
</sos:InsertObservation>
|
||||||
|
</env:Body>
|
||||||
|
</env:Envelope>
|
||||||
|
|
||||||
|
|
84
insert_sensor/istSOS_insert.xml
Normal file
84
insert_sensor/istSOS_insert.xml
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<sos:InsertObservation
|
||||||
|
xmlns:gml="http://www.opengis.net/gml"
|
||||||
|
xmlns:om="http://www.opengis.net/om/1.0"
|
||||||
|
xmlns:sos="http://www.opengis.net/sos/1.0"
|
||||||
|
xmlns:swe="http://www.opengis.net/swe"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://schemas.opengis.net/sos/1.0.0/sosAll.xsd"
|
||||||
|
service="SOS" version="1.0.0">
|
||||||
|
<sos:AssignedSensorId>xxxxxxxxxxxxxxxxxxxxxxxxxxx</sos:AssignedSensorId>
|
||||||
|
<om:Observation>
|
||||||
|
<om:procedure xlink:href="urn:ogc:def:procedure:x-istsos:1.0:LOCARNO"/>
|
||||||
|
<om:samplingTime>
|
||||||
|
<gml:TimePeriod>
|
||||||
|
<gml:beginPosition>2014-06-03T15:08:00Z</gml:beginPosition>
|
||||||
|
<gml:endPosition>2014-06-03T15:48:00Z</gml:endPosition>
|
||||||
|
</gml:TimePeriod>
|
||||||
|
</om:samplingTime>
|
||||||
|
<om:observedProperty>
|
||||||
|
<swe:CompositePhenomenon dimension="5">
|
||||||
|
<swe:component xlink:href="urn:ogc:def:parameter:x-istsos:1.0:time:iso8601"/>
|
||||||
|
<swe:component xlink:href="urn:ogc:def:parameter:x-istsos:1.0:meteo:air:rainfall"/>
|
||||||
|
<swe:component
|
||||||
|
xlink:href="urn:ogc:def:parameter:x-istsos:1.0:meteo:air:rainfall:qualityIndex"/>
|
||||||
|
<swe:component
|
||||||
|
xlink:href="urn:ogc:def:parameter:x-istsos:1.0:meteo:air:temperature"/>
|
||||||
|
<swe:component
|
||||||
|
xlink:href="urn:ogc:def:parameter:x-istsos:1.0:meteo:air:temperature:qualityIndex"/>
|
||||||
|
</swe:CompositePhenomenon>
|
||||||
|
</om:observedProperty>
|
||||||
|
<om:featureOfInterest xlink:href="urn:ogc:def:feature:x-istsos:1.0:Point:LOCARNO"/>
|
||||||
|
<om:result>
|
||||||
|
<swe:DataArray>
|
||||||
|
<swe:elementCount>
|
||||||
|
<swe:value>5</swe:value>
|
||||||
|
</swe:elementCount>
|
||||||
|
<swe:elementType name="SimpleDataArray">
|
||||||
|
<swe:DataRecord definition="urn:ogc:def:dataType:x-istsos:1.0:timeSeries">
|
||||||
|
<swe:field name="Time">
|
||||||
|
<swe:Time definition="urn:ogc:def:parameter:x-istsos:1.0:time:iso8601"/>
|
||||||
|
</swe:field>
|
||||||
|
<swe:field name="air-rainfall">
|
||||||
|
<swe:Quantity definition="urn:ogc:def:parameter:x-istsos:1.0:meteo:air:rainfall">
|
||||||
|
<swe:uom code="mm"/>
|
||||||
|
</swe:Quantity>
|
||||||
|
</swe:field>
|
||||||
|
<swe:field name="air-rainfall:qualityIndex">
|
||||||
|
<swe:Quantity definition="urn:ogc:def:parameter:x-istsos:1.0:meteo:air:rainfall:qualityIndex">
|
||||||
|
<swe:uom code="-"/>
|
||||||
|
</swe:Quantity>
|
||||||
|
</swe:field>
|
||||||
|
<swe:field name="air-temperature">
|
||||||
|
<swe:Quantity definition="urn:ogc:def:parameter:x-istsos:1.0:meteo:air:temperature">
|
||||||
|
<swe:uom code="\xc2\xb0C"/>
|
||||||
|
</swe:Quantity>
|
||||||
|
</swe:field>
|
||||||
|
<swe:field name="air-temperature:qualityIndex">
|
||||||
|
<swe:Quantity definition="urn:ogc:def:parameter:x-istsos:1.0:meteo:air:temperature:qualityIndex">
|
||||||
|
<swe:uom code="-"/>
|
||||||
|
</swe:Quantity>
|
||||||
|
</swe:field>
|
||||||
|
</swe:DataRecord>
|
||||||
|
</swe:elementType>
|
||||||
|
<swe:encoding>
|
||||||
|
<swe:TextBlock blockSeparator="@" decimalSeparator="." tokenSeparator=","/>
|
||||||
|
</swe:encoding>
|
||||||
|
<swe:values>
|
||||||
|
2014-06-03T14:10:00+0200,0.000000,200,20.000000,200@
|
||||||
|
2014-06-03T14:20:00+0200,0.000000,200,20.100000,200@
|
||||||
|
2014-06-03T14:30:00+0200,0.000000,200,20.200000,200@
|
||||||
|
2014-06-03T14:40:00+0200,0.000000,200,20.500000,200@
|
||||||
|
2014-06-03T14:50:00+0200,0.000000,200,20.500000,200@
|
||||||
|
2014-06-03T15:00:00+0200,0.000000,200,20.400000,200@
|
||||||
|
2014-06-03T15:10:00+0200,0.000000,200,20.400000,200@
|
||||||
|
2014-06-03T15:20:00+0200,0.100000,200,19.600000,200@
|
||||||
|
2014-06-03T15:30:00+0200,0.100000,200,19.100000,200@
|
||||||
|
2014-06-03T15:40:00+0200,0.000000,200,19.000000,200@
|
||||||
|
2014-06-03T15:50:00+0200,0.000000,200,20.600000,200
|
||||||
|
</swe:values>
|
||||||
|
</swe:DataArray>
|
||||||
|
</om:result>
|
||||||
|
</om:Observation>
|
||||||
|
</sos:InsertObservation>
|
|
@ -1,47 +1,52 @@
|
||||||
|
'''
|
||||||
|
Sqlalchemy version: 1.2.15
|
||||||
|
Python version: 3.7
|
||||||
|
'''
|
||||||
|
|
||||||
import os
|
import os
|
||||||
from datetime import datetime, date, timedelta
|
from datetime import datetime
|
||||||
from exif import Image
|
from exif import Image
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
folder_path = 'C:/Users/arno/Documents/Fotos'
|
''' main method '''
|
||||||
|
folder_path = 'C:/Users/kaiarn/Documents/Fotos'
|
||||||
# img_filename = '_DSC9548.JPG'
|
# img_filename = '_DSC9548.JPG'
|
||||||
# img_path = f'{folder_path}/{img_filename}'
|
# img_path = f'{folder_path}/{img_filename}'
|
||||||
|
|
||||||
# Get the list of image files in the directory that exifread supports
|
# Get the list of image files in the directory that exifread supports
|
||||||
directory = os.listdir(folder_path)
|
directory = os.listdir(folder_path)
|
||||||
|
|
||||||
for files in directory:
|
for files in directory:
|
||||||
if files.endswith (('jpg','JPG','png','PNG','tiff','TIFF')):
|
if files.endswith(('jpg', 'JPG', 'png', 'PNG', 'tiff', 'TIFF')):
|
||||||
file_path = os.path.join(folder_path, files)
|
file_path = os.path.join(folder_path, files)
|
||||||
print (file_path)
|
# print(file_path)
|
||||||
img_file = open(file_path, 'rb')
|
img_file = open(file_path, 'rb')
|
||||||
img: Image = Image(img_file)
|
img: Image = Image(img_file)
|
||||||
if img.has_exif:
|
if img.has_exif:
|
||||||
info = f" has the EXIF {img.exif_version}"
|
info = f" has the EXIF {img.exif_version}"
|
||||||
else:
|
else:
|
||||||
info = "does not contain any EXIF information"
|
info = "does not contain any EXIF information"
|
||||||
print(f"Image {img_file.name}: {info}")
|
print(f"Image {img_file.name}: {info}")
|
||||||
|
|
||||||
# Original datetime that image was taken (photographed)
|
# Original datetime that image was taken (photographed)
|
||||||
# print(f'DateTime (Original): {img.get("datetime_original")}')
|
# print(f'DateTime (Original): {img.get("datetime_original")}')
|
||||||
datetime_original = img.get("datetime_original")
|
datetime_original = img.get("datetime_original")
|
||||||
# print(datetime_original)
|
# print(datetime_original)
|
||||||
# Grab the date
|
# Grab the date
|
||||||
date_obj = datetime.strptime(datetime_original, '%Y:%m:%d %H:%M:%S')
|
date_obj = datetime.strptime(
|
||||||
# print(date_obj)
|
datetime_original, '%Y:%m:%d %H:%M:%S')
|
||||||
|
print(date_obj)
|
||||||
|
# print(f"Longitude: {img.get('gps_longitude')} {img.get('gps_longitude_ref')}\n")
|
||||||
|
|
||||||
|
|
||||||
# with open(img_path, 'rb') as img_file:
|
# with open(img_path, 'rb') as img_file:
|
||||||
# img = Image(img_file)
|
# img = Image(img_file)
|
||||||
# if img.has_exif:
|
# if img.has_exif:
|
||||||
# info = f" has the EXIF {img.exif_version}"
|
# info = f" has the EXIF {img.exif_version}"
|
||||||
# else:
|
# else:
|
||||||
# info = "does not contain any EXIF information"
|
# info = "does not contain any EXIF information"
|
||||||
# print(f"Image {img_file.name}: {info}")
|
# print(f"Image {img_file.name}: {info}")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# print(img.list_all())
|
# print(img.list_all())
|
||||||
# print(img.has_exif)
|
# print(img.has_exif)
|
||||||
# # Make of device which captured image: NIKON CORPORATION
|
# # Make of device which captured image: NIKON CORPORATION
|
||||||
|
@ -50,7 +55,7 @@ def main():
|
||||||
# # Model of device: NIKON D7000
|
# # Model of device: NIKON D7000
|
||||||
# print(f'Model: {img.get("model")}')
|
# print(f'Model: {img.get("model")}')
|
||||||
|
|
||||||
# # Software involved in uploading and digitizing image: Ver.1.04
|
# # Software involved in uploading and digitizing image: Ver.1.04
|
||||||
# print(f'Software: {img.get("software")}')
|
# print(f'Software: {img.get("software")}')
|
||||||
|
|
||||||
# # Name of photographer who took the image: not defined
|
# # Name of photographer who took the image: not defined
|
||||||
|
@ -61,14 +66,13 @@ def main():
|
||||||
|
|
||||||
# # Details of flash function
|
# # Details of flash function
|
||||||
# print(f'Flash Details: {img.get("flash")}')
|
# print(f'Flash Details: {img.get("flash")}')
|
||||||
|
|
||||||
# print(f"Coordinates - Image")
|
# print(f"Coordinates - Image")
|
||||||
# print("---------------------")
|
# print("---------------------")
|
||||||
# print(f"Latitude: {img.copyright} {img.get('gps_latitude_ref')}")
|
# print(f"Latitude: {img.copyright} {img.get('gps_latitude_ref')}")
|
||||||
# print(f"Longitude: {img.get('gps_longitude')} {img.get('gps_longitude_ref')}\n")
|
# print(f"Longitude: {img.get('gps_longitude')} {img.get('gps_longitude_ref')}\n")
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
# load_dotenv(find_dotenv())
|
# load_dotenv(find_dotenv())
|
||||||
# print('sensors: {}'.format(os.environ.get(
|
# print('sensors: {}'.format(os.environ.get(
|
||||||
# 'GLASFASER_GSCHLIEFGRABEN_SENSORS', [])))
|
# 'GLASFASER_GSCHLIEFGRABEN_SENSORS', [])))
|
||||||
main()
|
main()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user