Grouper les entités surfaciques pour correspondre à un ensemble de spécifications

13

J'ai deux ensembles différents d'entités surfaciques (398 secteurs de recensement et 80 codes postaux) qui s'ajoutent chacun à une entité plus grande (un comté américain). Bien que les secteurs de recensement soient plus petits que les codes postaux, ils ne se cumulent pas (c'est-à-dire qu'ils sont imbriqués dans) les codes postaux.

Ma question - existe-t-il une méthode / un outil utilisant ArcGIS ou QGIS (ou tout autre logiciel) pour regrouper séparément les 398 secteurs de recensement et les 80 codes postaux pour former 10 entités surfaciques tout en minimisant la différence entre deux ensembles résultants de 10 entités polygonales?

Pour clarifier, je veux regrouper les 398 tracts -> 10 fonctionnalités, puis regrouper séparément les 80 codes postaux -> 10 fonctionnalités, de sorte que j'ai deux ensembles disparates de 10 fonctionnalités chacun. Je souhaite optimiser ce regroupement afin que la superposition entre ces deux ensembles soit maximisée (c.-à-d. Minimise la non-concordance).

Voici une image montrant ce que j'espère réaliser:

Eli Kern
la source
Existe-t-il de toute façon un exemple (image, dessin, etc.) de ce à quoi vous aimeriez que la sortie finale ressemble? J'ai juste du mal à le visualiser.
landocalrissian
Souhaitez-vous également des critères tels que "les polygones doivent avoir à peu près la même taille"? Je peux imaginer une façon peu coûteuse de le faire serait de trouver les 9 plus petits codes postaux qui correspondent grosso modo aux secteurs de recensement, et d'appeler le reste le dixième polygone.
phloème
Merci phloème pour ton commentaire. Je voudrais en effet fixer divers critères, mais je ne voulais pas compliquer les questions. Par exemple, il serait bien de fixer des critères pour une population minimale dans chacun des 10 polygones. Ce que j'aimerais, c'est un outil / une méthode qui pourrait générer une liste de solutions possibles pour regrouper les CT et les ZIP dans ces 10 groupes, tout en respectant certains paramètres. Ensuite, j'ai pu examiner manuellement les solutions pour les caractéristiques qui pourraient ne pas être automatisables (par exemple, ne pas franchir les limites de la ville).
Eli Kern
Ce que j'ai compris, vous avez besoin de deux couches (ZIP et Tract) identiques. Dites que vous voulez que la forme des Tracts soit comme ZIP, puis débarrassez-vous de la géométrie des Tracts et créez une couche identique à ZIP et transférez l'attribut des Tracts dans cette couche Tracts nouvellement créée, puis la couche ZIP et Tracts se ressemblera. Pour ce faire, convertissez la couche Tracts en couche Point et exécutez une analyse de mise à jour ou d'identité (je suggère, car elle n'est pas destructrice). Vous devrez peut-être également en dissoudre selon vos besoins. Nous avons maintenant une couche ZIP et Tracts avec la même géométrie .. mais un attribut différent (c'est-à-dire des Tracts) ..
SIslam
Je ne connais aucun moyen facile (par exemple un outil existant) pour cette tâche. Et je doute que la création d'un soit plus rapide que la gestion manuelle d'une entrée de cette taille.
Jan Šimbera

Réponses:

1

Puisqu'il n'y a pas de façon claire ou uniforme de définir les polygones résultants, je pense que vous devez d'abord les créer comme bon vous semble - en utilisant dissoudre sur n'importe quel attribut (existant ou dérivé) sur la couche recensement ou code postal.

Une fois que vous avez les polygones résultants, superposez (intersectez) chacune des couches avec lui, effectuez une autre dissolution et calculez vos statistiques sur d'autres attributs.

Matej
la source
0

Si vous avez les informations des codes postaux et de la hiérarchie supérieure dans votre base de données, vous pouvez le faire en combinant toutes les valeurs des colonnes et obtenir un nouveau fichier de formes.

ashish kumar
la source
0

Il me semble que vous voulez regrouper les secteurs de recensement en 10 groupes, avec la contrainte que les secteurs de chaque groupe sont adjacents. Si tel est le cas, vous pouvez utiliser la bibliothèque python clusterPy qui implémente plusieurs algorithmes différents pour le clustering spatialement contraint.

Behrouz Babaki
la source