OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/10/10 OpenSearch-geo 5 Custom Search...

23
OpenSearch-geo oscar.fonts Adding custom search engines to OpenLayers with

Transcript of OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/10/10 OpenSearch-geo 5 Custom Search...

Page 1: OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/10/10 OpenSearch-geo 5 Custom Search 1,000s of OpenSearch-based custom search engines

OpenSearch-geo

oscar.fonts

Adding custom search engines

to OpenLayers with

Page 2: OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/10/10 OpenSearch-geo 5 Custom Search 1,000s of OpenSearch-based custom search engines

08/10/10 OpenSearch-geo 2

Page 3: OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/10/10 OpenSearch-geo 5 Custom Search 1,000s of OpenSearch-based custom search engines

08/10/10 OpenSearch-geo 3

Geo Search

Open?

Simple?

Interoperable?

CSW, CQL,

WFS filters,

WMS+SLD,

LBS,

WPS

Page 4: OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/10/10 OpenSearch-geo 5 Custom Search 1,000s of OpenSearch-based custom search engines

08/10/10 OpenSearch-geo 4

<= Geo =>

Page 5: OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/10/10 OpenSearch-geo 5 Custom Search 1,000s of OpenSearch-based custom search engines

08/10/10 OpenSearch-geo 5

Custom Search

1,000s of OpenSearch-based custom search engines

Page 6: OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/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

Page 7: OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/10/10 OpenSearch-geo 5 Custom Search 1,000s of OpenSearch-based custom search engines

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">[···]

Page 8: OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/10/10 OpenSearch-geo 5 Custom Search 1,000s of OpenSearch-based custom search engines

08/10/10 OpenSearch-geo 8

OpenSearch

2. Description

<OpenSearchDescription xmlns="...">

[···]

<Url type="text/html" template="http://...search?text={searchTerms}"/>

[···]

Page 9: OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/10/10 OpenSearch-geo 5 Custom Search 1,000s of OpenSearch-based custom search engines

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_

Page 10: OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/10/10 OpenSearch-geo 5 Custom Search 1,000s of OpenSearch-based custom search engines

08/10/10 OpenSearch-geo 10

4. Response

OpenSearch

HTML JSON RSS Atom

ns:OpenSearch

ns:Atom+

Page 11: OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/10/10 OpenSearch-geo 5 Custom Search 1,000s of OpenSearch-based custom search engines

08/10/10 OpenSearch-geo 11

=> Geo <=

Page 12: OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/10/10 OpenSearch-geo 5 Custom Search 1,000s of OpenSearch-based custom search engines

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

Page 13: OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/10/10 OpenSearch-geo 5 Custom Search 1,000s of OpenSearch-based custom search engines

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

Page 14: OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/10/10 OpenSearch-geo 5 Custom Search 1,000s of OpenSearch-based custom search engines

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

Page 15: OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/10/10 OpenSearch-geo 5 Custom Search 1,000s of OpenSearch-based custom search engines

08/10/10 OpenSearch-geo 15

4. Response HTML JSON

RSS Atom

Geo OpenSearch

‘geo’ µF GeoJSON

GeoRSS

Simple GML

KML

RDF/XML

(dcLite4G)

Page 16: OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/10/10 OpenSearch-geo 5 Custom Search 1,000s of OpenSearch-based custom search engines

08/10/10 OpenSearch-geo 16

Implementations

Services:• Geocommons

• Duetopia (GENESI-DR)

• Geonetwork ?

Clients:• ?

Page 17: OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/10/10 OpenSearch-geo 5 Custom Search 1,000s of OpenSearch-based custom search engines

08/10/10 OpenSearch-geo 17

Implementations

Page 18: OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/10/10 OpenSearch-geo 5 Custom Search 1,000s of OpenSearch-based custom search engines

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

Page 19: OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/10/10 OpenSearch-geo 5 Custom Search 1,000s of OpenSearch-based custom search engines

08/10/10 OpenSearch-geo 19

Demo

http://geoportal.dlsi.uji.es/OpenSearch/client/

Page 20: OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/10/10 OpenSearch-geo 5 Custom Search 1,000s of OpenSearch-based custom search engines

08/10/10 OpenSearch-geo 20

Catalog integration

OpenSearch & geoweb in GI-Cat

Page 21: OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/10/10 OpenSearch-geo 5 Custom Search 1,000s of OpenSearch-based custom search engines

08/10/10 OpenSearch-geo 21

Catalog integration

CatalogConnector see P-046 poster

http://geoportal.dlsi.uji.es/catalogConnector/OpenSearchExample.jsp

Page 22: OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/10/10 OpenSearch-geo 5 Custom Search 1,000s of OpenSearch-based custom search engines

• 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.

Page 23: OpenSearch-geo - FOSS4G2010.foss4g.org/presentations/4767.pdf08/10/10 OpenSearch-geo 5 Custom Search 1,000s of OpenSearch-based custom search engines

08/10/10 OpenSearch-geo 23

?

[email protected]

http://geoportal.dlsi.uji.es/OpenSearch/

http://groups.google.com/group/opensearch