Giter Club home page Giter Club logo

portailcarto's Introduction

Portail carto

Portail carto est une application WEB développée par Le parc national du Mercantour d'après un développement initial du parc national des Cévennes.

Ce portail cartographique destiné au grand public a pour objectif de présenter simplement en quelques clics des informations géographiques (sites incontournables, sommets emblématiques, lacs remarquables, limites réglementaires, patrimoine naturel et architectural, etc.) des fichiers (images, vidéo, pdf) et égalements des fonds de carte (cadastraux, géologiques, orthophotographies, topographiques)

Cette application se veut le plus générique possible afin que d'autres parcs nationaux et d'autres structures puisse installer et utiliser ce portail cartographique.

Technologies

  • Langages : PHP, HTML5, JS, CSS
  • BDD : PostgreSQL, PostGIS
  • Serveur : Debian 8 Jessie
  • Framework JS : AngularJS
  • Framework CSS : Bootstrap
  • Framework cartographique : Leaflet
  • Fonds de carte : Geoportail, OpenStreetMap, BRGM, WMS

Fonctionnalités

Consulter les fonctionnalités :

  • [Ajouter une popup à un layer] (docs/popup.md)
  • [Fonctionnement du clustering] (docs/cluster.md)
  • [Fonctionnement du bandeau d'information en bas de page] (docs/info-band.md)

Installation

Consulter la documentation : Doc d'installation

License

  • Application développée par Raphaël Chochon et Samuel Priou (Parc National du Mercantour)
  • OpenSource - BSD
  • Copyright © 2016 - Parc National du Mercantour

portailcarto's People

Contributors

raphaelchochon avatar sbats avatar tdesvenain avatar samuelpriou avatar npmcdn-to-unpkg-bot avatar

Stargazers

Erdong avatar Alexander avatar  avatar Camille Monchicourt avatar

Watchers

 avatar James Cloos avatar Amandine avatar Vincent Prunet avatar  avatar Xavier Arbez avatar  avatar  avatar

portailcarto's Issues

Contrôleur de couches Angular dans sidebar

Comme mentionnée dans l'issue #1 , nous souhaitons remplacer le contrôleur de couches de base de Leaflet, par une sidebar dans laquelle nous retrouverons toutes nos couches listées dans le fichier maps.json.

  • Il faudrait prévoir la possibilité de les regrouper par "groupe", et de manière "générique", probablement en ajoutant un paramètre dans le maps.json.

Exemple :

"id":"coeur",
"name": "Coeur de Parc",
"type": "geojson",
"active": true,
"group": "group1",
[...]

Le résultat dans la sidebar serait quelque chose dans ce goût :
image

  • L'idéal serait que ces checkbox soient personnalisables à l'image du projet "Cables" de PnVanoise : https://github.com/PnVanoise/cables

    image
  • Les groupes pourront être "déroulables" grâce à un système de chevron (comme sur la capture ci-dessus).
  • A l'initialisation de la carte, les checkbox doivent être synchro avec le maps.json. Les couches qui auront la valeur active à true devront être cochées, et les autres non.
  • Au clic/déclic des checkbox, si la couche n'a pas encore été chargées, alors chargement du geojson, et affichage de la couche sur la carte. Si la couche a déjà été chargée au préalable, alors récupération du geojson dans le cache client et affichage de la couche. Enfin si la couche est déjà affichée sur la carte, alors "désaffichage" de la couche.

Le début de travail sur ces points se situent sur la branche https://github.com/PnMercantour/PortailCarto/tree/control_layer

Problème de synchro des checkbox

Si on ouvre une carte, que l'on désaffiche une couche (pré-chargée a l'init de la carte), que l'on revient sur l'accueil et qu'on réouvre cette même carte. La checkbox reste décoché alors que la couche s'affiche (puisque le maps.json indique la valeure True pour l'activation de cette couche)

Layer's style

If i assign a style to a layer in a map, and if this layer is added to an another map, there is a display bug. I can't display two different style for the same layer in two separate maps.

Refresh selection of a layer

When i am in a map and i select a layer, if i come back to home's application and i come back again on the map, the layer is still selected but we can't see the objects of the layer.

Upgrade to Leaflet 1.0.0 ? du to a bug...

Bug au rechargement d'un GeoJSON et/ou de son ré-ajout à la carte
Cheminement pour arriver au bug :

  • Chargement de la page d'acceuil avec éventuellement plusieurs cartes configurées (mais pas obligatoirement).
  • Ouverture d'une carte, les GeoJSON des overlays sont chargés et ceux qui doivent être affichés s'affichent (fonctionnement normal)
  • On décide de quitter la carte en revenant en arrière sur la "home"
  • On ré-ouvre la carte, ou une autre contenant des overlays en communs
  • C'est à ce moment que ce produit le bug, Leaflet n'est pas capable de ré-afficher les couches chargées au préalable dans la même session (obligé de faire un refresh de la page pour les ré-afficher...)
Cannot read property 'min' of undefined

image

➡️ BUB connu de la version 0.7.7 : Leaflet/Leaflet#2947

Comme cela demandait une refacto d'une partie du code pour le résoudre ça a été intégré à la version 1 de Leaflet

Pas encore de version stable, pas de date annoncée, mais une release candidate 2 qui à ce jour pourrait pt être nous permettre de résoudre ce bug... mais aussi en ajouter d'autres !? : https://github.com/Leaflet/Leaflet/releases/tag/v1.0.0-rc.2

Controle des couches sidebar et chargement des couches au clic

Nous voulons pouvoir charger certaines couches après que la carte ait été chargée. Le but étant d'alléger le premier affichage puisque a terme il sera possible d'afficher autant de couche que souhaité.

Pour cela, nous voulons configurer nos couches dans le fichier maps.json une seule fois (table, champ géométrique, champ attributaire, etc pour construction de l'url automatique), et qu'ensuite Angular et Leaflet soient capable de venir repiocher dans ce fichier maps.json les paramètres de chaque couche, à chaque fois que l'utilisateur voudra afficher ou désafficher une couche.

Le comportement du fichier maps.json au niveau de "l'activation" des couches par défaut au premier chargement est détaillé ici : d5edfc9

Actuellement, au clic dans le contrôle des couches (Leaflet), pas de chargement des couches qui n'ont pas été chargées au démarrage.

Une idée ou implémenter cette fonction, et comment ?
Démo : http://51.254.17.149/portail

Add the Usershub module to the "PortailCarto" ?

The "PortailCarto" will be used by the agents of the National Park of Mercantour (internal use) and by the public (external use).

It would be a good thing to add the usershub which is a web application to manage users. Usershub
https://github.com/PnEcrins/UsersHub has been developed by the National Park of Écrins.

This web application will facilitate and secure the connexion of the agents to the "PortailCarto"

Bug du refresh (F5) sur une carte [filter:notarray]

Lors du rafraîchissement (F5) sur une des cartes, bug au niveau du contrôleur Angular.
La console chrome affiche :
Error: [filter:notarray] http://errors.angularjs.org/1.5.5/filter/notarray?p0=%7B%7D

Il faut à ce moment revenir sur la page d’accueil pour pouvoir rouvrir une carte...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.