<<

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 “ 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:

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/

[email protected]

08/10/10 OpenSearch-geo 23