From 6af6c9af8d286d4f62a59b157b25676fb0606fc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Amagat?= Date: Thu, 26 Sep 2019 20:41:51 +0200 Subject: [PATCH] Wastewater plant in France (#623) Wastewater plant in France --- .../analyser_merge_wastewater_plant_FR.py | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 analysers/analyser_merge_wastewater_plant_FR.py diff --git a/analysers/analyser_merge_wastewater_plant_FR.py b/analysers/analyser_merge_wastewater_plant_FR.py new file mode 100644 index 000000000..16fd7ecb2 --- /dev/null +++ b/analysers/analyser_merge_wastewater_plant_FR.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python +#-*- coding: utf-8 -*- + +########################################################################### +## ## +## Copyrights Jérôme Amagat 2019 ## +## ## +## This program is free software: you can redistribute it and/or modify ## +## it under the terms of the GNU General Public License as published by ## +## the Free Software Foundation, either version 3 of the License, or ## +## (at your option) any later version. ## +## ## +## This program is distributed in the hope that it will be useful, ## +## but WITHOUT ANY WARRANTY; without even the implied warranty of ## +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## +## GNU General Public License for more details. ## +## ## +## You should have received a copy of the GNU General Public License ## +## along with this program. If not, see . ## +## ## +########################################################################### + +from .Analyser_Merge import Analyser_Merge, Source, CSV, Load, Mapping, Select, Generate + +class Analyser_Merge_Wastewater_Plant_FR(Analyser_Merge): + def __init__(self, config, logger = None): + + self.missing_official = {"item":"8380", "class": 1, "level": 3, "tag": ["merge"], "desc": T_(u"Wastewater plant not integrated") } + self.possible_merge = {"item":"8381", "class": 3, "level": 3, "tag": ["merge"], "desc": T_(u"Wastewater plant, integration suggestion") } + self.update_official = {"item":"8382", "class": 4, "level": 3, "tag": ["merge"], "desc": T_(u"Wastewater plant update") } + + Analyser_Merge.__init__(self, config, logger, + u"http://www.sandre.eaufrance.fr/atlas/srv/fre/catalog.search#/metadata/ebef2115-bee5-40bb-b5cc-4593d82ba334", + u"Stations de traitement des eaux usées - France entière", + CSV(Source(attribution = u"Sandre", millesime = "09/2019", + fileUrl = u"http://services.sandre.eaufrance.fr/geo/odp_FRA?SERVICE=WFS&VERSION=2.0.0&REQUEST=GetFeature&typename=SysTraitementEauxUsees&SRSNAME=EPSG:4326&OUTPUTFORMAT=CSV")), + Load("LongWGS84OuvrageDepollution", "LatWGS84OuvrageDepollution", + select = {"DateMiseHorServiceOuvrageDepollution": None}), + Mapping( + select = Select( + types = ["nodes", "ways"], + tags = {"man_made": "wastewater_plant"}), + conflationDistance = 200, + osmRef = "ref:sandre", + generate = Generate( + static1 = {"man_made": "wastewater_plant"}, + static2 = {"source": self.source}, + mapping1 = {"ref:sandre": "CdOuvrageDepollution", + "start_date" : lambda fields: None if not fields.get(u"DateMiseServiceOuvrageDepollution") else fields[u"DateMiseServiceOuvrageDepollution"][0:4] if fields[u"DateMiseServiceOuvrageDepollution"].endswith('-01-01') or fields[u"DateMiseServiceOuvrageDepollution"].endswith('-12-31') else fields[u"DateMiseServiceOuvrageDepollution"]}, + text = lambda tags, fields: {"en": ', '.join(filter(lambda x: x, [fields["NomOuvrageDepollution"], fields["LbSystemeCollecte"], fields["NomAgglomerationAssainissement"]]))})))