Resumen de programación
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; p>
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
}
} p >
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.