<\/HEAD>
Nous<\/SPAN> recevons régulièrement des demandes d'utilisateurs pour un dataset contenant la typologie des logements.<\/SPAN> Nous avons récemment approfondi cette question et bien que nous n'ayons pas de plans à court terme pour créer un dataset national à ce sujet<\/SPAN>, je souhaite vous montrer comment vous pourriez créer un tel dataset vous-même avec nos données BAG.<\/SPAN><\/P> <\/SPAN><\/P>Cette analyse se compose de plusieurs étapes. Nous allons examiner, en fonction des bâtiments environnants, si un bâtiment est isolé et sinon combien de bâtiments voisins adjacents il possède afin de déterminer s'il s'agit d'une maison d'angle ou d'une maison mitoyenne. Mais le BAG<\/A><\/SPAN> ne contient bien sûr pas seulement des espaces résidentiels, donc nous allons utiliser les objets de séjour pour clarifier cela. Nous utiliserons également ces objets de séjour pour distinguer les bâtiments avec plusieurs objets de séjour, comme les appartements. À la fin de ce blog, je fournirai un aperçu des liens avec plus d'informations.<\/SPAN><\/P> <\/SPAN><\/P>Tout d'abord, nous commençons par télécharger les données BAG. Vous pouvez les télécharger mensuellement depuis notre
groupe Datasets<\/A><\/SPAN> sur ArcGIS Online. La raison pour laquelle j'utilise ici le fichier geodatabase et non le service quotidien est que je vais modifier les attributs. Les analyses sur un feature service sont possibles, mais pas les modifications (comme dans les attributs).<\/SPAN><\/P> <\/SPAN><\/P>Étape 1 : Identifier les bâtiments sans fonction résidentielle<\/SPAN><\/STRONG><\/P>À partir du fichier geodatabase BAG, j'ai réalisé un
clip<\/A><\/SPAN> des bâtiments et objets de séjour dans la commune de Best<\/SPAN>, Noord-Brabant. Bien que le nom indique déjà que c'est le meilleur endroit pour un dataset test, c'est aussi le village où j'ai grandi. Cela facilite grandement la vérification du résultat de l'analyse.<\/SPAN><\/P> <\/SPAN><\/P>Nous sommes intéressés par les bâtiments avec des objets de séjour ayant pour usage « Fonction résidentielle ». Les objets de séjour peuvent avoir plusieurs usages. Dans nos données BAGv2 (voir aussi mon blog précédent<\/A><\/SPAN>) nous avons séparé ces usages en attributs distincts, ce qui facilite l'analyse. Chaque colonne indique par un 1 ou un 0 si l'usage est présent ou non dans cet objet de séjour.<\/SPAN><\/P> <\/SPAN><\/P>
<\/SPAN><\/P>Et c'est ce dont nous allons nous servir. Donc d'abord je fais une
sélection par attribut<\/A> <\/SPAN><\/SPAN>sur les objets de séjour:<\/SPAN><\/P>

J'exporte cette sélection vers une nouvelle classe d'entités Verblijfsobject_Best_Woning, car nous allons encore l'utiliser plus tard.
Puis j'ajoute un nouveau champ à ma classe d'entités Bâtiment nommé « Type_de_logement ». J'y enregistrerai plus tard le résultat de mon analyse. Ce champ comprendra les catégories suivantes :
- Maison individuelle
- Maison d'angle
- Maison mitoyenne
- Appartement
- Pas une habitation
Nous commençons par la dernière catégorie. Avec une sélection spatiale, je sélectionne tous les bâtiments qui n'ont pas d'objets de séjour avec usage « Fonction résidentielle ». Vous faites cela en sélectionnant les bâtiments qui croisent bien un objet de séjour avec fonction résidentielle, mais en cochant « Inverser la relation spatiale », ce qui inverse la sélection.

Puis j'utilise l'outil Calculate Field pour remplir pour ces bâtiments leur nouvel attribut Type_de_logement avec la valeur « Pas une habitation ».

Puis nous exportons également ces entités vers un nouveau dataset et supprimons ces entités de notre dataset Bâtiments. Beaucoup des bâtiments qui ne sont pas des habitations sont des garages ou des abris. Ce type de bâtiment est souvent adjacent à une maison d'angle ou une maison individuelle. Notre prochaine étape est de faire une analyse du nombre de bâtiments adjacents sur laquelle nous baserons la typologie du logement. Si nous laissions ces entités dans le dataset, ces logements seraient incorrectement catégorisés comme maisons mitoyennes ou maisons d'angle. Nous réintégrerons ces bâtiments sans fonction résidentielle dans le dataset plus tard.
Étape 2 : Identifier le nombre de bâtiments adjacents avec fonction résidentielle
Pour identifier le nombre de bâtiments adjacents, nous utilisons l'outil Polygon Neighbours. Cet outil calcule combien de bâtiments adjacents un bâtiment a et lesquels ils sont. Le résultat est donné sous forme de table. Nous cochons « Inclure les deux côtés de la relation voisine » afin que les deux bâtiments ayant un voisin soient pris en compte et pas seulement le premier bâtiment ayant un voisin.

La table créée par cet outil contient plusieurs colonnes :

Pour notre objectif de connaître le nombre de bâtiments adjacents, seule la colonne src_OBJECTID est intéressante. Cette colonne indique les ID des objets des bâtiments qui ont un ou plusieurs bâtiments adjacents. Pour chaque bâtiment adjacent, l’ID est affiché une fois, donc pour plusieurs voisins l’ID apparaît plusieurs fois.
Pour savoir combien de logements adjacents un bâtiment a, nous devons compter les src_OBJECTID uniques donc compter. Nous faisons cela avec l'outil Frequency. Cet outil donne également un tableau en résultat.<\/SPAN><\/P>
<\/SPAN><\/P>
<\/SPAN><\/P> <\/SPAN><\/P>
<\/SPAN><\/P><\/P>Avec ce tableau, nous pouvons ajouter la fréquence du nombre de bâtiments voisins au dataset Panden en liant le src_OBJECTID du tableau de fréquence à l'OBJECTID du dataset Panden.<\/SPAN><\/P> <\/SPAN><\/P>Cette information nous donne des renseignements sur quels bâtiments ont deux voisins ou plus, ce sont des maisons mitoyennes. Nous sélectionnons ces bâtiments par attribut et utilisons à nouveau l'outil Calculate Field pour leur attribuer la valeur « Tussenwoning ». Nous faisons de même pour les maisons d'angle ; ces maisons ont un seul voisin.<\/SPAN><\/P> <\/SPAN><\/P>
<\/SPAN><\/P> <\/SPAN><\/STRONG><\/P>Étape 3 : Identifier les appartements et les maisons individuelles<\/SPAN><\/STRONG><\/P>Il semble logique que les bâtiments sans maisons adjacentes soient automatiquement des maisons individuelles (ces bâtiments ont une Frequency de « <Null> »), mais malheureusement ce n'est pas le cas. Les immeubles sont en effet désignés comme un seul bâtiment dans la BAG, puis plusieurs objets d'habitation (les appartements eux-mêmes) y sont ajoutés. Nous devons donc déterminer pour les bâtiments sans voisins combien d'objets d'habitation sont logés dans le bâtiment. S'il y en a plusieurs, nous classons le bâtiment comme un appartement. Ce ne sont donc pas nécessairement des maisons individuelles, une maison mitoyenne peut aussi contenir des appartements.<\/SPAN><\/P> <\/SPAN><\/P>Esri Inc a déjà écrit un article technique à ce sujet et il existe différentes manières de compter le nombre de points dans un polygone. J'utilise ici l'outil Spatial Join avec la classe d'entités Verblijfsobject_Best_Woning. Certains bâtiments individuels peuvent par exemple contenir à la fois un magasin et une habitation, mais cela resterait selon moi une maison individuelle, puisque nous ne sommes intéressés que par le type de logement.<\/SPAN><\/P> <\/SPAN><\/P>
<\/SPAN><\/P><\/P>L'outil Spatial Join compte combien d'objets d'habitation avec typage logement se trouvent dans un seul bâtiment. Nous sélectionnons donc les bâtiments avec un Join_Count supérieur à 1 et les classons ensuite comme « Appartement » avec l'outil Calculate Field. Comme cela concerne aussi des bâtiments non individuels, ces bâtiments précédemment désignés comme mitoyens ou d'angle seront écrasés en tant qu'appartements.<\/SPAN><\/P> <\/SPAN><\/P>Parmi tous les logements, nous avons maintenant identifié les maisons d'angle, les maisons mitoyennes et les appartements. Les logements qui ne sont pas encore classifiés sont des maisons individuelles. Pour vérifier cela, je sélectionne tous les logements avec Woningtype <Null> (en d'autres termes, les logements qui ne sont pas encore classifiés) ainsi que tous les logements avec un Join_Count de 1 et une Frequency de <Null>. Les deux sélections donnent le même nombre en résultat, donc jusqu'à présent les chiffres sont corrects. Avec l'outil Calculate Field, je remplis pour cette sélection le type de logement « Vrijstaande woning ».<\/SPAN><\/P> <\/SPAN><\/P>Étape 4 : Fusionner les datasets<\/SPAN><\/STRONG><\/P>Nous avons maintenant deux datasets, un avec des logements et un avec des bâtiments qui ne contiennent pas de logement. Pour obtenir une vue d'ensemble de tous les bâtiments dans la BAG, je les fusionne à nouveau avec l'outil Append, après quoi je dispose du produit final : un dataset contenant une classification par type de logement.<\/SPAN><\/P> <\/SPAN><\/P>
Considérations
Naturally rien n'est jamais aussi simple qu'il y paraît et il y a aussi ici plusieurs choses à considérer. Tout d'abord, il s'agit des possibles « erreurs » dans les données sous-jacentes. Il est important de savoir que les détenteurs de la source sont responsables de la mise à jour des données et que si par exemple un bâtiment manque, cela influence le résultat de l'analyse. Un bâtiment manquant peut en effet indiquer incorrectement qu'une maison mitoyenne est une maison d'angle et une maison d'angle adjacente sera alors classée comme une maison individuelle. Ci-dessous, j'ai créé un exemple d'une telle situation (qui ne correspond pas à la réalité). Vérifiez toujours les données sources. Si leur contenu n'est pas correct, contactez content@esri.nl. content@esri.nl

Deuxièmement, il y a la définition d'une maison individuelle. J'ai choisi de ne regarder que si une maison est adjacente à une autre maison, mais une maison peut bien sûr aussi être adjacente à un bâtiment ayant une autre fonction résidentielle. Comme dans ma zone d'étude il s'agit principalement d'abris ou garages, j'ai choisi de ne pas inclure ces bâtiments. Cela dépendra de vos propres objectifs concernant l'information que vous souhaitez extraire des données quelle décision vous prendrez.
Les définitions sont également le sujet de mon troisième point à considérer. Quand quelque chose est-il un appartement ? Supposons qu'il existe une rangée de bâtiments dont le rez-de-chaussée est un magasin et l'étage(s) supérieur(s) utilisé(s) comme logement. Ces logements sont-ils alors des appartements ou des maisons mitoyennes ? Pour l'instant je les ai désignés comme maisons mitoyennes puisque je n'ai compté que les objets d'habitation ayant un usage résidentiel, mais vous pourriez faire un autre choix ici.
Défi
Cette analyse est une première étape pour réaliser un dataset complet avec typages de logement. Comment structureriez-vous les étapes suivantes pour distinguer par exemple les maisons d'angle des maisons jumelées ? Et quelles seraient pour vous des considérations pertinentes à prendre en compte ? Je suis très curieux de vos idées !
Houdoe et bon week-end !
Liens pertinents :
Informations BAG (Kadaster)
rel="nofollow noopener noreferrer">Groupe de jeux de données Esri Nederland dans ArcGIS Online
Blog sur le BAGv2
Outil Clip
Outil Copy Features
Sélectionner par attribut
Sélectionner par emplacement
Outil Calculate Field
Outil Polygon Neighbours
Outil Frequency
Outil Spatial Join
Outil Append