InseeFr / InseeFr/Metadata-API

Service identification Iris

Đang mở
#103 8 bình luận 0 reaction 1 người được giao Được giao cho @JeromeMBourgeois Xem trên GitHub
Ngôn ngữ chính
Java
Star
1
Fork
7
Merge trung bình
21 giờ 42 phút
Pull request đã merge (30 ngày)
1

Mô tả

## **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)
}
```

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.