Suite

Interpolation de valeur de grille hexadécimale dans POSTGIS

Interpolation de valeur de grille hexadécimale dans POSTGIS


J'ai une table d'hexagones tesselés que j'ai créée en tant que grille de regroupement hexagonale pour couvrir une zone.

J'ai ensuite superposé un ensemble de points pour donner une valeur à certains des hexagones, voir le diagramme :-

Les formes avec la valeur "0" n'ont aucune valeur et j'aimerais les interpoler à partir des valeurs des voisins selon Krigeage. Comment puis-je accomplir cela dans postgres étant donné que ma table ressemble à :-

hex_grid_data ( gid SERIAL, wkb_geometry (géométrie), valeur INTEGER )

Je ne sais pas de quel type d'interpolation vous parlez, mais si la moyenne de tous les voisins sera une bonne valeur, cela pourrait être la solution :

créer une table hex_grid_data_av comme (sélectionnez gid, wkb_geometry, value, case when value > 0 then value else (select sum(h2.value)/6 from hex_grid_data h2 où ST_Touches(h1.wkb_geometry, h2.wkb_geometry)) se termine comme int_value de hex_grid_data h1 )

Ou à la suite de @MakinFlippyFloppy doutes si vraiment 0 dans l'exemple signifie null (pas de valeur):

créer la table hex_grid_data_av as ( sélectionnez gid, wkb_geometry, value, case when value > 0 then value else (select sum(coalesce(h2.value,0))/6 from hex_grid_data h2 où ST_Touches(h1.wkb_geometry, h2.wkb_geometry)) se terminer par int_value à partir de hex_grid_data h1 )

Ou si les valeurs nulles ou nulles ne doivent pas diminuer la moyenne :

créer une table hex_grid_data_av as ( sélectionnez gid, wkb_geometry, value, case when value > 0 puis value lorsque value = 0 et n'existe pas (sélectionnez 1 à partir de hex_grid_data h2 où ST_Touches(h1.wkb_geometry, h2.wkb_geometry) et h2.value != 0 et h2.value n'est pas null ) puis 0 else (select sum(coalesce(h2.value,0))/(select count(nullif(value,0)) à partir de hex_grid_data h3 où ST_Touches(h1.wkb_geometry, h3.wkb_geometry) ) de hex_grid_data h2 où ST_Touches(h1.wkb_geometry, h2.wkb_geometry)) se termine par int_value de hex_grid_data h1 )

Voir la vidéo: Tutorial N20: Interpolation by Arcgis, IDW u0026 Kriging. Interpolation sous Arcgis, IDW u0026 Krigeage