InseeFr / InseeFr/Metadata-API
Service identification Iris
- Lenguaje dominante
- Java
- Estrellas
- 1
- Forks
- 7
- Merge medio
- 21 h 42 min
- PR fusionados (30 d)
- 1
Descripción
## **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)
}
```
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Evaluación
Este issue todavía no se ha evaluado.