Thanks a lot Bborie, 

As you suggested there was a null geometry in my table and the second "error" 
you discovered was that I used non tiled raster in the database. 
http://si.cenlr.org/2012/08/01/postgis-raster-suite 

I forgot to "reply to all" so I put our exchange below 

Thanks again, 

Mathieu 


-- 
Mathieu BOSSAERT 
Responsable du système d'information du CEN L-R 
04 67 29 90 65 - s...@cenlr.org 


----- Mail original -----
De: "Bborie Park" <bkp...@ucdavis.edu> 
À: "Mathieu Bossaert (CEN L-R)" <s...@cenlr.org> 
Envoyé: Mercredi 1 Août 2012 19:05:47 
Objet: Re: [postgis-users] st_value/st_world2rastercoordx error 

Ah. If each table only has one row, then definitely do not use 
ST_Intersects. ST_Intersects should be used in the normal situation (1 
table = many rows). Also, one thing to keep in mind is that a single 
field in PostgreSQL can only hold 1 GB of data. I don't know if your 
rasters exceed 1GB in size, but that is something to keep in mind. 

I'll have to add a check for when the geometry is null in that 
function... I'll ticket it. 

-bborie 

On 08/01/2012 03:16 AM, SIG CEN L-R wrote: 
Hi bborie, 

Thanks for the answer. It helps me a lot for this problem and generally with 
postgis ratser. 

Basically my ratsers were stored in the database as only one tile (one raster = 
one table with one row) 

=> when i tried to enhance my query by using the st-intersects() operator, the 
execution grew up! 

So now I store my rasters with indexed tile (100x100px). The query is now very 
fast! 

For the second problem, you were right, one of my row had a null geometry 
value! 

Thanks again, 



Mathieu Bossaert 

-- 
Mathieu BOSSAERT 
Responsable du système d'information du CEN L-R 
04 67 29 90 65 - s...@cenlr.org 



----- Mail original -----
De: "Bborie Park" <bkp...@ucdavis.edu> 
À: "Mathieu Bossaert (CEN L-R)" <s...@cenlr.org>, "PostGIS Users Discussion" 
<postgis-users@postgis.refractions.net> 
Envoyé: Mardi 31 Juillet 2012 16:06:56 
Objet: Re: [postgis-users] st_value/st_world2rastercoordx error 

Can you isolate the geometry that is causing the NaN? Maybe something like 

SELECT 
rowid, 
ST_X(geometry) 
ST_Y(geometry) 
FROM mygeometrytable 

The error message indicates that somehow a NaN is being passed to 
ST_World2RasterCoordX... 

Also, your query isn't ideal. You should add another WHERE clause dealing with 
the intersection of the rast and the geometry. 

UPDATE export.tous_point_espece_selon_format_esri SET 
pente_mnt = ST_VALUE(rast, geometrie, true) 

FROM raster.pente_mnt30 
WHERE code_insee LIKE '30%' 
AND ST_Intersects(geometrie, rast) 

-bborie 


On Tue, Jul 31, 2012 at 2:09 AM, Mathieu Bossaert (CEN L-R) < s...@cenlr.org > 
wrote: 





Good morning, 

first of all I want to thank the PostGIS community for the great job she does. 

I am a french user of postgis since 2006 and it helps us a lot in our mission 
to preserve landscapes and biodiversity. 
Since a few month we use rasters function in order to characterize species 
distribution. 

I have a problem with 1 of 5 raster table containing a dem. 
When I try to populate an elevation attribute of a point layer from this raster 
I get an error. To workaround this problem I use pg-script to run this update 
line after line. 

Is there a way to run this command, skipping the error. 

Here is the query : 

UPDATE export.tous_point_espece_selon_format_esri SET pente_mnt = 
ST_VALUE(rast, geometrie, true) 
FROM raster.pente_mnt30 
WHERE code_insee LIKE '30%' 

And here is the error (sorry it's in french) 

ERREUR: syntaxe en entrée invalide pour l'entier : « NaN » 
CONTEXTE : PL/pgSQL function "st_world2rastercoordx" lors de la conversion de 
la valeur de retour au type de retour de la fonction PL/pgSQL function 
"st_value" line 13 at RETURN 

Thanks again, 

Mathieu Bossaert 


-- 
Mathieu BOSSAERT 
Responsable du système d'information du CEN L-R 
04 67 29 90 65 - s...@cenlr.org 



_______________________________________________ 
postgis-users mailing list 
postgis-users@postgis.refractions.net 
http://postgis.refractions.net/mailman/listinfo/postgis-users 






-- 
Bborie Park 
Programmer 
Center for Vectorborne Diseases 
UC Davis 
530-752-8380 
bkp...@ucdavis.edu 
_______________________________________________
postgis-users mailing list
postgis-users@postgis.refractions.net
http://postgis.refractions.net/mailman/listinfo/postgis-users

Reply via email to