Processing math: 12%

6 votos

La división de una región geográfica

Tengo una cierta región geográfica definida por la parte inferior izquierda y superior derecha de coordenadas. ¿Cómo puedo dividir la región en las áreas de 20x20km. Me refiero a que en practial la forma de la tierra no es plana, es redondo. El cuadro delimitador es sólo una aproximación. Ni siquiera es rectangular en sentido real. Es sólo una suposición. Digamos que el bottomleft de coordenadas está dada por x1,y1 y la topright de coordenadas está dada por x2,y2, la longitud de x1 a x2 en y1 es diferente que el de la longitud entre x1 a x2 en y2. ¿Cómo puedo superar este problema

En realidad, tengo que crear un espacio meshgrid para esta región el uso de matlab de la función meshgrid. De modo que las redes de área 20x20km.

meshgrid(x1:deltaY:x2,y1:deltaX:y2)

Como se puede ver que sólo puede tener un deltaX y uno deltaY. Quiero elegir deltaX y deltaY tal que los incrementos de crear cuadrícula de tamaño 20x20km. Sin embargo, este deltaX y deltaY se supone que para variar, dependiendo de la ubicación. Alguna sugerencia?

Me refiero a que permite decir deltaX=del1. A continuación, la distancia entre los puntos (x1,y1) a (x1,y1+del1) es de 20 km. Pero cuando me mida la distancia entre los puntos (x2,y1) a (x2, y1_del1) la distancia es de < 20km. La función meshgrid de arriba, crea una malla. Pero las distancias no son consistentes. Alguna idea de cómo solucionar este problema?

Para encontrar el punto p(1,0)

deg = km2deg(20)

deg =

    0.1799

>> reckon(25,-120,0.1799,-18)

ans =

   25.1711 -120.0614

Función para calcular la distancia entre dos puntos

function [ distance ] = calculateDistance( latitude1,longitude1,latitude2,longitude2 )
radius = 6371;
dLat = degtorad(latitude2-latitude1);
dLon = degtorad(longitude2-longitude1);
a = sin(dLat/2) * sin(dLat/2) + cos(degtorad(latitude1)) * cos(degtorad(latitude2)) * sin(dLon/2) * sin(dLon/2);
c = 2 * atan2(sqrt(a), sqrt(1-a));
distance = radius * c;
end

Refiriéndose a whuber sugerencias

syms p(1,1).lat p(1,1).lon
solve ( calculateDistance(p(0,1).lat,p(0,1).lon,p(1,1).lat,p(1,1).lon), calculateDistance(p(1,0).lat,p(1,0).lon,p(1,1).lat,p(1,1).lon))

5voto

cjstehno Puntos 131

Esto puede realizarse de la misma manera, le ponga una rejilla de cuadrados en el plano:

  1. Despedir a una línea de base en cualquier dirección. Marca en incrementos iguales (de 20 km). Llamar a estos puntos p(0,0), p(0,1), ..., p(0,n), en fin. No tiene que ser geodesically recto, sino que debe estar cerca de la escalera.

  2. Comenzando con el primer punto marcado p(0,0), seleccione una dirección de la beta , no paralelos a la línea de base (tal vez de forma perpendicular a la línea de base, por ejemplo). Mover a 20 km en esa dirección y parada. Llame a este punto p(1,0).

  3. Comenzar con los primeros dos puntos en la línea de base, p(0,0) y p(0,1). Habrá dos lugares que están a 20 km de cada una de las p(0,1) y p(1,0): estas son las intersecciones de los círculos de radio de 20 km con centro en p(0,1) y p(1,0). Uno de estos puntos, por construcción, es p(0,0). Definir p(1,1) para ser el otro punto.

    De forma iterativa determinar p(1,j), j = 2, ..., n, en esto de la moda.

  4. Repetir los pasos 2 y 3, de forma iterativa, determinar el número de columnas que desee, utilizando la última fila de p(i,0), p(i,1), ..., p(i,n) como la línea de base y mantener beta constante (al menos aproximadamente).

Mantener sólo los cuadrícula de puntos que caen dentro de la región de interés.

La curvatura de la tierra comienza a tener un efecto pronunciado sobre las rejillas de más de mil kilómetros en un lado (o algo así). Para ilustrar esto, aquí es una cuadrícula con 400 km de espaciado construido para cubrir el Estados unidos continental.

GeoGrid

Esta es una proyección de Mercator. La línea de base de la cuadrícula de la parte inferior de la fila de puntos, a partir de (lat, lon) = (25, -120) y continuar a lo largo de la línea geodésica orientado 89.5 grados de este a norte. El ángulo de 'beta' es de 18 grados al oeste del norte: que determina la orientación de la izquierda de la cuadrícula.

(Hay un límite de hasta qué punto uno puede ir con este enfoque: el tiempo este tipo de mallas se ajustará en todo el mundo y volver a cubrir las mismas áreas. Nunca van a coincidir, a menos que sean muy grandes (y efectivamente crear un cubo, octaedro, o prisma).)


Tenga en cuenta que aparte de las mencionadas excepciones, es imposible crear una cuadrícula de congruentes plazas (o de cualquier otra forma) en la esfera (o cualquier elipsoide). Esto es debido a que el congruencies generaría un subgrupo discreto del grupo de rotaciones del espacio y de los subgrupos que corresponden a los cinco sólidos Platónicos, prismas y pirámides. Así, algo tiene que ceder: si desea que las celdas de la cuadrícula, en condiciones de igualdad o áreas de igualdad de los ángulos, las longitudes de sus lados debe variar; si desea que las longitudes de los lados a ser la misma, entonces las áreas y ángulos deben variar. Esta es la razón por la célula formas aparecen de forma distorsionada y no cuadrados en la figura: tal distorsión es inevitable.

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