Red de conocimiento informático - Conocimiento informático - Resumen de programación

Resumen de programación

¿Quiere el autor utilizar Java para encontrar el área de una cara en un archivo de forma, es decir, el área de un polígono o de varios polígonos? De hecho, es el área de un polígono irregular. Si no necesita ninguna biblioteca de funciones (geotools), todavía hay fórmulas listas para usar, no solo fórmulas derivadas de integrales definidas.

Cabe señalar que:

Los puntos deben agregarse a la lista en sentido antihorario o horario.

Geodemostración del paquete

Importar Java.awt.point;

Importar Java.util.ArrayList;

Importar Java.util.list ;

Importar org. característica SIG abierta.

importar soluciones com.geom. {

Public static void main(String args[]){

Punto p1 = nuevo punto (1, 0);

Punto p2 = nuevo punto (); 12, 0);

Punto p3 = nuevo punto (10, 10);

Punto p4 = nuevo punto (0, 10); = nuevo punto(3, 3);

List<point>list = new ArrayList<point>();//Lista genérica

add(p 1

list ; agregar(p2);

lista .añadir(P3);

lista . >

obtener área t = nueva obtener área();

doble área = t .obtener área(lista

println(área); p>

}

área pública de obtención doble (Lista & lt; punto & gt lista)

{

//S = 0.5 *(x0 * y 1-x 1 * y0)+(x 1 * y2-x2 * y 1)+...+ (xn*y0-x0*yn))

área doble = 0.00;

for(int i = 0;i<list.size();i++){

if(i<list.size() -1){

punto p 1 = list . get(I); //Obtiene el par de coordenadas p1 (x, y).

Punto p2 = list . get(I+1); //Obtiene el par de coordenadas p2 (x, y)

area+= p 1 . ( )-p2 . getx()* p 1 . gety();

} En caso contrario {

Punto pn = lista . Punto P0 = lista. get(0);

área+= pn .getx()* P0 .getx()* pn . }

}

Área = área/2.00

Área de retorno

}

}

El principio es el siguiente: los archivos Shapefile también se componen de puntos de coordenadas, ya sea un polígono convexo irregular o un polígono cóncavo, se puede dividir en varios triángulos y luego las áreas del triángulo se calculan en un determinado. orden. Modifiqué un ejemplo en línea y agregué genéricos (amplia variedad, como int, double). Hay cinco puntos.

Puede modificarlo sobre esta base, leer el archivo shp, extraer las coordenadas y luego calcular.

En cuanto al proceso de convertir la fórmula en código, recomiendo encarecidamente que sea mejor utilizar arcgis para calcular el área.