SlideShare une entreprise Scribd logo
1  sur  52
Web Symbol Service
Prototype implementation for remote access of symbologies

                 Google Summer of Code




                                     Cristian Martín Reinhold. Diciembre 2009
                                                 christian.reinhold@gmail.com
Contents

• Introduction
• Symbols Server
• Client-Server Dialogue (WSS)
• Symbology client for gvSIG

                   2
Introduction
The project

• In collaboration of
  - Jaume I University
  - Prodevelop


• Funded by
  - Google (SoC 2009)

                         4
The project

• In collaboration of
  - Jaume I University
  - Prodevelop


• Funded by
  - Google (SoC 2009)

                         4
The project

• In collaboration of
  - Jaume I University
  - Prodevelop


• Funded by
  - Google (SoC 2009)

                         4
The project

• In collaboration of
  - Jaume I University
  - Prodevelop


• Funded by
  - Google (SoC 2009)

                         4
Objetives




            5
Objetives

• Remote symbols access




              5
Objetives

• Remote symbols access
• Provide a catalogue of symbols




               5
Objetives

• Remote symbols access
• Provide a catalogue of symbols
• Offer a dialogue between client
  and server
    - Client:   asks for a service
    - Servidor: offers symbols

                    5
Symbols server
Some notes

• Python 2.5 >> 2.6
• Django and Pinax as CMS



           Django
              7
Some notes

• Python 2.5 >> 2.6
• Django and Pinax as CMS
             Pinax

           Django
               7
Some notes

• Python 2.5 >> 2.6
• Django and Pinax as CMS
             Pinax

           Django
               7
Objetives




            8
Objetives

✓ Allows
  - Simple symbologies’ upload
  - Validation of simbologies and compulsory fields
  - Tags queries




                         8
Objetives

✓ Allows
  - Simple symbologies’ upload
  - Validation of simbologies and compulsory fields
  - Tags queries

✗ Not allowed
  - Legend uploads
  - Edit and delete symbols

                         8
Demo




       9
Demo




       9
Previous validation




              10
Previous validation

• Verification of
  - Online Resources
  - Validation against a .xsd file




                        10
Previous validation

• Verification of
  - Online Resources
  - Validation against a .xsd file
• Once uploaded
  - Online Resource path modification
  - External WMS query for snapshot image

                        10
WSS dialogue
WSS Server

• Dialogue?
              - Restlet Structure
•   Input?
              - URL query
• Output?
              - Error messages and info (xml)
              - Simbology file (.sld)
                     (+ embedded image)

                   12
Restlet Structure

• Separation of terms by “/”
• Terms used:
   - Type
   - Categ
   - Tags
   - Filtering
   - Output

                 13
Restlet Structure

• Separation of terms by “/”
• Terms used:
   - Type        {point, line, polygon, raster}
   - Categ
   - Tags
   - Filtering
   - Output

                       13
Restlet Structure

• Separation of terms by “/”
• Terms used:
   - Type        {point, line, polygon, raster}
   - Categ       {0: Agriculture, 1: Biodiversity, …}
   - Tags
   - Filtering
   - Output

                       13
Restlet Structure

• Separation of terms by “/”
• Terms used:
   - Type        {point, line, polygon, raster}
   - Categ       {0: Agriculture, 1: Biodiversity, …}
   - Tags        {tag1, tag2, tag3, …, tagN}
   - Filtering
   - Output

                       13
Restlet Structure

• Separation of terms by “/”
• Terms used:
   - Type        {point, line, polygon, raster}
   - Categ       {0: Agriculture, 1: Biodiversity, …}
   - Tags        {tag1, tag2, tag3, …, tagN}
   - Filtering   {all, <pag_ini>+<group_by>}
   - Output

                       13
Restlet Structure

• Separation of terms by “/”
• Terms used:
   - Type        {point, line, polygon, raster}
   - Categ       {0: Agriculture, 1: Biodiversity, …}
   - Tags        {tag1, tag2, tag3, …, tagN}
   - Filtering   {all, <pag_ini>+<group_by>}
   - Output      {.res, .sld, .xml}

                        13
Example 1




            14
Example 1

• Results (.res) by categories




                 14
Example 1

 • Results (.res) by categories
- How many point symbols are there for each
  category?




                        14
Example 1

 • Results (.res) by categories
- How many point symbols are there for each
  category?
          <host>/symbols/points/any/all.res




                         14
Example 1

 • Results (.res) by categories
- How many point symbols are there for each
  category?
           <host>/symbols/points/any/all.res
- ¿How many polygon symbols are there for each
  category that also has both tags “lake” and “Spain”?



                          14
Example 1

 • Results (.res) by categories
- How many point symbols are there for each
  category?
           <host>/symbols/points/any/all.res
- ¿How many polygon symbols are there for each
  category that also has both tags “lake” and “Spain”?
       <host>/symbols/polygons/lake+Spain/all.res

                          14
Example 2




            15
Example 2

• Symbols metadata (.xml)




               15
Example 2

• Symbols metadata (.xml)
 - List the all metadata (id, tags, titulo, ...)
   symbols of page 2, grouped 8 by 8, where
   their category is “3:Agriculture” and its tag
   “corn”.




                         15
Example 2

• Symbols metadata (.xml)
 - List the all metadata (id, tags, titulo, ...)
   symbols of page 2, grouped 8 by 8, where
   their category is “3:Agriculture” and its tag
   “corn”.
        <host>/symbols/points/3/corn/2+8.xml


                         15
Symbology client
WSS client

• gvSIG extension of the symbols
  library
• It allows:
  - Local and remote symbol query
  - Local and remote symbol loading and safe
    them locally


                     17
Lacks

• Not allowed
  - Online Resources from WSS server not
    parsed properly




                    18
Demo




       19
Demo




       19
Future




         20
Future

• Encourage organisms and
  enterprises to use WSS for
  publishing their own symbols




                20
Future

• Encourage organisms and
    enterprises to use WSS for
    publishing their own symbols
•   Develop of a complete
    specification



                  20
Future

• Encourage organisms and
    enterprises to use WSS for
    publishing their own symbols
•   Develop of a complete
    specification
•   Extend the WSS protocol


                  20
Future

• Encourage organisms and
    enterprises to use WSS for
    publishing their own symbols
•   Develop of a complete
    specification
•   Extend the WSS protocol
•   Better usability
                  20
Questions
                             ?
             Cristian Martín Reinhold. Diciembre 2009
                         christian.reinhold@gmail.com
   http://confluence.prodevelop.es/display/WSS/Home

Contenu connexe

En vedette

A high level introduction to OpenCV
A high level introduction to OpenCVA high level introduction to OpenCV
A high level introduction to OpenCVMax Tillich
 
UI Design in aktuellen Fahrzeugen auf dem Markt
UI Design in aktuellen Fahrzeugen auf dem MarktUI Design in aktuellen Fahrzeugen auf dem Markt
UI Design in aktuellen Fahrzeugen auf dem MarktMax Tillich
 
Smart Cities (German)
Smart Cities (German)Smart Cities (German)
Smart Cities (German)Max Tillich
 
High Energy Halloween Pumpkin Stencils
High Energy Halloween Pumpkin StencilsHigh Energy Halloween Pumpkin Stencils
High Energy Halloween Pumpkin StencilsEnergyTomorrow
 
PowerPoint for Math in the Kindergarten Classroom
PowerPoint for Math in the Kindergarten ClassroomPowerPoint for Math in the Kindergarten Classroom
PowerPoint for Math in the Kindergarten Classroomguestf2de426
 
On the code of data science
On the code of data scienceOn the code of data science
On the code of data scienceGael Varoquaux
 

En vedette (7)

Uncloud
UncloudUncloud
Uncloud
 
A high level introduction to OpenCV
A high level introduction to OpenCVA high level introduction to OpenCV
A high level introduction to OpenCV
 
UI Design in aktuellen Fahrzeugen auf dem Markt
UI Design in aktuellen Fahrzeugen auf dem MarktUI Design in aktuellen Fahrzeugen auf dem Markt
UI Design in aktuellen Fahrzeugen auf dem Markt
 
Smart Cities (German)
Smart Cities (German)Smart Cities (German)
Smart Cities (German)
 
High Energy Halloween Pumpkin Stencils
High Energy Halloween Pumpkin StencilsHigh Energy Halloween Pumpkin Stencils
High Energy Halloween Pumpkin Stencils
 
PowerPoint for Math in the Kindergarten Classroom
PowerPoint for Math in the Kindergarten ClassroomPowerPoint for Math in the Kindergarten Classroom
PowerPoint for Math in the Kindergarten Classroom
 
On the code of data science
On the code of data scienceOn the code of data science
On the code of data science
 

Similaire à Jornadas gvSIG 2009 WSS English

Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nlLessons learned while building Omroep.nl
Lessons learned while building Omroep.nlbartzon
 
Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nlLessons learned while building Omroep.nl
Lessons learned while building Omroep.nltieleman
 
Web Development using Ruby on Rails
Web Development using Ruby on RailsWeb Development using Ruby on Rails
Web Development using Ruby on RailsAvi Kedar
 
Lessons Learned from Managing Thousands of Production Apache Spark Clusters w...
Lessons Learned from Managing Thousands of Production Apache Spark Clusters w...Lessons Learned from Managing Thousands of Production Apache Spark Clusters w...
Lessons Learned from Managing Thousands of Production Apache Spark Clusters w...Databricks
 
Webinar: Scaling MongoDB
Webinar: Scaling MongoDBWebinar: Scaling MongoDB
Webinar: Scaling MongoDBMongoDB
 
Scratchpads past,present,future
Scratchpads past,present,futureScratchpads past,present,future
Scratchpads past,present,futureEdward Baker
 
Python & Django TTT
Python & Django TTTPython & Django TTT
Python & Django TTTkevinvw
 
Mining software vulns in SCCM / NIST's NVD
Mining software vulns in SCCM / NIST's NVDMining software vulns in SCCM / NIST's NVD
Mining software vulns in SCCM / NIST's NVDLoren Gordon
 
S2GX 2012 - Introduction to Spring Integration and Spring Batch
S2GX 2012 - Introduction to Spring Integration and Spring BatchS2GX 2012 - Introduction to Spring Integration and Spring Batch
S2GX 2012 - Introduction to Spring Integration and Spring BatchGunnar Hillert
 
MongoDB Tick Data Presentation
MongoDB Tick Data PresentationMongoDB Tick Data Presentation
MongoDB Tick Data PresentationMongoDB
 
Frontera распределенный робот для обхода веба в больших объемах / Александр С...
Frontera распределенный робот для обхода веба в больших объемах / Александр С...Frontera распределенный робот для обхода веба в больших объемах / Александр С...
Frontera распределенный робот для обхода веба в больших объемах / Александр С...Ontico
 
FOSDEM 2014: Social Network Benchmark (SNB) Graph Generator
FOSDEM 2014:  Social Network Benchmark (SNB) Graph GeneratorFOSDEM 2014:  Social Network Benchmark (SNB) Graph Generator
FOSDEM 2014: Social Network Benchmark (SNB) Graph GeneratorLDBC council
 
Introduction to SoapUI day 1
Introduction to SoapUI day 1Introduction to SoapUI day 1
Introduction to SoapUI day 1Qualitest
 
Soap UI - Getting started
Soap UI - Getting startedSoap UI - Getting started
Soap UI - Getting startedQualitest
 
Play Framework and Activator
Play Framework and ActivatorPlay Framework and Activator
Play Framework and ActivatorKevin Webber
 
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...Alexandr Savchenko
 
"Different software evolutions from Start till Release in PHP product" Oleksa...
"Different software evolutions from Start till Release in PHP product" Oleksa..."Different software evolutions from Start till Release in PHP product" Oleksa...
"Different software evolutions from Start till Release in PHP product" Oleksa...Fwdays
 
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...Malin Weiss
 
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...Speedment, Inc.
 
Black friday logs - Scaling Elasticsearch
Black friday logs - Scaling ElasticsearchBlack friday logs - Scaling Elasticsearch
Black friday logs - Scaling ElasticsearchSylvain Wallez
 

Similaire à Jornadas gvSIG 2009 WSS English (20)

Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nlLessons learned while building Omroep.nl
Lessons learned while building Omroep.nl
 
Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nlLessons learned while building Omroep.nl
Lessons learned while building Omroep.nl
 
Web Development using Ruby on Rails
Web Development using Ruby on RailsWeb Development using Ruby on Rails
Web Development using Ruby on Rails
 
Lessons Learned from Managing Thousands of Production Apache Spark Clusters w...
Lessons Learned from Managing Thousands of Production Apache Spark Clusters w...Lessons Learned from Managing Thousands of Production Apache Spark Clusters w...
Lessons Learned from Managing Thousands of Production Apache Spark Clusters w...
 
Webinar: Scaling MongoDB
Webinar: Scaling MongoDBWebinar: Scaling MongoDB
Webinar: Scaling MongoDB
 
Scratchpads past,present,future
Scratchpads past,present,futureScratchpads past,present,future
Scratchpads past,present,future
 
Python & Django TTT
Python & Django TTTPython & Django TTT
Python & Django TTT
 
Mining software vulns in SCCM / NIST's NVD
Mining software vulns in SCCM / NIST's NVDMining software vulns in SCCM / NIST's NVD
Mining software vulns in SCCM / NIST's NVD
 
S2GX 2012 - Introduction to Spring Integration and Spring Batch
S2GX 2012 - Introduction to Spring Integration and Spring BatchS2GX 2012 - Introduction to Spring Integration and Spring Batch
S2GX 2012 - Introduction to Spring Integration and Spring Batch
 
MongoDB Tick Data Presentation
MongoDB Tick Data PresentationMongoDB Tick Data Presentation
MongoDB Tick Data Presentation
 
Frontera распределенный робот для обхода веба в больших объемах / Александр С...
Frontera распределенный робот для обхода веба в больших объемах / Александр С...Frontera распределенный робот для обхода веба в больших объемах / Александр С...
Frontera распределенный робот для обхода веба в больших объемах / Александр С...
 
FOSDEM 2014: Social Network Benchmark (SNB) Graph Generator
FOSDEM 2014:  Social Network Benchmark (SNB) Graph GeneratorFOSDEM 2014:  Social Network Benchmark (SNB) Graph Generator
FOSDEM 2014: Social Network Benchmark (SNB) Graph Generator
 
Introduction to SoapUI day 1
Introduction to SoapUI day 1Introduction to SoapUI day 1
Introduction to SoapUI day 1
 
Soap UI - Getting started
Soap UI - Getting startedSoap UI - Getting started
Soap UI - Getting started
 
Play Framework and Activator
Play Framework and ActivatorPlay Framework and Activator
Play Framework and Activator
 
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
 
"Different software evolutions from Start till Release in PHP product" Oleksa...
"Different software evolutions from Start till Release in PHP product" Oleksa..."Different software evolutions from Start till Release in PHP product" Oleksa...
"Different software evolutions from Start till Release in PHP product" Oleksa...
 
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
 
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...
 
Black friday logs - Scaling Elasticsearch
Black friday logs - Scaling ElasticsearchBlack friday logs - Scaling Elasticsearch
Black friday logs - Scaling Elasticsearch
 

Dernier

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 

Dernier (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

Jornadas gvSIG 2009 WSS English

  • 1. Web Symbol Service Prototype implementation for remote access of symbologies Google Summer of Code Cristian Martín Reinhold. Diciembre 2009 christian.reinhold@gmail.com
  • 2. Contents • Introduction • Symbols Server • Client-Server Dialogue (WSS) • Symbology client for gvSIG 2
  • 4. The project • In collaboration of - Jaume I University - Prodevelop • Funded by - Google (SoC 2009) 4
  • 5. The project • In collaboration of - Jaume I University - Prodevelop • Funded by - Google (SoC 2009) 4
  • 6. The project • In collaboration of - Jaume I University - Prodevelop • Funded by - Google (SoC 2009) 4
  • 7. The project • In collaboration of - Jaume I University - Prodevelop • Funded by - Google (SoC 2009) 4
  • 10. Objetives • Remote symbols access • Provide a catalogue of symbols 5
  • 11. Objetives • Remote symbols access • Provide a catalogue of symbols • Offer a dialogue between client and server - Client: asks for a service - Servidor: offers symbols 5
  • 13. Some notes • Python 2.5 >> 2.6 • Django and Pinax as CMS Django 7
  • 14. Some notes • Python 2.5 >> 2.6 • Django and Pinax as CMS Pinax Django 7
  • 15. Some notes • Python 2.5 >> 2.6 • Django and Pinax as CMS Pinax Django 7
  • 17. Objetives ✓ Allows - Simple symbologies’ upload - Validation of simbologies and compulsory fields - Tags queries 8
  • 18. Objetives ✓ Allows - Simple symbologies’ upload - Validation of simbologies and compulsory fields - Tags queries ✗ Not allowed - Legend uploads - Edit and delete symbols 8
  • 19. Demo 9
  • 20. Demo 9
  • 22. Previous validation • Verification of - Online Resources - Validation against a .xsd file 10
  • 23. Previous validation • Verification of - Online Resources - Validation against a .xsd file • Once uploaded - Online Resource path modification - External WMS query for snapshot image 10
  • 25. WSS Server • Dialogue? - Restlet Structure • Input? - URL query • Output? - Error messages and info (xml) - Simbology file (.sld) (+ embedded image) 12
  • 26. Restlet Structure • Separation of terms by “/” • Terms used: - Type - Categ - Tags - Filtering - Output 13
  • 27. Restlet Structure • Separation of terms by “/” • Terms used: - Type {point, line, polygon, raster} - Categ - Tags - Filtering - Output 13
  • 28. Restlet Structure • Separation of terms by “/” • Terms used: - Type {point, line, polygon, raster} - Categ {0: Agriculture, 1: Biodiversity, …} - Tags - Filtering - Output 13
  • 29. Restlet Structure • Separation of terms by “/” • Terms used: - Type {point, line, polygon, raster} - Categ {0: Agriculture, 1: Biodiversity, …} - Tags {tag1, tag2, tag3, …, tagN} - Filtering - Output 13
  • 30. Restlet Structure • Separation of terms by “/” • Terms used: - Type {point, line, polygon, raster} - Categ {0: Agriculture, 1: Biodiversity, …} - Tags {tag1, tag2, tag3, …, tagN} - Filtering {all, <pag_ini>+<group_by>} - Output 13
  • 31. Restlet Structure • Separation of terms by “/” • Terms used: - Type {point, line, polygon, raster} - Categ {0: Agriculture, 1: Biodiversity, …} - Tags {tag1, tag2, tag3, …, tagN} - Filtering {all, <pag_ini>+<group_by>} - Output {.res, .sld, .xml} 13
  • 32. Example 1 14
  • 33. Example 1 • Results (.res) by categories 14
  • 34. Example 1 • Results (.res) by categories - How many point symbols are there for each category? 14
  • 35. Example 1 • Results (.res) by categories - How many point symbols are there for each category? <host>/symbols/points/any/all.res 14
  • 36. Example 1 • Results (.res) by categories - How many point symbols are there for each category? <host>/symbols/points/any/all.res - ¿How many polygon symbols are there for each category that also has both tags “lake” and “Spain”? 14
  • 37. Example 1 • Results (.res) by categories - How many point symbols are there for each category? <host>/symbols/points/any/all.res - ¿How many polygon symbols are there for each category that also has both tags “lake” and “Spain”? <host>/symbols/polygons/lake+Spain/all.res 14
  • 38. Example 2 15
  • 39. Example 2 • Symbols metadata (.xml) 15
  • 40. Example 2 • Symbols metadata (.xml) - List the all metadata (id, tags, titulo, ...) symbols of page 2, grouped 8 by 8, where their category is “3:Agriculture” and its tag “corn”. 15
  • 41. Example 2 • Symbols metadata (.xml) - List the all metadata (id, tags, titulo, ...) symbols of page 2, grouped 8 by 8, where their category is “3:Agriculture” and its tag “corn”. <host>/symbols/points/3/corn/2+8.xml 15
  • 43. WSS client • gvSIG extension of the symbols library • It allows: - Local and remote symbol query - Local and remote symbol loading and safe them locally 17
  • 44. Lacks • Not allowed - Online Resources from WSS server not parsed properly 18
  • 45. Demo 19
  • 46. Demo 19
  • 47. Future 20
  • 48. Future • Encourage organisms and enterprises to use WSS for publishing their own symbols 20
  • 49. Future • Encourage organisms and enterprises to use WSS for publishing their own symbols • Develop of a complete specification 20
  • 50. Future • Encourage organisms and enterprises to use WSS for publishing their own symbols • Develop of a complete specification • Extend the WSS protocol 20
  • 51. Future • Encourage organisms and enterprises to use WSS for publishing their own symbols • Develop of a complete specification • Extend the WSS protocol • Better usability 20
  • 52. Questions ? Cristian Martín Reinhold. Diciembre 2009 christian.reinhold@gmail.com http://confluence.prodevelop.es/display/WSS/Home