JDONREFv4 Mappings

De JDONREF Wiki

JDONREFv3ES introduit différents mapping permettant de gérer des adresses.

C'est l'adresse qui dispose de la plus grande richesse d'information, mais les autres types peuvent disposer d'informations qui leurs sont propres (notamment leur géométrie).

Le type adresse

Le type adresse est le plus complet. Sa géométrie est un point. Son mapping est défini de la manière suivante :

 $ curl -XPUT 'http://localhost:9200/jdonref/adresse/_mapping' -d '{
    "adresse": {
       "properties" : {
           "adr_id" : { "type" : "string", "store" : true},
           "tro_id" : { "type" : "string", "store" : true},
           "voi_id" : { "type" : "string", "store" : true},
           "codeinsee" : { "type" : "string", "store" : true},
           "codedepartement" : { "type" : "string", "store" : true},
           "codepays" : { "type" : "string" , "store" : true},
           "numero" : { "type" : "integer", "store": true},
           "repetition" : { "type" : "string", "store": true},
           "typedevoie" : { "type" : "string", "store": true},
           "article" : { "type" : "string", "store": true},
           "voie" : { "type" : "string", "store": true},
           "commune" : { "type" : "string" , "store": true},
           "codepostal" : { "type" : "string", "store": true},
           "t0" : { "type" : "date", "format": "YYYY-MM-dd HH:mm:ss"},
           "t1" : { "type" : "date", "format": "YYYY-MM-dd HH:mm:ss"},
           "ligne1" : { "type" : "string", "store": true},
           "ligne2" : { "type" : "string", "store": true},
           "ligne3" : { "type" : "string", "store": true},
           "ligne4" : { "type" : "string", "store": true},
           "ligne5" : { "type" : "string", "store": true},
           "ligne6" : { "type" : "string", "store": true},
           "ligne7" : { "type" : "string", "store": true},
           "geometrie" : { "type" : "geo_shape", "precision": "1cm", "tree": "quadtree"}
      }
   }
 }'
Le type troncon

Le type troncon correspond à une portion de voie. Sa géométrie est une linestring. Il dispose de bornes de début et de fin. Mais contrairement à la base de donnée PostgreSQL de JDONREF, il n'a pas de bornes pour chaque coté du troncon (2 troncons sont créés). Son mapping est défini de la manière suivante :

 $ curl -XPUT 'http://localhost:9200/jdonref/troncon/_mapping' -d '{
    "adresse": {
       "properties" : {
           "tro_id" : { "type" : "string", "store" : true},
           "voi_id" : { "type" : "string", "store" : true},
           "codeinsee" : { "type" : "string", "store" : true},
           "codedepartement" : { "type" : "string", "store" : true},
           "codepays" : { "type" : "string" , "store" : true},
           "numero_debut" : {"type" : "integer", "store" : true},
           "numero_fin" : {"type" : "integer", "store" : true},
           "repetition_debut" : {"type" : "string", "store" : true},
           "repetition_fin" : {"type" : "string", "store" : true},
           "typedevoie" : { "type" : "string", "store": true},
           "article" : { "type" : "string", "store": true},
           "voie" : { "type" : "string", "store": true},
           "commune" : { "type" : "string" , "store": true},
           "codepostal" : { "type" : "string", "store": true},
           "t0" : { "type" : "date", "format": "YYYY-MM-dd HH:mm:ss"},
           "t1" : { "type" : "date", "format": "YYYY-MM-dd HH:mm:ss"},
           "ligne4" : { "type" : "string", "store": true},
           "ligne5" : { "type" : "string", "store": true},
           "ligne6" : { "type" : "string", "store": true},
           "ligne7" : { "type" : "string", "store": true},
           "geometrie" : { "type" : "geo_shape", "precision": "1cm", "tree": "quadtree"}
      }
   }
 }'
Le type voie

Le type voie correspond à une adresse sans numéro. Sa géométrie est une linestring (en attendant l'implémentation du multilinestring par elasticsearch). Elle dispose d'un numéro de début et de fin. Son mapping est défini de la manière suivante :

 $ curl -XPUT 'http://localhost:9200/jdonref/voie/_mapping' -d '{
    "adresse": {
       "properties" : {
           "voi_id" : { "type" : "string", "store" : true},
           "codeinsee" : { "type" : "string", "store" : true},
           "codedepartement" : { "type" : "string", "store" : true},
           "codepays" : { "type" : "string" , "store" : true},
           "numero_min" : {"type" : "integer", "store" : true},
           "numero_max" : {"type" : "integer", "store" : true},
           "typedevoie" : { "type" : "string", "store": true},
           "article" : { "type" : "string", "store": true},
           "voie" : { "type" : "string", "store": true},
           "commune" : { "type" : "string" , "store": true},
           "codepostal" : { "type" : "string", "store": true},
           "t0" : { "type" : "date", "format": "YYYY-MM-dd HH:mm:ss"},
           "t1" : { "type" : "date", "format": "YYYY-MM-dd HH:mm:ss"},
           "ligne4" : { "type" : "string", "store": true},
           "ligne5" : { "type" : "string", "store": true},
           "ligne6" : { "type" : "string", "store": true},
           "ligne7" : { "type" : "string", "store": true},
           "geometrie" : { "type" : "geo_shape", "precision": "1cm", "tree": "quadtree"}
      }
   }
 }'


Le type commune

Le type commune a pour géométrie un multipolygon, sans extrusion. Son mapping est défini de la manière suivante :

 $ curl -XPUT 'http://localhost:9200/jdonref/commune/_mapping' -d '{
    "adresse": {
       "properties" : {
           "codeinsee" : { "type" : "string", "store" : true},
           "codedepartement" : { "type" : "string", "store" : true},
           "codepays" : { "type" : "string" , "store" : true},
           "commune" : { "type" : "string" , "store": true},
           "codepostal" : { "type" : "string", "store": true},
           "t0" : { "type" : "date", "format": "YYYY-MM-dd HH:mm:ss"},
           "t1" : { "type" : "date", "format": "YYYY-MM-dd HH:mm:ss"},
           "ligne4" : { "type" : "string", "store": true},
           "ligne5" : { "type" : "string", "store": true},
           "ligne6" : { "type" : "string", "store": true},
           "ligne7" : { "type" : "string", "store": true},
           "geometrie" : { "type" : "geo_shape", "precision": "1cm", "tree": "quadtree"}
      }
   }
 }'
Le type departement

Le type commune a pour géométrie un multipolygon, sans extrusion. Son mapping est défini de la manière suivante :

 $ curl -XPUT 'http://localhost:9200/jdonref/departement/_mapping' -d '{
    "adresse": {
       "properties" : {
           "codedepartement" : { "type" : "string", "store" : true},
           "codepays" : { "type" : "string" , "store" : true},
           "t0" : { "type" : "date", "format": "YYYY-MM-dd HH:mm:ss"},
           "t1" : { "type" : "date", "format": "YYYY-MM-dd HH:mm:ss"},
           "ligne6" : { "type" : "string", "store": true},
           "ligne7" : { "type" : "string", "store": true},
           "geometrie" : { "type" : "geo_shape", "precision": "1cm", "tree": "quadtree"}
      }
   }
 }'
Le type pays

Le type pays a pour géométrie un multipolygon, sans extrusion. Son mapping est défini de la manière suivante :

 $ curl -XPUT 'http://localhost:9200/jdonref/pays/_mapping' -d '{
    "adresse": {
       "properties" : {
           "codepays" : { "type" : "string" , "store" : true},
           "t0" : { "type" : "date", "format": "YYYY-MM-dd HH:mm:ss"},
           "t1" : { "type" : "date", "format": "YYYY-MM-dd HH:mm:ss"},
           "ligne7" : { "type" : "string", "store": true},
           "geometrie" : { "type" : "geo_shape", "precision": "1cm", "tree": "quadtree"}
      }
   }
 }'