Ce notebook est un résumé du notebook situé ici
https://chart-studio.plotly.com/~empet/14813/heatmap-plot-on-a-spherical-map/#/
et se concentre sur le traçage des frontières (plus généralement d'un polygone) sur la sphère.
Il nécessite l'installation de mpl_toolkits qui peut être assez complexe.
Sous linux, sous réserve que la librairie GEOS soit installée, il suffit d'effectuer les commandes suivantes (le dossier à télécharger est assez lourd et la procédure peut prendre quelques minutes) :
En cas de problème, voir les détails ici :
%%javascript
IPython.OutputArea.prototype._should_scroll = function(lines) {
return false;
}
import numpy as np
import matplotlib.pyplot as plt
import plotly.graph_objects as go
import IPython
import gstlearn as gl
import gstlearn.plot3D as gop
import os
import urllib.request
gl.defineDefaultSpace(gl.ESpaceType.SN)
mesh = gl.MeshSphericalExt()
mesh.resetFromDb(None,None,triswitch = "-r5",verbose=False)
model = gl.Model.createFromParam(gl.ECov.BESSEL_K,range=0.2,param=1)
simu = gl.SimuSphericalParam(0,1000)
simu.display()
result = gl.simsph_mesh(mesh,model,simu,seed=23234,verbose=True)
Option for constructing the covariance spectrum ----------------------------------------------- For all standard covariances Number of basic functions = 1000 Number of discretization = 360 Spectrum Tolerance = 1e-05 Random generation seed = 23234 Number of frequencies = 116 Cumulated Spectrum = 1.000166 Sum of negative weights = 0.000000 Maximum degree = 115 Minimum order = -96 Maximum order = 83
simu = gop.SurfaceOnMesh(mesh, intensity=result, opacity=1, showlegend=True)
url = 'https://soft.minesparis.psl.eu/gstlearn/data/boundaries/world.poly'
name, head = urllib.request.urlretrieve(url)
poly = gl.Polygons.createFromNF(name)
boundaries = gop.PolygonOnSphere(poly)
fig = go.Figure(data = [simu, boundaries])
f = fig.show()