InseeFr / InseeFr/Metadata-API

Service identification Iris

Aperta
#103 8 commenti 0 reazioni 1 assegnatario Assegnata a @JeromeMBourgeois Vedi su GitHub
Lingua principale
Java
Stelle
1
Fork
7
Merge medio
21h 42m
PR unite (30g)
1

Descrizione

## **Service d’identification**
### **Iris**
L’Iris est un découpage infra-communal.

Seules les plus grandes communes (environ 2000) sont découpées en Iris. Le reste du territoire n’est pas couvert par ce zonage.

Toutefois, pour répondre au mieux aux besoins des utilisateurs, l’API devrait renvoyer une partition du territoire. Pour cela, en plus des Iris, elle renverra un faux Iris pour chaque commune non découpée, avec comme code le code de la commune suivi de « 0000 » (les code des Iris étant deux mêmes composés du code commune suivi de quatre chiffres). L’URI de ces faux Iris reste celui de communes, ainsi que leur nom et les autres informations qui les concernent.

Par ailleurs les Iris possèdent un « type d’Iris » qui est le plus généralement « H » (habitation) mais qui peut également être « A » (activité) ou « D » (divers).
#### *Requête*

|**Méthode**|**Requête**|**Description**|
| :- | :- | :- |
|GET|/iris/{code}|Récupérer les informations concernant l’Iris {code}|
#### *Paramètres*

|**Paramètres**|**Description**|**Type**|
| :- | :- | :- |
|date|Filtre pour renvoyer l’Iris activ à la date donnée. Par défaut, c’est la date courante.|Date|
#### *Exemples de requête*
```
/geo/iris/010040101

/geo/iris/0100401001?date=2023-01-01
```
#### *Champs de la réponse*

|**Champ**|**Description**|
| :- | :- |
|URI|URI de l’Iris|
|Type|« Iris » ou « Commune »|
|Code|Code Insee de l’Iris|
|Intitule|Nom de l’Iris (avec article)|
|IntituleSansArticle|Nom de l’Iris sans article|
|TypeArticle|Code article du nom de l’Iris. Attribut du champ IntituleSansArticle|
|TypeDIris|Code du type d’Iris (H, A ou D)|
|DateCreation|Date de création de l’Iris|
|DateSuppression|Date de suppression de l’Iris s’il a été supprimé|

#### *Exemple de réponse en XML*
```xml

Les Pérouses-Triangle d'Activités
Pérouses-Triangle d'Activité
H
2008-01-01

```
#### *Exemple de réponse en JSON*
```json
{
"type": "Iris",
"code": "010040101",
"uri": "http://id.insee.fr/geo/iris/b8c772de-9551-4f13-81c5-eca5bb0f2f7d",
"intitule": "Les Pérouses-Triangle d'Activités",
"intituleSansArticle": "Pérouses-Triangle d'Activité",
"typeArticle": "4",
"typeDIris": "H",
"dateCreation": "2008-01-01"
}
```
#### *Exemple de requête SPARQL*
Sans le paramètre date, c’est la date courante
```sparql
PREFIX igeo:
PREFIX xsd:
SELECT DISTINCT ?uri ?type ?code ?nom ?nomSansArticle ?codeArticle ?typeDIris ?dateDebut ?dateFin
WHERE {
{
?s a igeo:Iris ;
igeo:typeDIRIS ?uriTypeDIris ;
igeo:codeINSEE '010040101';
igeo:codeINSEE ?code .
BIND(SUBSTR(STR(?uriTypeDIris ), STRLEN(STR(?uriTypeDIris )), 1) AS ?typeDIris)
}
UNION
{
BIND(SUBSTR('010040101', 1, 5) AS ?codeCommune)
?s a igeo:Commune ;
igeo:codeINSEE ?codeCommune .
OPTIONAL {
?iris igeo:subdivisionDirecteDe+ ?s ; a igeo:Iris .
OPTIONAL {?iris ^igeo:creation/igeo:date ?dateDebutIris }
OPTIONAL {?iris ^igeo:suppression/igeo:date ?dateFinIris }
FILTER (!BOUND(?dateDebutIris) || ?dateDebutIris <= NOW() )
FILTER (!BOUND(?dateFinIris) || ?dateFinIris > NOW() )
}
FILTER (!BOUND(?iris))
BIND(CONCAT(?codeCommune, '0000') AS ?code)
FILTER(?code = '010040101')
}
?s igeo:nom ?nom;
igeo:codeArticle ?codeArticle ;
igeo:nomSansArticle ?nomSansArticle ;
a ?typeRDF .
BIND(STR(?typeRDF) AS ?type).
BIND(STR(?s) AS ?uri).
OPTIONAL {?s ^igeo:creation/igeo:date ?dateDebut }
OPTIONAL {?s ^igeo:suppression/igeo:date ?dateFin }
FILTER (!BOUND(?dateDebut) || ?dateDebut <= NOW() )
FILTER (!BOUND(?dateFin) || ?dateFin > NOW() )
}
ORDER BY ?code
```
Avec le paramètre date :
```sparql
PREFIX igeo:
PREFIX xsd:
SELECT DISTINCT ?uri ?type ?code ?nom ?nomSansArticle ?codeArticle ?typeDIris ?dateDebut ?dateFin
WHERE {
{
?s a igeo:Iris ;
igeo:typeDIRIS ?uriTypeDIris ;
igeo:codeINSEE '010040101';
igeo:codeINSEE ?code .
BIND(SUBSTR(STR(?uriTypeDIris ), STRLEN(STR(?uriTypeDIris )), 1) AS ?typeDIris)
}
UNION
{
BIND(SUBSTR('010040101', 1, 5) AS ?codeCommune)
?s a igeo:Commune ;
igeo:codeINSEE ?codeCommune .
OPTIONAL {
?iris igeo:subdivisionDirecteDe+ ?s ; a igeo:Iris .
OPTIONAL {?iris ^igeo:creation/igeo:date ?dateDebutIris }
OPTIONAL {?iris ^igeo:suppression/igeo:date ?dateFinIris }
FILTER (!BOUND(?dateDebutIris) || ?dateDebutIris <= '2023-01-01'^^xsd:date )
FILTER (!BOUND(?dateFinIris) || ?dateFinIris > '2023-01-01'^^xsd:date )
}
FILTER (!BOUND(?iris))
BIND(CONCAT(?codeCommune, '0000') AS ?code)
FILTER(?code = '010040101')
}
?s igeo:nom ?nom;
igeo:codeArticle ?codeArticle ;
igeo:nomSansArticle ?nomSansArticle ;
a ?typeRDF .
BIND(STR(?typeRDF) AS ?type).
BIND(STR(?s) AS ?uri).
OPTIONAL {?s ^igeo:creation/igeo:date ?dateDebut }
OPTIONAL {?s ^igeo:suppression/igeo:date ?dateFin }
FILTER(!BOUND(?dateCreation) || ?dateCreation <= '2023-01-01'^^xsd:date)
FILTER(!BOUND(?dateSuppression) || ?dateSuppression > '2023-01-01'^^xsd:date)
}
```

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.