- 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"
|
||||
# )
|
||||
# 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(
|
||||
# "https://geomon.geologie.ac.at/52n-sos-webapp/api/offerings/",
|
||||
|
@ -52,6 +55,19 @@ def main():
|
|||
# "Inklinometer inclino1_05, Gschliefgraben Glasfaser"
|
||||
# )
|
||||
# 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(
|
||||
"https://geomon.geologie.ac.at/52n-sos-webapp/api/offerings/",
|
||||
|
@ -59,9 +75,9 @@ def main():
|
|||
"Inklinometer inclino1_06, Gschliefgraben Glasfaser"
|
||||
)
|
||||
procedure = Procedure("inclino1_06", "inclino1_06")
|
||||
|
||||
foi = FoI("degree", "m", (47.910849, 13.774966, 0.0),
|
||||
"FBGuard23", "Glasfaser Untersuchungen am Gschliefgraben (Gmunden)")
|
||||
foi = FoI("degree", "m", (13.774966, 47.910849, 0.0),
|
||||
"inclino1-glasfaser-gschliefgraben",
|
||||
"Glasfaser Untersuchungen am Gschliefgraben (Gmunden)")
|
||||
|
||||
sensor_type = SensorType("inclinometer")
|
||||
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
|
||||
from datetime import datetime, date, timedelta
|
||||
from datetime import datetime
|
||||
from exif import Image
|
||||
|
||||
|
||||
def main():
|
||||
folder_path = 'C:/Users/arno/Documents/Fotos'
|
||||
''' main method '''
|
||||
folder_path = 'C:/Users/kaiarn/Documents/Fotos'
|
||||
# img_filename = '_DSC9548.JPG'
|
||||
# img_path = f'{folder_path}/{img_filename}'
|
||||
|
||||
|
||||
# Get the list of image files in the directory that exifread supports
|
||||
directory = os.listdir(folder_path)
|
||||
|
||||
|
||||
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)
|
||||
print (file_path)
|
||||
# print(file_path)
|
||||
img_file = open(file_path, 'rb')
|
||||
img: Image = Image(img_file)
|
||||
img: Image = Image(img_file)
|
||||
if img.has_exif:
|
||||
info = f" has the EXIF {img.exif_version}"
|
||||
else:
|
||||
info = "does not contain any EXIF information"
|
||||
info = "does not contain any EXIF information"
|
||||
print(f"Image {img_file.name}: {info}")
|
||||
|
||||
|
||||
# Original datetime that image was taken (photographed)
|
||||
# print(f'DateTime (Original): {img.get("datetime_original")}')
|
||||
datetime_original = img.get("datetime_original")
|
||||
# print(datetime_original)
|
||||
# Grab the date
|
||||
date_obj = datetime.strptime(datetime_original, '%Y:%m:%d %H:%M:%S')
|
||||
# print(date_obj)
|
||||
|
||||
date_obj = datetime.strptime(
|
||||
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:
|
||||
# img = Image(img_file)
|
||||
# img = Image(img_file)
|
||||
# if img.has_exif:
|
||||
# info = f" has the EXIF {img.exif_version}"
|
||||
# else:
|
||||
# info = "does not contain any EXIF information"
|
||||
# print(f"Image {img_file.name}: {info}")
|
||||
|
||||
|
||||
|
||||
|
||||
# print(img.list_all())
|
||||
# print(img.has_exif)
|
||||
# # Make of device which captured image: NIKON CORPORATION
|
||||
|
@ -50,7 +55,7 @@ def main():
|
|||
# # Model of device: NIKON D7000
|
||||
# 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")}')
|
||||
|
||||
# # Name of photographer who took the image: not defined
|
||||
|
@ -61,14 +66,13 @@ def main():
|
|||
|
||||
# # Details of flash function
|
||||
# print(f'Flash Details: {img.get("flash")}')
|
||||
|
||||
|
||||
# print(f"Coordinates - Image")
|
||||
# print("---------------------")
|
||||
# print(f"Latitude: {img.copyright} {img.get('gps_latitude_ref')}")
|
||||
# print(f"Longitude: {img.get('gps_longitude')} {img.get('gps_longitude_ref')}\n")
|
||||
|
||||
if __name__ == "__main__":
|
||||
# load_dotenv(find_dotenv())
|
||||
# print('sensors: {}'.format(os.environ.get(
|
||||
# 'GLASFASER_GSCHLIEFGRABEN_SENSORS', [])))
|
||||
main()
|
||||
main()
|
||||
|
|
Loading…
Reference in New Issue
Block a user