<br><font size=2 face="sans-serif">Thanks for this alternative Andreas.</font>
<br>
<br><font size=2 face="sans-serif">I don't know much about sld but I read
some threads and it seems to be the right solution. I'll try to find some
goog examples.</font>
<br><font size=2 face="sans-serif">It never ends...Always something new
to learn</font>
<br>
<br><font size=2 face="sans-serif">Thanks</font>
<br><font size=2 face="sans-serif">Steve</font>
<br><font size=2 face="sans-serif"><br>
</font><font size=3 color=#0066ff><i>Steve Toutant, M. Sc.</i></font><font size=3><br>
Analyste en géomatique<br>
Secteur environnement<br>
Direction de la santé environnementale et de la toxicologie<br>
Institut national de santé publique du Québec<br>
945, avenue Wolfe<br>
Québec, Qc G1V 5B3 </font>
<p><font size=3>Tél.: (418) 650-5115 #5281<br>
Fax.: (418) 654-3144</font><font size=3 color=blue><u><br>
</u></font><a href=mailto:steve.toutant@inspq.qc.ca><font size=3 color=blue><u>steve.toutant@inspq.qc.ca</u></font></a><font size=3 color=blue><u><br>
</u></font><a href=http://www.inspq.qc.ca/><font size=3 color=blue><u>http://www.inspq.qc.ca</u></font></a>
<p><font size=3>&nbsp; </font>
<p>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>Andreas Hocevar &lt;ahocevar@opengeo.org&gt;@openlayers.org</b>
</font>
<br><font size=1 face="sans-serif">Envoyé par : users-bounces@openlayers.org</font>
<p><font size=1 face="sans-serif">06/01/2010 10:35 AM</font>
<td width=59%>
<table width=100%>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">A</font></div>
<td><font size=1 face="sans-serif">users@openlayers.org</font>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">Objet</font></div>
<td><font size=1 face="sans-serif">Re: [OpenLayers-Users] geojson - Performance
issue</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br>
<br>
<br><tt><font size=2>Hi,<br>
<br>
2000+ features is way too much for rendering in the browser.<br>
<br>
if you use mapserver already, then you can also query the layer as WMS<br>
layer, using sld_body with a filter. If your query is complex, use<br>
Layer.WMS.Post instead of Layer.WMS to avoid urls that are too long for
IE.<br>
<br>
Regards,<br>
Andreas.<br>
<br>
On 2010-01-06 16:29, Steve.Toutant@inspq.qc.ca wrote:<br>
&gt;<br>
&gt; Hi,<br>
&gt; I created a WMS (mapserver) layer containing 13400 polygons. It loads<br>
&gt; in less then 3 seconds. Good.<br>
&gt;<br>
&gt; I need to develop a tool for the user so he can create a custom query<br>
&gt; on this layer to retreive specific polygons. In a form, the user<br>
&gt; select the parameters and launch the request. Here is the code below.<br>
&gt; That works, but it takes minutes to render. Per example, a query that<br>
&gt; returns 2482 polygons, In firebug I see that the query runs in less<br>
&gt; then 2 seconds.<br>
&gt; But, It seems that the creation of the geometries is an heavy task.
I<br>
&gt; get this warning in FF<br>
&gt;<br>
&gt;<br>
&gt; I click on Continue several times and then I get geometries in the
map.<br>
&gt;<br>
&gt; I guess 2482 polygons is simply too much for a vector layer. If that<br>
&gt; is the case, is there another format then GeoJson I could use? Maybe<br>
&gt; my approach is totally wrong...<br>
&gt;<br>
&gt; Any comments would be appreciated.<br>
&gt; Thanks for your help,<br>
&gt; Steve<br>
&gt;<br>
&gt; The code used:<br>
&gt;<br>
&gt; Ext.Ajax.request({<br>
&gt; url: 'requeteVulnerabilite.php',<br>
&gt; method:'POST',<br>
&gt; params: { inddef: cb_inddefValue},<br>
&gt; failure: function(){alert(&quot;Ca pas marché&quot;);},<br>
&gt; success: function(result, request )<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; {<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //alert(result.responseText);<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; vulnerabiliteLayer.destroyFeatures();<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var features
= new<br>
&gt; OpenLayers.Format.GeoJSON({'internalProjection':map.baseLayer.projection,'externalProjection':map.baseLayer.projection<br>
&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}).read(result.responseText);<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var bounds;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(features)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; if(features.constructor != Array) {<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; features = [features];<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; }<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; for(var i=0; i&lt;features.length; ++i) {<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (!bounds) {<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bounds
=<br>
&gt; features[i].geometry.getBounds();<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } else {<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>
&gt; bounds.extend(features[i].geometry.getBounds());<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; }<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; vulnerabiliteLayer.addFeatures(features);<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; map.zoomToExtent(bounds);<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; }<br>
&gt; });<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; /Steve Toutant, M. Sc./<br>
&gt; Analyste en géomatique<br>
&gt; Secteur environnement<br>
&gt; Direction de la santé environnementale et de la toxicologie<br>
&gt; Institut national de santé publique du Québec<br>
&gt; 945, avenue Wolfe<br>
&gt; Québec, Qc G1V 5B3<br>
&gt;<br>
&gt; Tél.: (418) 650-5115 #5281<br>
&gt; Fax.: (418) 654-3144_<br>
&gt; __steve.toutant@inspq.qc.ca_ &lt;mailto:steve.toutant@inspq.qc.ca&gt;_<br>
&gt; __http://www.inspq.qc.ca_ &lt;http://www.inspq.qc.ca/&gt;<br>
&gt;<br>
&gt; &nbsp;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Users mailing list<br>
&gt; Users@openlayers.org<br>
&gt; http://openlayers.org/mailman/listinfo/users<br>
&gt; &nbsp; <br>
<br>
<br>
-- <br>
Andreas Hocevar<br>
OpenGeo - http://opengeo.org/<br>
Expert service straight from the developers.<br>
<br>
_______________________________________________<br>
Users mailing list<br>
Users@openlayers.org<br>
http://openlayers.org/mailman/listinfo/users<br>
</font></tt>
<br>
<br>
<br>