1 votos

¿Cómo comprobar si una característica ha sido dividida en GeoTools?

En mi programa estoy buscando el mejor lugar para un campo de golf. Tres de las condiciones son:

  1. El recorrido debe estar en una colina,
  2. debe estar al menos a 100 metros de las carreteras y
  3. no debe ser mayor que x .

Algunos de los campos generados están divididos en dos partes por una carretera en el medio.

Mi pregunta es:

¿Cómo puedo obtener esas piezas como características o geometrías separadas para comprobar su área? ¿Es eso posible? ¿Puedo comprobar si una determinada geometría está entera y no dividida?

Edición: Estoy utilizando la plataforma geotools. (Me siento estúpido por haberme olvidado de mencionarlo)

1voto

Brad8118 Puntos 1285

La mayoría de los programas de SIG tienen herramientas de Multiparts a partes individuales que separarán esas características en partes individuales.

1voto

TEM Puntos 6

Muy bien, he descubierto cómo hacer lo que originalmente quería hacer.

Así que en geotools puedes obtener la cantidad de geometrías divididas (separadas) en una característica usando el método geometry.getNumGeometries();

Puede obtener la propia geometría individual utilizando

geometry.getGeometryN(i);

Así que para hacer lo que necesites (es decir, crear nuevas características para cada geometría) sólo tienes que utilizar un bucle for como este:

Geometry geometry = feature.getDefaultGeometry();
for (int i=0, n=geometry.getNumGeometries(); i<n; i++) {
   Geometry singleGeom = geometry.getGeometryN(i);
   /*Do whatever you need*/
}

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X