Identification de FRONT LAND à l'aide d'ArcGIS ModelBuilder

8

Je travaille dans une mairie. J'ai besoin d'identifier l'avant du terrain. Ici, dans mon pays, nous l'appelons "TESTADA" ou "FRENTE DE LOTE". Je n'ai pas trouvé le terme exact en anglais.

LE FRONT D'UN TERRAIN est une ligne près de l'entrée du sol. Autrement dit, est l'entrée d'une maison. C'est là que la porte d'entrée, avec le numéro de port. Pour illustrer l'image suivante ci-dessous.

Carte avant: avant

Carte plus tard avec les premières lignes de terrain - Comme il se doit: après

UN LOT n'a qu'un FRONT DE TERRE. Dans les coins, c'est la rue principale. Il y a des vieux bâtiments qui resteront comme ils sont car ils sont historiques. Actuellement, nous faisons ces lignes de FRONT LAND manuellement. Nous aimerions en automatiser une partie. Cela pourrait être en utilisant ModelBuilder.

En bref:

  • Dans: LAYER OF LAND, LAYER STREET, BUILDING LAYER.
  • Sortie: COUCHE avec FRONT DE LIGNES TERRESTRES.

Un autre exemple de lot avant: Le terme FRONT OF LAND fait référence au devant de la propriété. L'entrée de la maison est son front. entrez la description de l'image ici

ChristianAbreu
la source
Je suppose que vous voudrez commencer par l'outil «polygone à ligne» pour diviser vos polygones en segments sélectionnables.
Craig
Voir aussi comment déterminer si une route est une propriété privée ou non? , pour séparer les rues des ruelles.
Peter Krauss

Réponses:

2

Cela nécessiterait du code, je vais donc indiquer quelques lignes directrices afin que vous puissiez commencer par quelque chose, puis poser plus de questions. Le FRONT OF LAND tel qu'illustré peut être identifié par deux méthodes, les deux utilisent des relations spatiales:

Méthode 1) C'est le seul côté d'un polygone qui ne touche aucun autre polygone. Trouvez les polygones qui se touchent, cassez le polygone LAND, recherchez les côtés contre les polygones qui se touchent pour ceux qui ne touchent à rien.

ou

Méthode 2) C'est le côté du polygone le plus proche d'une route. Trouvez la route la plus proche du polygone LAND, brisez le polygone, trouvez le côté le plus proche de la route.

Cela peut être fait avec Postgis ou Shapely si vous choisissez de suivre le chemin open source. Quoi qu'il en soit, je recommanderais de consulter le manuel Shapely pour avoir une idée des relations spatiales qui pourraient être testées, elles sont généralement les mêmes sur n'importe quel logiciel.

Pablo
la source
2
que proposez-vous pour les lots de coin?
Craig
Pour détecter les coins, je suggérerais d'utiliser la méthode 1, il sélectionnerait le coin entier (l'avant et le côté) avec lequel vous pourriez alors sélectionner le segment le plus long. (comme indiqué sur les photos, les coins de coin ont le front sur le segment le plus long - modifier: il y a deux exceptions en haut au centre).
Pablo
2
à en juger par la photo, ce n'est pas toujours le cas. Je suggérerais une troisième méthode où le segment avant est le long du côté du colis où l'adresse est dérivée. Bien sûr, cela n'est utile que si le lot a une adresse et que de nombreux lots vides n'en ont pas.
Craig
+1 C'est une bonne idée! Peut-être un mélange de méthode 2 + adresse ... Je vous suggère d'écrire cela sur une réponse.
Pablo
1

Affiner la bonne réponse de @ Pablo, avec les définitions (ci-dessous) et ajouter une liste de contrôle pour chaque méthode, ce qui restreint leur utilisation. Définitions:

La couche de blocs est une table SQL avec des polygones représentant les limites des blocs de ville , qui ou sans trottoirs , mais préservant les ruelles privées (voir front-1 ) ou non adressables (voir front-2 ) dans le bloc.

La couche de lot est une table SQL avec des polygones représentant les limites des terrains .

La couche Street est une table SQL avec des lignes représentant les rues ... Ou, dans un "terrain fluvial", il y a aussi des rivières (et un chemin de fer peut être un "front"?).

Front-1 : les méthodes de @ Pablo concernent un concept général de front , où certains lots ont plus d'un "front sur une rue", parce qu'ils sont au coin (ont deux segments avant ou plus sur toutes ses rues environnantes).

Front-2 : "front" concerne la rue indiquée dans l'adresse officielle (ou adresse de correspondance) du lot. Eux, tous les lots (même au coin) n'ont qu'un seul segment de rue. PS: si votre système d'adresses et la couche de blocs acceptent beaucoup de " condominiums horizontaux " et ses adresses de condo, les "rues privées" doivent apparaître comme des rues habituelles .

L' illustraion de la question de @ ChristianAbreu montre le concept Front-2 (!) , Pas le concept général.

Note technique: vous pouvez connecter Python avec PostGIS ou avec tout autre outil compatible OGC (pour SQL spatial) pour exprimer formellement les listes de contrôle.


Liste de contrôle pour la méthode # 1 - côté d'un polygone qui ne touche aucun autre polygone

Cette méthode a une approche topologique, n'est valable que pour les blocs où toutes les zones du lot forment la zone de leur bloc. Donc, pour utiliser cette méthode, vous avez besoin d'une couche de blocs .

Exprimer formellement: vérifiez si blkarea~=sum_lotareapour chaque bloc,

SELECT ST_Area(geom) INTO blkarea FROM  block WHERE gid=each1; 
SELECT SUM(ST_Area(geom)) INTO sum_lotarea FROM lot WHERE gid_block=each1;

Ou, si les goemetries ne sont pas exactes, ou si les blocs sont avec des trottoirs, utilisez le moins w pour ST_Buffer(block.geom,-w)cela assure ST_Within(lot.geom lot,ST_Buffer(block.geom,-w))pour tous les lots.

REMARQUE: vérifiez également

  • si tous les lots sont dans un bloc, ST_Within(lot.geom,block.geom)pour tous les lots et blocs associés.

  • si, pour tous les lots non disjoints, il n'y a pas de zones superposées. not(ST_Overlaps(a,b))ou cette zone d'intersection n'a aucune signification (c'est-à-dire 2*ST_Area(ST_Intersection(a,b))/(ST_Area(a)+ST_Area(b))<0.01).

Liste de contrôle pour la méthode # 2 - le côté du polygone le plus proche d'une route

Cette méthode a une approche géométrique, basée sur une distance euclidienne minimale .

Vérifiez si la couche de rue n'a que des "rues publiques" , car vous devez séparer les "rues publiques" (qui peuvent exprimer l'adresse officielle d'un terrain) des "ruelles" (peuvent être internes au lot ou un "immeuble à condos" ").

Ensuite, vérifiez visuellement si tous les "blocs visuels" sont entourés de rues. Si votre couche rue est incomplète, la méthode n'est pas valide pour ces blocs.

Conclusions: règles de choix des méthodes

Pour la définition de Front-1 :

A) Lorsque vous avez de bonnes données sur les rues, utilisez la méthode n ° 2 ;

B) Lorsque vous avez une couche de bloc et une couche de lot cohérente, utilisez la méthode # 1

C) Lorsque vous n'avez pas de bonnes données, essayez de diviser vos données spatiales en portions où vous pouvez utiliser l'une ou l'autre méthode. PS: même sans la couche de blocs , vous pouvez construire des lots voisins, ou par une bonne réponse à cette question .

Pour la définition Front-2 : vous avez besoin de bonnes données de rue, car la définition Front-2 a besoin du nom de la rue (de l'adresse du lot). Utilisez la méthode n ° 2 et supprimez les segments avant qui n'ont pas le même nom de rue que l'adresse du lot.

Peter Krauss
la source