<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
sly (sylvain letuffe) wrote:
<blockquote cite="mid:200906192020.49224.sylvain@letuffe.org"
 type="cite">
  <blockquote type="cite">
    <pre wrap="">Une page qui peut etre intéressante a lire:
<a class="moz-txt-link-freetext" href="http://wiki.postgresql.org/wiki/Updatable_views">http://wiki.postgresql.org/wiki/Updatable_views</a>
    </pre>
  </blockquote>
  <pre wrap=""><!---->
On dirait bien que j'étais justement en train de lire, parce que comme ça 
semble être un patch "non inclus" mon postgres 8.3 fourni debian, ben il est 
pas content :

# CREATE OR replace view communes AS (select *,st_simplify(way,200) as 
simplified_way FROM planet_osm_polygon where admin_level='8') WITH LOCAL 
CHECK OPTION;
ERROR:  WITH CHECK OPTION is not implemented

Je vais réfléchir plusieurs fois avant de me lancer dans la compilation

  </pre>
</blockquote>
Oui, apparemment, Postgresql 8.4 devrait supporter cela.<br>
<br>
<blockquote cite="mid:200906192020.49224.sylvain@letuffe.org"
 type="cite">
  <pre wrap="">En plus de tenter de comprendre pourquoi j'ai les bench curieux que j'ai.
$ time echo "select asbinary(st_simplify(way,200)) from planet_osm_polygon 
where admin_level='8';" |  psql gis > /dev/null

real    0m8.124s
(...)
postgres@binael:~ $ time echo "select asbinary(way) from planet_osm_polygon 
where admin_level='8';" |  psql gis > /dev/null

real    0m15.756s

Comment avec opération de simplify en plus, cela peut-il être plus court !
(a priori pas d'histoire de cache disque puisque j'ai re-tenté l'opération 
plusieurs fois)

  </pre>
</blockquote>
L'autre raison potentielle pour laquelle c'est plus rapide est liée a
l'opération ST_AsBinary. La génération du binaire est plus court sur
une simplification de la géométrie. C'est ce qui me semble être le plus
logique. <br>
Je pense toutefois qu'un pré calcul dans une table a part avec une
simplification qui garde la topologie serait plus intéressant. Une
fonction peut alors être utilisée pour cacher la logique; c'est propre
et efficace si tu as la bounding box. Le problème est bien sur la mise
a jour mais un trigger (ce n'est pas très beau mais bon) fera l'affaire.<br>
<br>
<blockquote cite="mid:200906192020.49224.sylvain@letuffe.org"
 type="cite">
  <pre wrap="">Passionnant ce postgis ;-)
  </pre>
</blockquote>
Oui, il y a des trucs parfois assez amusant qu'on découvre en jouant.<br>
<br>
Émilie Laffray<br>
</body>
</html>