JDONREFv4 Mappings

De JDONREF Wiki
Révision de 13 avril 2014 à 04:22 par Julien2512 (discussion | contributions) (Le mapping pays)

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 mappings peuvent disposer d'informations qui leurs sont propres (notamment leur géométrie).

Ils sont fournis dans le plugin sous la forme de fichiers json.

Le type adresse

Le type adresse est le plus complet. Sa géométrie est un point, mais pour des raisons pratiques, le type geo_shape est employé. 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 mapping troncon

Le mapping 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 mapping voie

Le mapping 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 mapping commune

Le mapping 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 mapping departement

Le mapping 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 mapping pays

Le mapping 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 '{
    "pays": {
       "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"}
      }
   }
 }'