()
| 175 | return; |
| 176 | } |
| 177 | const fetchGee = async () => { |
| 178 | setGeeLoading(true); |
| 179 | try { |
| 180 | const polygon = effectiveField.coordinates[0]; |
| 181 | const data = await invokeWithRetry<any>( |
| 182 | "gee-analytics", |
| 183 | { polygon, analyses: ["land_use", "vegetation", "suitability"] }, |
| 184 | { retries: 4, isEmpty: (d) => !hasGeeAnalyticsPayload(d) } |
| 185 | ); |
| 186 | if (hasGeeAnalyticsPayload(data)) { |
| 187 | setGeeData(data); |
| 188 | setLocalCache(GEE_ANALYTICS_CACHE_KEY, effectiveField.id, data); |
| 189 | } else { |
| 190 | setGeeData(cached ?? null); |
| 191 | } |
| 192 | } catch (e) { |
| 193 | console.error("GEE analytics error:", e); |
| 194 | setGeeData(cached ?? null); |
| 195 | } finally { setGeeLoading(false); } |
| 196 | }; |
| 197 | fetchGee(); |
| 198 | }, [effectiveField?.id]); |
| 199 |
no test coverage detected