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