Annonce
Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).
En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.
Pages: 1
- Sujet précédent - [MAPSERVER] avoir une image vide quand le fichier json est vide - Sujet suivant
#1 Wed 24 May 2017 15:13
- Jean-Marie64
- Participant actif
- Lieu: Pau
- Date d'inscription: 6 Nov 2007
- Messages: 131
[MAPSERVER] avoir une image vide quand le fichier json est vide
Bonjour
nous avons défini un layer WMS connectée à un fichier json
le problème que nous avons est pour obtenir une image vide quand le fichier json ne contient pas de donnée
à la place nous avons une erreur
est-il possible de dire à mapserver de ne rien faire pour un layer quand le fichier ne contient pas de donnée
par exemple, le layer "cells" suivant attend la propriété "alarm"
Code:
LAYER TYPE polygon NAME "cells" METADATA OWS_TITLE "MetGeoJSON Polygon" END CONNECTIONTYPE OGR CONNECTION "/var/www/html/meteo/prod/cellules/data/cells_empty.json" DATA "OGRGeoJSON" STATUS default PROJECTION "init=epsg:4326" END FILTERITEM "alarm" FILTER /active_cell|severe_storm/ CLASSITEM "alarm" CLASS EXPRESSION "active_cell" STYLE OUTLINECOLOR 0 0 0 COLOR 113 80 121 OPACITY 40 END END CLASS EXPRESSION "severe_storm" STYLE OUTLINECOLOR 0 0 0 COLOR 113 80 121 OPACITY 80 END END END
si celle-ci est absente, on a l'erreur
Code:
msDrawMap(): Image handling error. Failed to draw layer named 'cells'. msOGRLayerInitItemInfo(): OGR error. Invalid Field name: alarm
actuellement pour avoir une image vide le fichier json minimal est
Code:
{ "features": [ { "properties": { "alarm": "" } } ], "type": "FeatureCollection" }
l'idéal serait de pouvoir traiter un fichier vide (0 octets)
merci d'avance pour votre aide
Jean-Marie
Hors ligne
#2 Fri 26 May 2017 18:08
- Blaise Picinbono
- Participant actif
- Date d'inscription: 8 Jan 2015
- Messages: 67
- Site web
Re: [MAPSERVER] avoir une image vide quand le fichier json est vide
Bonjour;
Un fichier vide (0 octets) n'est pas un fichier geojson valide
Partant de là, il y a une solution, certes un peu tordue, pour afficher une image vide à partir d'un tel fichier avec mapserver:
Créer un fichier map pour cette couche "cells" uniquement (nommé par exemple cellules.map).
Dans le client, l'appeler avec une url de ce type:
Code:
url: 'http://localhost/cgi-bin/mapserv.cgi?map=/var/www/html/meteo/prod/cellules/cellules.map&EXCEPTIONS=BLANK'
(Notez le "&EXCEPTIONS=BLANK" à la fin de l'url)
Ainsi, le fichier map général contenant les autres couches ne plantera pas lorsque le fichier cells_empty.json sera vide, et le fichier map cellules.map affichera une image vide (transparente) lorsque ce fichier cells_empty.json sera vide.
Attention cependant, une image vide sera aussi sans doute générée s'il y a des erreurs dans le fichier json ou dans ce fichier map particulier.
Je ne suis pas certain d'être bien clair, demandez si vous voulez des précisions.
Hors ligne
#3 Mon 29 May 2017 11:43
- Jean-Marie64
- Participant actif
- Lieu: Pau
- Date d'inscription: 6 Nov 2007
- Messages: 131
Re: [MAPSERVER] avoir une image vide quand le fichier json est vide
Bonjour
merci pour votre réponse
suite à votre remarque qu'un fichier json vide n'est pas un format valide,
peut-on envisager de s'en sortir avec un fichier minimal ne contenant pas de feature tel que :
Code:
{ "type": "FeatureCollection", "features": [] }
je précise que nous traitons un GeoJSON
le problème est donc de faire en sorte que mapserver ne génère pas d'erreur si la propriété alarm" est absente
merci d'avance
Jean-Marie
Hors ligne
#4 Mon 29 May 2017 17:13
- Jean-Marie64
- Participant actif
- Lieu: Pau
- Date d'inscription: 6 Nov 2007
- Messages: 131
Re: [MAPSERVER] avoir une image vide quand le fichier json est vide
pour info nous utilisons :
MapServer version 7.0.5
gdal version 1.9.2
il semble qu'avec la version 2.1.0 un bug soit corrigé en rapport avec notre problématique : fix crash on null / non-json object f
Hors ligne
Pages: 1
- Sujet précédent - [MAPSERVER] avoir une image vide quand le fichier json est vide - Sujet suivant