Veel

Funktsioon PostGIS ST_AsTIFF suurendab mälu erandit?

Funktsioon PostGIS ST_AsTIFF suurendab mälu erandit?


Meil on PostGIS -i laaditud satelliidipilt. Oleme selle pildi põhjal arvutanud peegeldusrastrite ja salvestanud tulemused 32BF pikslitena. Peegeldusrastris on 54 plaati 1000x1000.

Tahan luua selle peegeldusrastrist GeoTIFF -i. Üksikud plaadid töötavad hästi. Kuid ST_Unioni kasutamine peegeldusrastrite veerus tekitab erandi Pythonist päringu täitmisel:

SELECT ST_AsTIFF (ST_Union (refl_rast), 'GTiff') gtiff FROM sat_rast_calc InternalError: kehtetu mälu eraldamise taotluse suurus 1344128795

Ma tean, et saan plaadid ükshaaval eksportida ja hiljem saidiga gdal_merge.py liita. Kuid ma eelistaksin selle GTiffi eksportida ühe sammuga.

Kas mõni neist aitaks tõenäoliselt?

  1. Teist tüüpi pikslite kasutamine
  2. Teise ST_AsGTIFF -i valiku edastamine
  3. PostGRES mälu parameetri suurendamine
  4. Linuxi kerneli parameetri suurendamine
  5. Teha midagi muud

PostgreSQL-i ühe rea mälupiirang on 1 GB. Proovige kasutada vähem mälunäljas pikslitüüpi. Võite proovida ka tihendusparameetrit edastada aadressile ST_AsTiff (), kuid minu arvates toimub sisemine töö ilma tihendamiseta. Proovige ka plaate enne EN_ST_Union () igaks juhuks kokku suruda… PostGIS -i rastrid on loodud töötama hästi väikese rasteritükina. Mitte manipuleerida suurte räpparitega tervikuna.


Vaata videot: Intro To PostgreSQL Databases With PgAdmin For Beginners - Full Course