Je veux trouver le point central de toutes les terres de la terre.
Ce que j'ai essayé jusqu'à présent, c'est de télécharger le fichier de formes de tous les pays et parties polaires de la terre. J'ai ensuite importé ce fichier de formes dans une base de données SQL Server 2008, puis j'ai essayé d'exécuter certaines requêtes pour trouver ce point, mais toutes étaient vaines.
Comment puis-je calculer le centroïde de toutes les terres de la terre à l'aide de SQL Server?
centroids
sql-server-spatial
Camarade éponge
la source
la source
Réponses:
Cela est peut-être plus facile à faire avec des calculs raster, car le centroïde de la surface terrestre est trouvé (par définition) en faisant la moyenne des coordonnées géocentriques (X, Y, Z), en les pondérant en fonction de la surface terrestre. La moyenne est effectuée à l'aide de statistiques zonales .
Pour obtenir ces coordonnées et le facteur d'échelle de la zone, calculez les grilles suivantes en coordonnées géographiques couvrant toutes les zones terrestres à n'importe quelle résolution souhaitée (j'ai utilisé des cellules de 0,1 degré, qui forment une grille de 3600 x 1800 couvrant toute la terre):
[Longitude] est la première coordonnée.
[Latitude] est la deuxième coordonnée.
[X] est Cos ([Longitude]) * Cos ([Latitude]).
[Y] est Sin ([Longitude]) * Cos ([Latitude]).
[Z] est Sin ([Latitude]).
[F] est Cos ([Latitude]). Il s'agit du facteur d'échelle de surface.
(Notez qu'il n'est pas nécessaire de multiplier [X], [Y] ou [Z] par le rayon de la Terre. En fait, nous calculons le centroïde d'un modèle sphérique parfaitement mis à l'échelle de la Terre. La position de ce centroïde sur le modèle sera la position à l'échelle du centroïde souhaité.)
Calculez les moyennes zonales de [X] * [F], [Y] * [F] et [Z] * [F]. Lorsque je l'ai fait avec un fichier de formes montrant toutes les principales zones terrestres (y compris l'Antarctique), avec une longitude allant de 0 à 360 degrés, les moyennes zonales étaient respectivement de -0,1204, -0,0661 et 0,1356.
(Alternativement, vous pouvez reprojeter [X], [Y] et [Z] dans n'importe quelle projection d'aire égale et calculer leurs moyennes zonales directement sans recourir à la pondération d'aire par [F]. Faites ce qui est plus facile dans votre SIG.)
Comme nous devrions nous y attendre, ce centroïde se trouve beaucoup plus près du centre de la Terre à (0, 0, 0) qu'il ne le fait de sa surface. Si nous voulons la cartographier, nous pouvons calculer sa latitude et sa longitude et ignorer sa profondeur. La longitude d'un point (X, Y, Z) est déterminée par (X, Y) seul et est généralement calculée comme leur arctangente; la latitude est déterminée par Sqrt (X ^ 2 + Y ^ 2) et Z et est généralement calculée comme leur arctangente. J'obtiens l'emplacement (208,77, 44,63) (qui est 28,77 degrés de longitude est, 44,63 degrés de latitude nord). Cela se trouve près de la côte orientale de la Roumanie.
Cette carte est en coordonnées géographiques: la coordonnée horizontale est la longitude et la coordonnée verticale est la latitude. L'arrière-plan représente la grille de coordonnées X. Le centroïde est situé sous le marqueur rouge au centre à droite.
Si cela ne vous ressemble pas vraiment au centre des masses terrestres, inspectez-le à partir d'un emplacement différent, tel que les frais généraux:
Les parties invisibles des États-Unis, d'Amérique centrale et d'Amérique du Sud feront plus que contrebalancer les masses terrestres visibles; L'Antarctique et l'Australie rétablissent l'équilibre. Ce résultat me semble plausible. Vos résultats peuvent varier un peu selon l'échelle et la précision de vos données de masse terrestre, la résolution de votre grille et si vous utilisez un modèle sphérique ou ellipsoïdal de la terre. (Le facteur de surface [F] nécessite un calcul plus complexe dans un modèle ellipsoïdal.)
L'avantage d'une solution basée sur une grille devient évident dans les généralisations de cette question. Par exemple, en remplaçant [F] (la grille "quantité de terrain") par une grille représentant la quantité totale d'autre chose par cellule, vous pouvez calculer les centroïdes pondérés. Si vous avez une grille de densité de population [P], alors [F] * [P] est proportionnelle à la population totale; utiliser [F] * [P] à la place de [F] dans ces calculs donnerait un centroïde de la population mondiale.
la source