OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/10/10 OpenSearch-geo 5 Custom Search...
Transcript of OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/10/10 OpenSearch-geo 5 Custom Search...
OpenSearch-geo
oscar.fonts
Adding custom search engines
to OpenLayers with
08/10/10 OpenSearch-geo 2
08/10/10 OpenSearch-geo 3
Geo Search
Open?
Simple?
Interoperable?
CSW, CQL,
WFS filters,
WMS+SLD,
LBS,
WPS
08/10/10 OpenSearch-geo 4
<= Geo =>
08/10/10 OpenSearch-geo 5
Custom Search
1,000s of OpenSearch-based custom search engines
08/10/10 OpenSearch-geo 6
OpenSearch
HTTP get
(format)
1. Discovery
2. Description
3. Request
4. Response
http://www.opensearch.org
08/10/10 OpenSearch-geo 7
OpenSearch
1. Discovery
<html> <head> <link rel="search"
type="application/opensearchdescription+xml" title="My Custom Search Engine“
href="MySearcherDescription.xml">[···]
08/10/10 OpenSearch-geo 8
OpenSearch
2. Description
<OpenSearchDescription xmlns="...">
[···]
<Url type="text/html" template="http://...search?text={searchTerms}"/>
[···]
08/10/10 OpenSearch-geo 9
OpenSearch
get 3. Request
URL Template: http://...search?q={searchTerms}
HTTP GET: http://...search?q=FOSS4G%20Barcelona
FOSS4G Barcelona_
08/10/10 OpenSearch-geo 10
4. Response
OpenSearch
HTML JSON RSS Atom
ns:OpenSearch
ns:Atom+
08/10/10 OpenSearch-geo 11
=> Geo <=
08/10/10 OpenSearch-geo 12
Geo OpenSearch
HTTP get
Geo-format
1. Discovery
2. Description
3. Request
4. Response
http://www.opensearch.org/Specifications/OpenSearch/Extensions/Geo/1.0/Draft_1
08/10/10 OpenSearch-geo 13
2. Description
xmlns:geo="http://a9.com/-/opensearch/extensions/geo/1.0/
Geo OpenSearch
{geo:box?}
{geo:lat?}{geo:lon?}{geo:radius?}
{geo:polygon?}
{geo:locationString?}TXT
08/10/10 OpenSearch-geo 14
get 3. Request
URL Template: http://...?bbox={geo:box?}
HTTP GET: http://...?bbox=-180,-90,180,90
Geo OpenSearch
08/10/10 OpenSearch-geo 15
4. Response HTML JSON
RSS Atom
Geo OpenSearch
‘geo’ µF GeoJSON
GeoRSS
Simple GML
KML
RDF/XML
(dcLite4G)
08/10/10 OpenSearch-geo 16
Implementations
Services:• Geocommons
• Duetopia (GENESI-DR)
• Geonetwork ?
Clients:• ?
08/10/10 OpenSearch-geo 17
Implementations
08/10/10 OpenSearch-geo 18
OpenLayers.Control.OpenSearch
OpenLayers.Control.OpenSearch
- Orchestrates (multiple) strategies - User interface:
- Search form- Text results
- Fires ‘search’ event
OpenLayers.Strategy.OpenSearch
- Automatic. choose best resp. format - Manages search params:
- SearchTerms (text)- BBOX (geo)
- Constructs request URL
OpenLayers.Format.OpenSearchDescription
- Description document parser
OpenLayers.Format.KMLOpenLayers.Format.GeoJSONOpenLayers.Format.Atom
08/10/10 OpenSearch-geo 19
Demo
http://geoportal.dlsi.uji.es/OpenSearch/client/
08/10/10 OpenSearch-geo 20
Catalog integration
OpenSearch & geoweb in GI-Cat
08/10/10 OpenSearch-geo 21
Catalog integration
CatalogConnector see P-046 poster
http://geoportal.dlsi.uji.es/catalogConnector/OpenSearchExample.jsp
• Generic OpenSearch-geo client.
• Many geoweb services wrapped.
• Play with catalog-level integration (CSW).
08/10/10 OpenSearch-geo 22
Done
TODO• Manage paged results in OpenLayers.
• Play with Feature-level searches (WFS?).
• Generic OpenSearch-geo client 4 java.
08/10/10 OpenSearch-geo 23
?
http://geoportal.dlsi.uji.es/OpenSearch/
http://groups.google.com/group/opensearch