Eu quero encontrar o ponto central de todas as terras da terra.
O que eu tentei até agora é baixar o shapefile de todos os países e partes polares da Terra. Importei esse shapefile para um banco de dados do SQL Server 2008 e tentei executar algumas consultas para encontrar esse ponto, mas todas foram em vão.
Como posso calcular o Centroid de todas as terras do mundo usando o SQL Server?
centroids
sql-server-spatial
Camarada Esponja
fonte
fonte
Respostas:
Talvez isso seja feito com mais facilidade com cálculos de varredura, porque o centróide da superfície terrestre é encontrado (por definição) calculando a média das coordenadas geocêntricas (X, Y, Z), ponderando-as por área terrestre. A média é feita usando estatísticas zonais .
Para obter essas coordenadas e o fator de escala da área, calcule as seguintes grades em coordenadas geográficas, cobrindo todas as áreas da terra em qualquer resolução desejada (usei células de 0,1 grau, que formam uma grade de 3600 por 1800 cobrindo toda a terra):
[Longitude] é a primeira coordenada.
[Latitude] é a segunda coordenada.
[X] é Cos ([Longitude]) * Cos ([Latitude]).
[Y] é Sin ([Longitude]) * Cos ([Latitude]).
[Z] é Sin ([Latitude]).
[F] é Cos ([Latitude]). Esse é o fator de escala da área.
(Observe que não é necessário multiplicar nenhum de [X], [Y] ou [Z] pelo raio da Terra. De fato, estamos computando o centróide de um modelo esférico perfeitamente dimensionado da Terra. A posição desse centróide em o modelo será a posição em escala do centróide desejado.)
Calcule médias zonais de [X] * [F], [Y] * [F] e [Z] * [F]. Quando fiz isso com um shapefile mostrando todas as principais áreas terrestres (incluindo a Antártica), com longitude variando de 0 a 360 graus, as médias zonais eram -0,1204, -0,0661 e 0,1356, respectivamente.
(Como alternativa, você pode reprojetar [X], [Y] e [Z] em qualquer projeção de área igual e calcular suas médias zonais diretamente, sem recorrer à ponderação de área por [F]. Faça o que for mais fácil em seu GIS.)
Como deveríamos esperar, esse centróide está muito mais próximo do centro da Terra em (0, 0, 0) do que em sua superfície. Se desejarmos mapeá-lo, podemos calcular sua latitude e longitude e ignorar sua profundidade. A longitude de um ponto (X, Y, Z) é determinada apenas por (X, Y) e geralmente é calculada como seu arco tangente; a latitude é determinada por Sqrt (X ^ 2 + Y ^ 2) e Z e geralmente é calculada como seu arco tangente. Eu obtenho a localização (208,77, 44,63) (que é 28,77 graus de longitude leste, 44,63 graus de latitude norte). Fica perto da costa leste da Romênia.
Este mapa está em coordenadas geográficas: a coordenada horizontal é longitude e a coordenada vertical é latitude. O plano de fundo mostra a grade de coordenadas X. O centróide está localizado abaixo do marcador vermelho no centro à direita.
Se isso não parece muito com o centro de massas terrestres, inspecione-o em um local diferente, como em cima:
As partes invisíveis dos Estados Unidos, da América Central e do Sul vão mais do que contrabalançar as massas terrestres visíveis; A Antártica e a Austrália restauram o equilíbrio. Esse resultado me parece plausível. Seus resultados podem variar um pouco, dependendo da escala e precisão dos dados de massa terrestre, da resolução da sua grade e se você usa um modelo esférico ou elipsoidal da terra. (O fator de área [F] requer uma computação mais envolvida em um modelo elipsoidal.)
A vantagem de uma solução baseada em grade se torna evidente nas generalizações desta questão. Por exemplo, substituindo [F] (a grade "quantidade da terra") por uma grade que representa a quantidade total de outra coisa por célula, você pode calcular centróides ponderados. Se você possui uma grade de densidade populacional [P], então [F] * [P] é proporcional à população total; usar [F] * [P] no lugar de [F] nesses cálculos daria um centróide da população mundial.
fonte