Daha çox

PostGIS - raster - eyni anda birdən çox dəyər əldə edin


Bir yol varmı, rastrdan bir sorğuda bundan daha çox xal necə əldə etmək olar?

X, y, ST_Value (raw_data, 1, x, y) AS val_0, ST_Value (raw_data, 2, x, y) AS val_1 SEÇİN data CROSS JOIN generate_series (1, 256) As x CROSS JOIN generate_series (1, 256) Y olduğu kimi HARADA ((x = 184 AND y = 192) VƏ (x = 185 AND y = 192) VƏ…)

Bunun sürəti zəng elədiyim kimidirST_Dəyərhər cütlük üçün əllə (amma bu, istədiyim deyil)

Həm də iki qrupum var və hər ikisindən də dəyər tələb edirəm. Ancaq yalnız bir bant məlumatı üçün daha sürətli bir şey varsa, onları ayıra bilərəm.


Bir sıra sətirlər yaratmasanız, qoşulmaq istədiyiniz məlumatları əvvəlcədən təyin etsəniz daha sürətli olacaq.

(X, y) AS cütləri ilə (DƏYƏRLƏR (184,192), (185,192)) SEÇİN x, y, ST_Value (raw_data, 1, x, y) AS val_0, ST_Value (raw_data, 2, x, y) AS val_1 FROM data CROSS JOIN cütləri

Düşünürəm ki, sorğunun aşağıdakı kimi yenidən işlənmiş versiyası daha yaxşı nəticə verə bilər, elə deyilmi?

(X, y) AS cütləri ilə (DƏYƏRLƏR (70.5084, 45.1985), (70.5094, 45.1995), (70.5084, 45.1975), (70.5074, 45.1965), (70.5064, 45.1955), (70.5054, 45.1945)) SEÇ ST_Value (rast gəlin , ST_SetSRID (ST_MakePoint (x, y), 4326)) ST_Intersects (rs.rast, ST_SetSRID (ST_MakePoint (x, y), 4326)) olan dem_raster rs CROSS JOIN cütlərindən AS hündürlüyü));


Videoya baxın: Spatial Queries - Working with Geometries #PostGIS. #PostgreSQL. #QGIS. UrduHindi. #13 (Oktyabr 2021).