Tengo unos 10 polígonos y he añadido sus centroides al mapa. Quiero crear líneas que conecten los centroides de cada polígono adyacente. Si el polígono 1 limita con los polígonos 2 y 3, quiero una línea que vaya del 1 al 2 y del 1 al 3. Espero que esto tenga sentido y alguien pueda ayudarme. Además, me gustaría indicar las distancias entre los centroides.
Respuesta
¿Demasiados anuncios?
byachna
Puntos
583
Me encontré con el mismo problema, mi solución es crear una copia del polígono en primer lugar, añadir un campo con el mismo ID con los puntos centroides (debe estar allí, no es necesario crear). A continuación, utilice el arcobjects C # para juzgar si los polígonos se tocan, de esta manera:
ISpatialFilter pSpatialFilter = new SpatialFilterClass();
pSpatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelTouches;
A continuación, registre el ID de los polígonos tocados, que se conectarán al centroide, a continuación, crear fromlist y tolist para registrar los puntos, crear una nueva clase de característica polilínea para conectar esas líneas.