Hi,<br>There is for sure not only one answer to your general questions, so let me try to provide one possible answer for them.<br>Cédric<br><br><div class="gmail_quote">On Sat, Jul 24, 2010 at 10:49 PM, George Matt <span dir="ltr">&lt;<a href="mailto:georgematt99@yahoo.co.uk">georgematt99@yahoo.co.uk</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><div>
Thanks, Steve for your reply.</div>

<div><br>Ok if your are talking about a mapping server, than lets put it this way. I have installed and configured GeoServer and using the postgis option available in it, the layers are published. Now using WMS or WFS services, layers are requested and shown on the map.</div>


<div> </div>
<div>Some question arises:</div>
<div> </div>
<div>(1) What is the benefit of using PostGIS then? Where the use of postgis can benefit me? These layers can be easily published in the same way through shape files and shown on the map. OR may be I misunderstood it.</div>


<div> </div></div></div></blockquote><div>Quite obvious, but with a database, you have the possibility to use SQL (spatial SQL for PostGis). <br>For data extraction, WMS or WFS are not very performant. Several web mapping applications are using REST services. These REST services are quite easy to implement with a database in back end and can be fine tuned if you use a database (indexing, spatial indexing) <br>

</div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">


<div>(3) About searching: suppose there is a textbox on the page through which the user can search and zoom to a specified feature. (Relating to my example, suppose user enters the name of a road). How this can be achieved. Would the postgis or geoserver sort this problem out?</div>


<div> </div></div></div></blockquote><div><br>In this case, I would implement a search service. Postgres Full Text Search is very performant. SQL queries can also be used, of course.  <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">
<div>(4) If there are multiple layers (For e.g roads, cities, train stations, schools, etc). How can the functionality of searching through a single textbox be implemented.</div>
<div> </div></div></div></blockquote><div>Which level of performance do you want to reach ? It&#39;s clear that searching in multiple table and in multiple attributes can be quite slow. As solution, you can store everything in one table (only for search purpose. Materialized view can be of interest). Or you can multithread the search, but, in this case, you have probably to take in account the server load.  <br>

</div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">


<div>(5) How one can perform some spatial analysis and show it on the web? (e.g. A user wants to view major roads with in 5km radius reference to his home)</div>
<div> </div></div></div></blockquote><div>Again, with a web service using spatial capabilities of the database. WPS can be of interest in that regard. <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">
<div>I have seen question/topic related to these issues on the forum, but unfortunately no satisfactory answer was given.</div>
<div> </div></div></div></blockquote><div>Again, your questions are very general and can be solved in various ways. The answers depend also of the expected number of users of your web mapping application, the use cases you want to cover, the expected performance and ergonomy, the technology context of your company etc, etc.. This explains also why the OSGEO groups several project (<a href="http://www.osgeo.org/">http://www.osgeo.org/</a>) that partially overlaps.<br>

<br>   <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">


<div>What are your suggestions?</div>
<div> </div>
<div>Thanks,</div>
<div>--</div>
<div>Matt</div><font color="#888888">
</font><div> </div><div class="hm">
</div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><div class="hm"><br>
</div><div style="font-family: arial,helvetica,sans-serif; font-size: 13px;"><div class="hm"><font face="Tahoma" size="2">
<hr size="1">
<b><span style="font-weight: bold;">From:</span></b> Stephen Woodbridge &lt;<a href="mailto:woodbri@swoodbridge.com" target="_blank">woodbri@swoodbridge.com</a>&gt;<br><b><span style="font-weight: bold;">To:</span></b> George Matt &lt;<a href="mailto:georgematt99@yahoo.co.uk" target="_blank">georgematt99@yahoo.co.uk</a>&gt;<br>

<b><span style="font-weight: bold;">Cc:</span></b> <a href="mailto:users@openlayers.org" target="_blank">users@openlayers.org</a><br><b><span style="font-weight: bold;">Sent:</span></b> Sat, 24 July, 2010 19:19:10<br><b><span style="font-weight: bold;">Subject:</span></b> Re: [OpenLayers-Users] How to display PostGIS data through Openlayers and JSP<br>

</font></div><div class="im"><br>George Matt wrote:<br>&gt; Hi all,<br>&gt;  Is it possible to show postgis data in openlayers?<br>&gt;  If yes can some body points me to some links or upload a working example to illustrate.<br>

&gt;  A usecase can be:<br>&gt; Consider a road table (road_id, geom, road_name) in the postgre/postgis database. In SQL the select statement can be [SELECT road_id, ST_AsText(road_geom) AS geom, road_name FROM roads;] to select all the roads. Now
 how to give it to openlayers to show them on the map.<br><br><br>George,<br><br>You need some application on the server side like:<br><br>- mapserver that can connect to the database and render a map image. There are other application that can do this, some in java if you prefer.<br>

<br>- or you can do the query on the servlet and format the results into GML or GeoJSON, but this in only viable if you have under 1000 features that you are rendering at any give time. And 1000 might be pushhing the limit depending on the browser performance and memory.<br>

<br>-Steve W<br></div></div></div></div><br>



      </div><br>_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@openlayers.org">Users@openlayers.org</a><br>
<a href="http://openlayers.org/mailman/listinfo/users" target="_blank">http://openlayers.org/mailman/listinfo/users</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><div>Welcome to my world: <a href="http://www.cedricmoullet.com/" target="_blank">http://www.cedricmoullet.com/</a><br>My Linked In profile: <a href="http://www.linkedin.com/in/cedricmoullet" target="_blank">http://www.linkedin.com/in/cedricmoullet</a><br>

Twitter: <a href="http://twitter.com/cedricmoullet" target="_blank">http://twitter.com/cedricmoullet</a></div>
<div>Home sweet home: <a href="http://map.geo.admin.ch/?crosshair=bowl&amp;zoom=11&amp;X=185241.24219&amp;Y=561288.90625&amp;bgOpacity=0&amp;selectedNode=node_ch.swisstopo.fixpunkte-lage1" target="_blank">http://map.geo.admin.ch/?crosshair=bowl&amp;zoom=11&amp;X=185241.24219&amp;Y=561288.90625&amp;bgOpacity=0&amp;selectedNode=node_ch.swisstopo.fixpunkte-lage1</a></div>

<br>
<div style="visibility: hidden; display: inline;" id="avg_ls_inline_popup"></div><style type="text/css">#avg_ls_inline_popup {  position:absolute;  z-index:9999;  padding: 0px 0px;  margin-left: 0px;  margin-top: 0px;  width: 240px;  overflow: hidden;  word-wrap: break-word;  color: black;  font-size: 10px;  text-align: left;  line-height: 13px;}</style>