diff --git a/config_db.yaml b/config_db.yaml index 4dfe7b1a..5cc99170 100644 --- a/config_db.yaml +++ b/config_db.yaml @@ -42,6 +42,7 @@ db_config: railways_construction_limits highways_project_zones highways_construction_limits + road_building_lines airport_security_zones airport_project_zones airport_construction_limits diff --git a/crdppfportal/models.py b/crdppfportal/models.py index d4839b3e..c80c6c9e 100644 --- a/crdppfportal/models.py +++ b/crdppfportal/models.py @@ -1,14 +1,19 @@ # -*- coding: utf-8 -*- from sqlalchemy import( - Column, - Sequence, - Integer, - Text, + Column, + Integer, String, - Float) - + ForeignKey) + +from sqlalchemy.orm import relationship, backref + +from papyrus.geo_interface import GeoInterface + +from geoalchemy2 import Geometry + from crdppf import db_config +srid_ = db_config['srid'] from crdppf.models import Base @@ -16,3 +21,13 @@ class Users(Base): __tablename__ = 'users' __table_args__ = {'schema': db_config['schema'], 'autoload': True} + +if 'road_building_lines' in db_config['restrictions']: + class RoadBuildingLines(GeoInterface, Base): + __tablename__ = 'r078ne_alignements' + __table_args__ = {'schema': db_config['schema'], 'autoload': True} + idobj = Column(Integer, primary_key=True) + geom = Column(Geometry("MULTILINE", srid=srid_)) +else: + class RoadBuildingLines(): + pass diff --git a/crdppfportal/static/images/icons/ali_prim.png b/crdppfportal/static/images/icons/ali_prim.png new file mode 100644 index 00000000..2f967927 Binary files /dev/null and b/crdppfportal/static/images/icons/ali_prim.png differ diff --git a/crdppfportal/static/images/icons/ali_rec.png b/crdppfportal/static/images/icons/ali_rec.png new file mode 100644 index 00000000..50f17828 Binary files /dev/null and b/crdppfportal/static/images/icons/ali_rec.png differ diff --git a/crdppfportal/static/images/icons/ali_rez.png b/crdppfportal/static/images/icons/ali_rez.png new file mode 100644 index 00000000..9fcb29dc Binary files /dev/null and b/crdppfportal/static/images/icons/ali_rez.png differ diff --git a/crdppfportal/static/images/icons/ali_sec.png b/crdppfportal/static/images/icons/ali_sec.png new file mode 100644 index 00000000..7adfaea5 Binary files /dev/null and b/crdppfportal/static/images/icons/ali_sec.png differ diff --git a/crdppfportal/static/images/icons/bio.png b/crdppfportal/static/images/icons/bio.png new file mode 100644 index 00000000..8c545ca7 Binary files /dev/null and b/crdppfportal/static/images/icons/bio.png differ diff --git a/crdppfportal/static/images/icons/fio.png b/crdppfportal/static/images/icons/fio.png new file mode 100644 index 00000000..941b6cd2 Binary files /dev/null and b/crdppfportal/static/images/icons/fio.png differ diff --git a/crdppfportal/table2model_match.py b/crdppfportal/table2model_match.py index 097be3d7..b008b751 100644 --- a/crdppfportal/table2model_match.py +++ b/crdppfportal/table2model_match.py @@ -11,6 +11,7 @@ from crdppf.models.models import CHPollutedSitesPublicTransports, CHPollutedSitesPublicTransportsPDF from crdppf.models.models import WaterProtectionZones, WaterProtectionPerimeters from crdppf.models.models import RoadNoise, ForestLimits, ForestDistances +from crdppfportal.models import RoadBuildingLines # Matching dictionnary model-table name table2model_match = { @@ -38,5 +39,6 @@ 'r132_perimetre_prot_eau': WaterProtectionPerimeters, 'r145_sens_bruit': RoadNoise, 'r157_lim_foret': ForestLimits, - 'r159_dist_foret': ForestDistances + 'r159_dist_foret': ForestDistances, + 'r078ne_alignements': RoadBuildingLines } diff --git a/mapserver/crdppf.map.mako b/mapserver/crdppf.map.mako index 2af8a0a3..853ce94d 100644 --- a/mapserver/crdppf.map.mako +++ b/mapserver/crdppf.map.mako @@ -1876,6 +1876,78 @@ LAYER END END +LAYER + NAME "r078ne_alignements" + TYPE LINE + METADATA + "ows_title" "r078ne_alignements" + "wms_srs""EPSG:2056" + "wms_title" "${instanceid} WMS Server" + "wms_onlineresource" "http://${host}/${instanceid}/wmscrdppf" + END + CONNECTIONTYPE POSTGIS + CONNECTION "user=${dbuser} password=${dbpassword} dbname=${db} host=${dbhost} port=${dbport}" + PROCESSING "CLOSE_CONNECTION=DEFER" + DATA "geom from crdppf.r078ne_alignements using unique idobj using srid=2056" + STATUS ON + TEMPLATE "ttt" + TOLERANCE 5 + TOLERANCEUNITS pixels + CLASSITEM "codegenre" + CLASS + NAME "alignement primaire" + EXPRESSION /ali_prim/ + STYLE + WIDTH 3 + COLOR 25 60 116 + END + END + CLASS + NAME "alignement secondaire" + EXPRESSION /ali_sec/ + STYLE + WIDTH 2 + COLOR 25 60 116 + END + END + CLASS + NAME "front d'implantation obligatoire" + EXPRESSION /fio/ + STYLE + PATTERN 6 6 END + WIDTH 3 + COLOR 31 120 180 + END + END + CLASS + NAME "bande d'implantation obligatoire" + EXPRESSION /bio/ + STYLE + WIDTH 4 + COLOR 31 120 180 + END + END + CLASS + NAME "alignement de rez-de-chaussée" + EXPRESSION /ali_rez/ + STYLE + WIDTH 2 + COLOR 14 88 162 + END + END + CLASS + NAME "alignement en cas de reconstruction" + EXPRESSION /ali_rec/ + STYLE + PATTERN 6 6 END + WIDTH 2 + COLOR 31 120 180 + END + END + MINSCALEDENOM 50 +END + + ##################### # RESTRICTIONS CRDPPF - fin #####################