Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision

Target

Select target project
  • Documentation/doc_module_vmap
  • Gwendal/doc_module_vmap
  • carto/doc_module_vmap
3 results
Select Git revision
Show changes
Commits on Source (13)
# Documentation module vMap # Documentation module vMap
Documentations des fonctionnalités de vMap Documentation des fonctionnalités du module vMap
\ No newline at end of file \ No newline at end of file
...@@ -100,6 +100,153 @@ Comme je l'ai stipulé précédemment il y a plusieurs identifiants clés permet ...@@ -100,6 +100,153 @@ Comme je l'ai stipulé précédemment il y a plusieurs identifiants clés permet
- **map_overview** : si vous donnez cet identifiants à une balise **<img\>** alors la carte de supervision y sera inscrite. - **map_overview** : si vous donnez cet identifiants à une balise **<img\>** alors la carte de supervision y sera inscrite.
- **map_legend** : si vous donnez cet identifiants à une balise **<div\>** alors le contenu de la légende sera copié dedans. - **map_legend** : si vous donnez cet identifiants à une balise **<div\>** alors le contenu de la légende sera copié dedans.
### Cartes en comparaison
Lors de l'utilisation du mode comparaison seule la carte principale (située à gauche) est imprimée par défaut, pour imprimer la carte de droite il faudra utiliser les balises **map_image_compare** et **map_legend_compare**.
Une fois ceci fait on retrouvera la carte secondaire sur toutes les impressions qu'on soit ou pas en mode comparaison. Pour rendre ceci variable et afficher la carte secondaire uniquement si le mode comparaison est actif la variable scope **compare_mode** utilisée avec **ng-if** permettra de conditionner l'affichage.
```HTML
<style>
#A4_print_template {
width: 21cm;
font-family: arial;
position: absolute;
}
#map_overview {
background-color: #D8D8D8 !important;
height: 4cm;
width: 4cm;
border: 1px solid black;
}
.map_image {
background-color: #D8D8D8 !important;
height: 22cm;
width: 14cm;
border: 1px solid black;
}
.map_image_compare_mode {
background-color: #D8D8D8 !important;
height: 11cm;
width: 14cm;
border: 1px solid black;
}
.map_legend {
width: 3cm;
margin-top: 16px;
}
.map_legend_compare_mode {
width: 3cm;
margin-top: 16px;
}
.color_blue{
color: #424A96 !important;
}
.logo {
height: 2cm;
}
.container {
position: absolute;
}
#header_container{
width: 18cm;
height: 2.5cm;
background-color: #D8D8D8 !important;
}
#footer_container{
width: 18cm;
height: 1cm;
background-color: #D8D8D8 !important;
}
.header_content{
margin-left: 10px;
}
.title{
display: block;
font-size: 24pt;
font-weight: bold;
margin-top: 0.8em;
}
.headline{
font-weight: bold;
font-size: 14pt;
}
.legend_headline{
font-weight: bold;
font-size: 14pt;
color: black;
}
.footer_text{
font-weight: bold;
font-size: 10pt;
margin: 0.3cm;
}
</style>
<div id="A4_print_template">
<div id="header_container" class="container" style="top: 1.2cm; left: 1.5cm;">
<div class="container" style="top: -0.5cm; left: 0cm;">
<div class="header_content title color_blue">{{title}}</div>
<div class="header_content headline color_blue">{{headline}}</div>
</div>
<div class="container" style="top: 0.2cm; right: 10px;">
<img class="logo" src="data:image/png;base64,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">
</div>
</div>
<!-- Mode normal -->
<div ng-if="!compare_mode" class="container" style="top: 5cm; left: 1.5cm;">
<label class="legend_headline">Légende</label>
<div id="map_legend"></div>
</div>
<!-- Mode comparaison -->
<div ng-if="compare_mode" class="container" style="top: 5cm; left: 1.5cm;">
<label class="legend_headline">Légende</label>
<div id="map_legend"></div>
<div id="map_legend_compare"></div>
</div>
<!-- Mode normal -->
<div ng-if="!compare_mode" class="container" style="top: 4cm; right: 1.1cm;">
<img id="map_image" class="map_image" src="images/transparent.png">
</div>
<!-- Mode comparaison -->
<div ng-if="compare_mode">
<div class="container" style="top: 4cm; right: 1.1cm;">
<img id="map_image" class="map_image_compare_mode" src="images/transparent.png">
</div>
<div class="container" style="top: 15cm; right: 1.1cm;">
<img id="map_image_compare" class="map_image_compare_mode" src="images/transparent.png">
</div>
</div>
<div class="container" style="top: 24.5cm; left: 1.7cm; z-index: 9;">
<!-- Pour afficher l'overview utiliser id="map_overview-->
<img id="map_overview">
</div>
<div id="footer_container" class="container" style="top: 26.7cm; left: 1.5cm">
<div class="container" style="top: 0cm; right: 0cm;">
<div class="footer_text">
<label class="color_blue">Source(s):</label>
<label class="color_blue">{{sources}}</label>
</div>
</div>
<div class="container" style="top: 0cm; left: 5.5cm;">
<!-- Pour afficher l'échelle actuelle utiliser {{map_scale}}-->
<div class="footer_text">
<label class="color_blue"></label>
<label class="color_blue">Echelle: {{map_scale}}</label>
</div>
</div>
</div>
</div>
```
![styles impression](../images/impressions_7.jpg)
### Variables disponibles ### Variables disponibles
Tous les paramètres qui vous affecterez depuis le mode Paramètres seront interprétés comme des variables et pourront être incluses dans le résultat en les mettant entre crochets dans le définition. Tous les paramètres qui vous affecterez depuis le mode Paramètres seront interprétés comme des variables et pourront être incluses dans le résultat en les mettant entre crochets dans le définition.
...@@ -115,6 +262,25 @@ Au même titre que les paramètres définis, certains paramètres dynamiques son ...@@ -115,6 +262,25 @@ Au même titre que les paramètres définis, certains paramètres dynamiques son
- **user_email** : adresse mail de l'utilisateur - **user_email** : adresse mail de l'utilisateur
- **user_user_id** : identifiant de l'utilisateur - **user_user_id** : identifiant de l'utilisateur
Il est également possible de créer des variable à partir de code javascript.
Exemple : ajout de la date du jour de génération de l'impression
```
<script>
n = new Date();
y = n.getFullYear();
m = n.getMonth() + 1;
d = n.getDate();
document.getElementById("date").innerHTML = d + "/" + m + "/" + y;
</script>
```
Insertion du code html permettant de faire remonter la variable
```
<p style="text-align: left;">Le&nbsp;<a id="date"></a></p>
```
## Objet Styles ## Objet Styles
En renseignant des styles d'impressions, alors l'utilisateur pourra choisir le style qu'il souhaite utiliser lors de la phase de préparation. En renseignant des styles d'impressions, alors l'utilisateur pourra choisir le style qu'il souhaite utiliser lors de la phase de préparation.
...@@ -134,3 +300,4 @@ Ce dernier onglet va permettre à l'administrateur de définir les paramètres ...@@ -134,3 +300,4 @@ Ce dernier onglet va permettre à l'administrateur de définir les paramètres
Si un paramètre est non modifiable alors il sera caché dans le formulaire mais le résultat sera inclus dans l'impression. Si un paramètre est non modifiable alors il sera caché dans le formulaire mais le résultat sera inclus dans l'impression.
![configuration styles impression](../images/impressions_5.jpg) ![configuration styles impression](../images/impressions_5.jpg)
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
Documentation en cours de rédaction.. Documentation en cours de rédaction..
## Utiliser des mots de passe cryptés dans les mapfile du flux privé (à partir de 2018.01.00) ## Utiliser des mots de passe cryptés dans les mapfile du flux privé
Pour toute application ouverte à un certain nombre d'utilisateurs, il est utile voir indispensable de crypter les mots de passes situés à l'intérieur des mapfiles générés lors de l'utilisation de flux privés. Pour toute application ouverte à un certain nombre d'utilisateurs, il est utile voir indispensable de crypter les mots de passes situés à l'intérieur des mapfiles générés lors de l'utilisation de flux privés.
......
# Flux WFS
Bien que l’interface ne soit pas prévu pour, vMap est en mesure de publier des flux au format WFS sans problème **pour les serveurs Linux**.
## 1. Objet Web
La première des choses à faire c'est de créer un objet web pour l'utilisation du WFS, pour ceci saisir un nom puis la définition suivante.
```
WEB
METADATA
"wfs_title" "{WMSSERVICE_ID}"
"wfs_onlineresource" "{MS_CGI_URL}public/{WMSSERVICE_ID}"
"wfs_srs" "EPSG:4326 EPSG:2154 EPSG:3857"
"wfs_abstract" "This text describes my WFS service."
"wfs_enable_request" "*"
END
END
```
## 2. Flux public
Ensuite il faudra créer un flux, pour ceci il faudra se rendre sur l'onglet **Flux WMS publics** puis **Ajouter un flux wms public** et y ajouter la définition suivante.
```
MAP
NAME Flux_WFS_public
STATUS ON
SIZE 400 300
SYMBOLSET "../symbols/symbols.sym"
EXTENT -180 -90 180 90
UNITS DD
FONTSET "../fonts/fonts.list"
CONFIG "MS_ERRORFILE" "{MS_LOG_FILE}"
CONFIG "PROJ_LIB" "{MS_PROJ_DIR}"
DEBUG {MS_DEBUG_MODE}
PROJECTION
"+init=epsg:4326"
END
{WEB}
{LAYERS}
END
```
Il faudra bien entendu utiliser l'objet web décrit précédemment
## 3. Métadonnées
La troisième étape consiste à créer une métadonnée qui sera utilisée dans les couches, pour cela utilisez la défintion ci-dessous.
```
METADATA
"wfs_title" "{LAYER_TITLE}"
"wfs_srs" "EPSG:2154 EPSG:3857 EPSG:4326"
"gml_include_items" "all"
"gml_featureid" "{TABLE_ID}"
"wfs_enable_request" "*"
END
```
## 4. Couche
La dernière étape est de créer la/les couche(s) que l'on souhaite publier, pour cela on choisira obligatoirement une connexion publique, pour le reste il faudra la configurer comme on le fait d'habitude avec les couches WMS de type vecteur.
![couche wfs](../../images/mapserver_wfs_1.jpg)
## 5. Publier le flux
Enfin, retournez sur le flux précédemment crée, associez la couche puis sauvegardez le flux.
Votre flux est désormais disponible sur `https://[votre serveur]/wms/public/[nom du flux]?service=wfs&version=1.1.0&request=GetCapabilities`
...@@ -12,3 +12,4 @@ Le mode MapServer permet la publication de flux WMS avec MapServer. ...@@ -12,3 +12,4 @@ Le mode MapServer permet la publication de flux WMS avec MapServer.
connexion connexion
flux_publics flux_publics
flux_prives flux_prives
flux_wfs
images/emprise.jpg

111 KiB

images/impressions_7.jpg

308 KiB

images/mapserver_wfs_1.jpg

274 KiB

...@@ -66,19 +66,30 @@ vMap. ...@@ -66,19 +66,30 @@ vMap.
## 4. Accès direct : visualisation d'objet spécifique ## 4. Accès direct
Il est possible de visualiser un objet spécifique d'une carte en indiquant dans l'url, les paramètres suivants séparés par des &. #### 4.1. Visualisation d'une zone
Chacun de ces paramètres est facultatif
Il est possible de charger vMap sur une zone spécifique en renseignant l'étendu ou alors des coordonnées long/lat
- map_id: l'identifiant de la carte à afficher (récupérable dans la liste des cartes)
- extent: étendue à renseigner au format xmin|ymin|xmax|ymax
- lon: longitude (requiert lon, lat et zoom)
- lat: latitude (requiert lon, lat et zoom)
- zoom: seuil de zoom (entre 0 et 28) (requiert lon, lat et zoom)
- map_id: l'identifiant de la carte à afficher (récupérable dans la liste des cartes) Exemple :
- bo_id: identifiant de l'objet métier à interroger https://demo.veremes.net/vmap?mode_id=vmap&map_id=-1&extent=633212.2672198378%7C6852982.667582236%7C670936.3321414075%7C6871577.6699824445
- ids: le ou les identifiants des entités à afficher (nécessite bo_id)
- login: login pour une connexion automatique (nécessite password)
- password: mot de passe pour une connexion automatique
Un zoom est effectué sur l'objet défini en paramètre de l'url et ce dernier est centré sur la carte qui s'affiche. #### 4.2. Visualisation d'objet spécifique
Il est possible de visualiser un objet spécifique d'une carte en indiquant dans l'url, les paramètres suivants séparés par des &.
Chacun de ces paramètres est facultatif
Exemple d'url : - map_id: l'identifiant de la carte à afficher (récupérable dans la liste des cartes)
- bo_id: identifiant de l'objet métier à interroger
- ids: le ou les identifiants des entités à afficher (nécessite bo_id)
Un zoom est effectué sur l'objet défini en paramètre de l'url et ce dernier est centré sur la carte qui s'affiche.
https://demo.veremes.net/vmap/?map_id=-1&bo_id=veremes_parcelles_visualisation&ids=66366000AB0003|66366000AB0007&login=demo&password=demo Exemple :
https://demo.veremes.net/vmap/?map_id=-1&bo_id=veremes_parcelles_visualisation&ids=66366000AB0003|66366000AB0007
...@@ -388,11 +388,17 @@ Il s'agit de la même fiche d'urbanisme générée par ["le rapport en un clic" ...@@ -388,11 +388,17 @@ Il s'agit de la même fiche d'urbanisme générée par ["le rapport en un clic"
### Emprises bâties/non bâties ### Emprises bâties/non bâties
Le rapport Emprises bâties/non bâties fournit un fichier Excel listant pour toutes les parcelles sélectionnées la surface en m² et en proportion du bâti et du non bâti les composant. Le rapport Emprises bâties/non bâties fournit un fichier Excel listant, pour toutes les parcelles sélectionnées, la référence cadastrale (section et numéro), l'adresse, la superficie cadastrale en m² et la proportion du bâti / du non bâti les composant.
![](../images/bati_non_bati.png) ![](../images/bati_non_bati.png)
### Emprises
Le rapport Emprises fournit un fichier Excel listant, pour toutes les parcelles sélectionnées, la référence cadastrale (section et numéro), l'adresse, la superficie cadastrale en m² et la proportion des emprises diverses les composant (ex : POS / PLU).
![](../images/emprise.jpg)
### Subdivisions fiscales ### Subdivisions fiscales
Le rapport Emprises bâties/non bâties fournit un fichier Excel listant pour toutes les parcelles sélectionnées le revenu fiscal, la surface et son occupation. Le rapport Emprises bâties/non bâties fournit un fichier Excel listant pour toutes les parcelles sélectionnées le revenu fiscal, la surface et son occupation.
......