Vairāk

CartoDB SQL API: rinda ir pārāk liela

CartoDB SQL API: rinda ir pārāk liela


Es mēģinu palaist šādu PostGIS vaicājumu, izmantojot CartoDB SQL API:

SELECT the_geom, ST_Area (ST_Intersection (the_geom :: ģeogrāfija, ST_Buffer (ST_SetSRID (ST_MakePoint (-52.4379, -12.6235), 4326) :: ģeogrāfija, 25000))) / 1000000 AS poligrāfija no datu kopas1 WHERE ST_Intersects geogr. (ST_SetSRID (ST_MakePoint (-52.4379, -12.6235), 4326) :: ģeogrāfija, 25000))

Tas pats vaicājums darbojas ar divām citām datu kopām (no kurām vienā ir 735 000 rindu), bet atgriež a

"pārāk liela rindas kļūda"

šai konkrētajai datu kopai (kurai "tikai" ir 160 400 rindas).

Atjaunināt: Vai ir iespējams, ka funkcijas ir pārāk sarežģītas aprēķiniem?


Iespējams, ka ģeometrija ir pārāk liela virsotņu izteiksmē, kā rezultātā tiks iegūta ļoti gara WKB vērtība, kas būtu jāatgriež SQL API. Ja jums nav nepieciešama augsta precizitāte, varat izmantot ST_Simplify_PreserveTopology, lai nedaudz samazinātu ģeometrijas garumu.


Mana problēma tika novērsta, noņemot formāta parametru, tāpēc pats SQL vaicājums šeit nebija vainīgs (username.cartodb.com/api/v2/sql?formāts = GeoJSON& q = SELECT ...).