Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
DACD / IST /
Novel architecture for a borehole management system
Marcus Hoffmann*, Massimiliano Cannata*, Milan Antonovic*
* Division of Geomatics, Institute of Earth Science, University of Applied Sciences and Arts of Southern Switzerland, Campus Trevano 32, CH-6952 Canobbio ([email protected])
24 novembre 2014
1
24/11/2014 2
Content
1. Introduction
2. Database - current situation
3. New architecture: Borehole
model (Swisstopo)
4. Model and data migration
5. Outlook
24/11/2014 3
1. Introduction
• The Institute of Earth Science (IST) currently manages
the database (DB) of water concessions and resources in
Ticino
• This Relational DB (Oracle), born in the 1960s* called GESPOS (Gestione pozzi, sondaggi e
sorgenti) contains 3 main objects: wells, surveys and springs
• Each object linked to:1. basic information, such as coordinates, depth, location, register number and owner
2. information related to environmental measurements like water temperature, groundwater levels and geological properties (stratigraphy)
3. diverse sample analyses like chemical properties
*1. VSAM IBM, 2. File system on OpenVMS (DIGITAL Inc.). 3. DB on server VAX - VMS (DIGITAL Inc.). 4. ORACLE v.9.2
24/11/2014 4
1. Introduction
24/11/2014 5
2. Database - current situation
Section Wells Surveys Sources
Catalog IST Information yes yes yesGeographic information yes yes yesCadaster information yes yes yesTechnical information optional yes noHydrological information yes no noStatistical information
yes no yes
Legal information yes no yesGeneral information yes no noThermal information optional no noFilters installed optional optional noHydrogeological information yes no yesPump testing optional no no
24/11/2014 6
2. Database - current situation
Database structure for wells (36 tables), similar structure exists for surveys and springs
24/11/2014 7
3. New architecture: Borehole model
• Non Relational Document Base for base
(meta) data
• IstSOS for insitu measurements, equivalent to
rainfall monitoring network in TI
• Speciemen for sample measurements
24/11/2014 8
3. New architecture: Borehole model
Why this structure?
• A Non Relational Document Base (NRDB) is a good solution if you have objects
with common and diverse attributes all mapped in ONE object
• SOS structure already used for hydrological data new version of IstSOS v.3
will be implemented in same NRDB
• Swisstopo borehole model can be integrated
24/11/2014 9
4. Model and data migration
• NRDB: Mongo (http://robomongo.org) with JSON objects
• IstSOS: https://geoservice.ist.supsi.ch/projects/istsos/index.php/IstSOS
• Model: Swisstopo borehole model
• Scripting language: Python v. 3+
• Webserver: Tornado – Python Web framework (http://www.tornadoweb.org)
24/11/2014 10
4. Model and data migrationBoreCodeIbor101
Kind(it)
Kind(de)
1.1.2 –1.1.11
001 Sondaggio Bohrung m002 Sondaggio a percussione Rammsondierung m003 Trincea Sondierschlitz m004 Altri tipi di sondaggio Andere Sondierart* m
24/11/2014 11
4. Model and data migration
Purpose" : "001","HydrologyData" : {
"first_concession_date" : null,"concession_deadline" : ISODate("2011-05-18T00:00:00.000Z"),"water_quantity_granted" : 170,"permit_type" : "CONCESSIONE","concession_approval_date" : ISODate("2001-05-18T00:00:00.000Z"),"exhaust_type" : "ACQUE NERE","concession_duration" : 10
},"GeneralData" : {
"terrain_elevation" : 200.55,"hem_level" : 198.77,"well_type" : "Pozzo a pareti filtranti","underground_basin" : "VERZASCA ","excavation_depth" : 20,"diameter" : 250
},"CadasterData" : {
"cadaster_number" : 901,"surname_owner" : null,"name_location" : null,"name_owner" : "SWISS JEWEL CO SA "
}},"Inner_Core" : {
"Location_E" : 708874,"Length" : 21.78,"Bore_Inc_Dir" : -1111,"Elevation_Z" : 200.55,"HRS" : "001","Location_N" : 114868,"Bore_Inc" : -1111,"SRS" : "001","Restricted_until" : Date(-27107481600000),"Contact" : ObjectId("5461e80435121b06ec04d3f2"),"Restriction" : "001","Kind" : "001","BoreID" : {
"Code_Contact" : "021","BoreID_Contact" : ObjectId("5461e80435121b06ec04d3f5")
},"Date" : Date(-27107481600000)
}}
/* 26* /{
"_id" : ObjectId("5461e80435121b06ec04d3f4"),"ido_gespos" : 2441074,"Extended_Core" : {
"TopBedrock" : -9999,"FilterData" : [
{"FROM_LEVEL" : 186.77,"TO_LEVEL" : 180.77,"DIAMETER" : 153
}],"Groundwater" : true,"Status" : "001","Bore_Method" : "001","TechnicalData" : [
{"NOME" : "Pompa sommersa","POTENZA" : 3,"MARCA" : "HAENY ","NUM" : 1,"PORTATA" : 170
}],"CatalogIST" : {
"attendibility" : "IST-SUPSI","ido_number" : 74,"previous_reference" : null,"last_control_date" : ISODate("1994-11-22T00:00:00.000Z"),"microfiche_number" : 1807,"zone_raster_number" : null
},"LegalData" : {
"res_cds_date" : null,"name_author_zone" : "non definito","res_cds" : null,"zone_approval_date" : null
},"Original_Name" : "","StatisticData" : {
"number_installations" : null,"purpose" : "INDUSTRIALE ","power_RTO" : null,"monthly_water_flow" : null,"surface_irrigated" : null,"annual_water_flow" : null,"power_RTO_part" : null
},"ThermalData" : {},"GeographicData" : {
"locality" : "TENERO-CONTRA ","sheet_number" : 1313
},"
Borehole:
24/11/2014 12
4. Model and data migration
/* 0 */{
"_id" : ObjectId("545d0bb635121b09bcc23569"),"Contact_Kind" : {
"006" : {"fr" : "Autres auteurs du projet","de" : "Andere Projektverfasser","it" : "Altri autori di progetto"
},"004" : {
"fr" : "Comune","de" : "Gemeinde","it" : "Comune"
},"005" : {
"fr" : "Secteur privé","de" : "Privatwirtschaft","it" : "Settore privato"
},"002" : {
"fr" : "Centre informations géologiques","de" : "Geologische Informationsstelle","it" : "Centro di informazioni geologiche"
},"003" : {
"fr" : "Autorité cantonale","de" : "Kantonale Bewilligungsbehörde","it" : "Autorità cantonale di approvazione"
},"001" : {
"fr" : "Autorité fédérale","de" : "Bundesbehörde","it" : "Autorità federale"
}},
... "
Inner_Core::Contact Codelist Kind
24/11/2014 13
4. Model and data migration
Features of a NRDB:db.Borehole.find( {ido_gespos: {$eq: 2441074}})
24/11/2014 14
4. Model and data migration
Challenge: many mandatory attributes of the Swisstopo model do not exist in GESPOS:
{"_id" : ObjectId("5461e80435121b06ec04d3f4"),"ido_gespos" : 2441074,"Extended_Core" : {
"TopBedrock" : -9999,"Groundwater" : true,"Status" : "001","Bore_Method" : "001","Original_Name" : «»Purpose" : "001",
},"Inner_Core" : {
"Location_E" : 708874,"Length" : 21.78,"Bore_Inc_Dir" : -1111,"Elevation_Z" : 200.55,"HRS" : "001","Location_N" : 114868,"Bore_Inc" : -1111,"SRS" : "001","Restricted_until" : Date(-27107481600000),"Contact" : ObjectId("5461e80435121b06ec04d3f2"),"Restriction" : "001","Kind" : "001","BoreID" : {
"Code_Contact" : "021","BoreID_Contact" : ObjectId("5461e80435121b06ec04d3f5")
},"Date" : Date(-27107481600000)
}
Inner_Core::Borehole
Kind: Codelist(Tabelle)
Location_E: Coordinate
Location_N: Coordinate
Elevation_Z: Float
SRS: Codelist(Tabelle)
HRS: Codelist
Length: Float
Bore_Inc_Dir: Codelist(Tabelle)
Bore_Inc Codelist(Tabelle)
Date: date
Restriction: Codelist(Tabelle)
Restricted_until: Date
Extended_Core::Borehole_Extended
TopBedrock: Float
Groundwater: Boolean
Status: Codelist(Tabelle)
Method: Codelist(Tabelle)
Original_Name: String
Purpose: Codelist(Tabelle)
24/11/2014 15
4. Model and data migration
SOS: Sensor Observation Service
• world is full of disconnected sensors• lack of search engines• lack of standard format
Idea: Connect to sensors using the Web for:• Sensor management• Collecting data• Open Source Software
24/11/2014 16
4. Model and data migrationPossible SOS requests:
(core profile)1. GetCapabilities2. DescribeSensor3. GetObservation
mandatory
optional optional
(transactional profile)4. RegisterSensor5. InsertObservation
(enhanced profile)6. GetFeatureOfInterest7. GetResult8. GetObservationByID9. GetFeatureOfInterestTime10. DescribeFeatureType11. DescribeObservationType12. DescribeResultModel
SOS request
istSOS responder
renderer
istSOS DB
filter
SOS response
Converts requests in python objects
11
22
33
44
55
66
77
88Recuperates requestedRecuperates requested
information and executes transactional
operations
Converts information in SOS format
24/11/2014 18
4. Model and data migration
Mapping of SOS elements with those of the new structure
24/11/2014 19
5. Outlook
New applications with new model, written in Python
24/11/2014 20
Thank you….