SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Downloaden Sie, um offline zu lesen
Advanced KML

Bent Hagemark
May 29, 2008
Overview

  OGC Standard
  KML Architecture
  Advanced features
  Future enhancement
OGC Standard
OGC KML 2.2

  April 14, 2008
  Standard: 07-147r2
  Abstract Test Suite: 07-134r2
  100% quot;Googlequot; KML 2.2 compatible
  xmlns=quot;http://www.opengis.net/kml/2.2quot;
OGC KML 2.2

  www.opengeospatial.org/standards/kml
  schemas.opengis.net/kml/2.2.0/ogckml22.xsd
  code.google.com/apis/kml
  code.google.com/apis/kml/documentation/kmlreference.html
KML Architecture
KML Architecture

  Object
  Feature
  Geometry
  Style
  Link
  Extension mechanism
Object

  most complex elements
  id=quot;IDquot;
  targetId=quot;IDquot; for Update
  AbstractXxxObjectExtensionGroup
  kml:AbstractObjectGroup (8.1)
Feature

  left panel entry: name, snippet, visibility
  balloon
  style
  viewpoint, flyTo
  custom data
  kml:AbstractFeatureGroup (9.1)
Feature: concrete elements

  Placemark
  NetworkLink
  Container: Document, Folder
  Overlay: GroundOverlay, PhotoOverlay, ScreenOverlay
Geometry

  2d or 3d
  extrude
  tessellate
  kml:AbstractGeometryGroup (10.1)
Geometry: concrete elements

  Point (icon)
  LineString, LinearRing
  Polygon
  Model (textured 3d)
  MultiGeometry
Style

  shared style (6.4)
  inline style
  style resolution
  kml:AbstractStyleSelectorGroup (12.1)
Style: concrete elements

  Style
  StyleMap
  styleUrl
  SubStyle: BalloonStyle, ListStyle, ColorStyle
  ColorStyle: IconStyle, LabelStyle, LineStyle, PolyStyle
Link

  href
  network-shared style
  network-shared schema
  images, 3d models, more KML
  balloon
  ascription
Link: concrete elements

  NetworkLink/Link/href
  Overlay/Icon/href
  Model/Link/href
  styleUrl
  schemaUrl
  html:img src=quot;...quot;
  html:a href=quot;...quot;
  atom:link
Extension mechanism

  ExtendedData/Data
  Document/Schema, ExtendedData/SchemaData
  ExtendedData/XML
  XSD extension mechanism
XML and JavaScript

  same model (same system!)
  code.google.com/apis/kml/documentation
  code.google.com/apis/earth
Advanced features
Review: Basic features

  Placemark
  Overlay
  Folder
  Style
  NetworkLink
Advanced features

  Region
  Time
  Update
  ExtendedData
Region

  Feature LOD
  visibility transitions
  millions of points
  SuperOverlay
Region: any Feature

  Placemark: visibility
  NetworkLink: fetch
  Overlay: fetch of image and visibility
  Document/Folder: cascade
Region: simple effects

  simple Lod
  pop in and out
  fade
  clean swap with fade
Region: Example 1: simple Lod

<Placemark>

 <Region>
  <Lod>
    <minLodPixels>128</minLodPixels>
  </Lod>
  <LatLonAltBox>...</LatLonAltBox>
 </Region>

 <Point>...</Point>

</Placemark>
Region: Example 2: pop in and out

<Placemark>

 <Region>
  <Lod>
    <minLodPixels>128</minLodPixels>
    <maxLodPixels>512</maxLodPixels>
  </Lod>
  <LatLonAltBox>...</LatLonAltBox>
 </Region>

 <Point>...</Point>

</Placemark>
Region: Example 3: clean swap

<Placemark id=quot;coarsequot;>

 <Region>
  <Lod> <!-- minLodPixels defaults to 0 -->
    <maxLodPixels>256</maxLodPixels>
  </Lod>
  <LatLonAltBox>...</LatLonAltBox>
 </Region>

 <Point>...</Point> <!-- quot;come look herequot; -->

</Placemark>
Region: Example 3: clean swap

<Placemark id=quot;finequot;>

 <Region>
  <Lod>
    <minLodPixels>256</minLodPixels>
  </Lod> <!-- maxLodPixels defaults to -1 quot;infinitequot; -->
  <LatLonAltBox>...</LatLonAltBox>
 </Region>

 <Polygon>...</Polygon> <!-- more detail -->

</Placemark>
Region: NetworkLink

<NetworkLink>

 <Region>
  <Lod>
     <minLodPixels>256</minLodPixels>
  </Lod>
  <LatLonAltBox>...</LatLonAltBox>
 </Region>
 <Link>
  <href>load-when-viewer-close-enough.kml</href>
  <viewRefreshMode>onRegion</viewRefreshMode>
 </Link>
</NetworkLink>
Region: quot;RbNLquot; and tools

  cascade of Region-based NetworkLinks
  KML Layers
  code.google.com/p/regionator
     csvregionator.py - CSV -> RbNL
     placemarks.py - KML -> RbNL
     checklinks.py - walks RbNL
     checkregions.py - checks RbNL Regions
  code.google.com/p/libkml
Region: quot;RbNLquot; Google Earth layers

  Rumsey Historical Maps
  Gigapan/Gigapxl Photos
  YouTube
  Books
  News
  Weather
Region: SuperOverlay

  quot;RbNLquot; of GroundOverlays
  Examples:
     Google Earth Weather
     disaster imagery
Region: tips and tricks

   focus on Lod, especially minLodPixels
      minLodPixels most likely > 128
   Region with any Feature including ScreenOverlay
   minLodPixels = 1/2 wid/ht of image tile
      256x256 image -> minLodPixels 128
   512 is 1/4 a typical screen
Time

  Feature
  TimeStamp
  TimeSpan
  Example: Google Earth Weather
Time: tips and tricks

   TimeStamp for Points
   TimeStamp: geographically non-coincident
   TimeSpan for Overlays
   TimeSpan: geographically coincident
   Containers cascade
   checkHideChildren
Update

  Change
  Create
  Delete
  Example: Santa
Update: Change

<!-- original fetched with NetworkLink -->
<kml xmlns=quot;www.opengis.net/kml/2.2quot;>
 <Folder>
   <Placemark id=quot;p1quot;>
    <name>Point @ 3,-4.2</name>
    <description>My movable Point</description>
    <styleUrl>#some-style</styleUrl>
    <Point>
      <extrude>true</extrude>
      <coordinates>3,4.2</coordinates>
    </Point>
   </Placemark>
 </Folder>
</kml>
Update: Change

<kml><NetworkLinkControl>
<Update>
 <Change>
   <Placemark targetId=quot;p1quot;>
    <name>Point @ 3,-4.2</name>
    <Point>
     <coordinates>3,4.2</coordinates>
    </Point>
  </Placemark>
 </Change>
</Update>
</NetworkLinkControl>
</kml>
Update: NetworkLinkControl and cookie

<kml><NetworkLinkControl>
 <!-- name=value compat with cgi parsing -->
 <cookie>count=123</cookie>
 <Update>
  <Change>
    <Placemark targetId=quot;p1quot;>
     <Point>
       <coordinates>[coords for 123]</coordinates>
     </Point>
    </Placemark>
  </Change>
 </Update>
</NetworkLinkControl></kml>
ExtendedData

  Feature
  Data: untyped data
  Schema and SchemaData: typed data
  quot;<xs:any>quot;: any XML
  balloon templating with shared style
  Example: Google Earth Weather
  (Metadata deprecated)
ExtendedData: Example: Weather

<Placemark>
 <name>...</name>
 <styleUrl>http://.../style.kml#sunny</styleUrl>
 <ExtendedData>...</ExtendedData>
 <Point>...</Point>
</Placemark>
ExtendedData: Example: Weather

<!-- style.kml -->
<Style id=quot;sunnyquot;>
 <IconStyle>
   <Icon><href>sunny.jpg</href></Icon>
 </IconStyle>
 <LabelStyle>...</LabelStyle>
 <BalloonStyle>
   <text> <!-- 50 entities replaced in one template -->
    ...<td>$[01_Temperature]</td>...
   </text>
 </BalloonStyle>
</Style>
ExtendedData: Example: Weather

<ExtendedData>
 <Data name=quot;locationquot;>
   <value>Shillong, IN as of 2008-05-28 17:00</value>
 </Data>
 <Data name=quot;00_Temperaturequot;>
  <value>80°F / 27°C</value>
 </Data>
 <Data name=quot;00_Phrasequot;>
  <value>Haze</value>
 </Data>
</ExtendedData>
ExtendedData: Example: weather

  Feature
  Data: untyped data
  Schema and SchemaData: typed data
  quot;<xs:any>quot;: any XML
  balloon templating with shared style
  Example: Google Earth Weather
  (Metadata deprecated)
ExtendedData: tips and tricks

  ExtendedData/Data
  the comment trick
Future enhancement
Future enhancement

  ExtendedData
  XSD extension mechanism
  OGC SWG
Demo
code.google.com/apis/kml
Advanced Kml

Weitere ähnliche Inhalte

Andere mochten auch

Inverno Violin Solo
Inverno   Violin SoloInverno   Violin Solo
Inverno Violin SoloHOME
 
『耳鼻喉自診手冊』電子書
『耳鼻喉自診手冊』電子書 『耳鼻喉自診手冊』電子書
『耳鼻喉自診手冊』電子書 David Yeh
 
多媒體影音部落格於神經耳科教學之應用
多媒體影音部落格於神經耳科教學之應用多媒體影音部落格於神經耳科教學之應用
多媒體影音部落格於神經耳科教學之應用David Yeh
 
Enya May It Be
Enya May It BeEnya May It Be
Enya May It BeHOME
 
Eine Kleine Nachtmusik
Eine Kleine NachtmusikEine Kleine Nachtmusik
Eine Kleine NachtmusikHOME
 
Aggregate rubric scribblar
Aggregate rubric scribblarAggregate rubric scribblar
Aggregate rubric scribblarJen Thoman
 
戴竹蓮
戴竹蓮戴竹蓮
戴竹蓮nice567
 
Voice Browsing And Multimodal Interaction In 2009
Voice Browsing And Multimodal Interaction In 2009Voice Browsing And Multimodal Interaction In 2009
Voice Browsing And Multimodal Interaction In 2009GoogleTecTalks
 
2009 De Groeve Iscram Conference
2009 De Groeve Iscram Conference2009 De Groeve Iscram Conference
2009 De Groeve Iscram Conferencedegroeve
 
Business Intelligence Portfolio
Business Intelligence PortfolioBusiness Intelligence Portfolio
Business Intelligence Portfoliodklawson
 
QUEST Alliance Overview of work
QUEST Alliance Overview of workQUEST Alliance Overview of work
QUEST Alliance Overview of workaakashs
 

Andere mochten auch (18)

Inverno Violin Solo
Inverno   Violin SoloInverno   Violin Solo
Inverno Violin Solo
 
Facebook Por Facebook
Facebook Por FacebookFacebook Por Facebook
Facebook Por Facebook
 
African Geography
African GeographyAfrican Geography
African Geography
 
DEFINICION DE LITERATURA
DEFINICION DE LITERATURADEFINICION DE LITERATURA
DEFINICION DE LITERATURA
 
『耳鼻喉自診手冊』電子書
『耳鼻喉自診手冊』電子書 『耳鼻喉自診手冊』電子書
『耳鼻喉自診手冊』電子書
 
多媒體影音部落格於神經耳科教學之應用
多媒體影音部落格於神經耳科教學之應用多媒體影音部落格於神經耳科教學之應用
多媒體影音部落格於神經耳科教學之應用
 
Our Culture
Our CultureOur Culture
Our Culture
 
Guida Firma
Guida FirmaGuida Firma
Guida Firma
 
Enya May It Be
Enya May It BeEnya May It Be
Enya May It Be
 
Eine Kleine Nachtmusik
Eine Kleine NachtmusikEine Kleine Nachtmusik
Eine Kleine Nachtmusik
 
Aggregate rubric scribblar
Aggregate rubric scribblarAggregate rubric scribblar
Aggregate rubric scribblar
 
戴竹蓮
戴竹蓮戴竹蓮
戴竹蓮
 
Voice Browsing And Multimodal Interaction In 2009
Voice Browsing And Multimodal Interaction In 2009Voice Browsing And Multimodal Interaction In 2009
Voice Browsing And Multimodal Interaction In 2009
 
2009 De Groeve Iscram Conference
2009 De Groeve Iscram Conference2009 De Groeve Iscram Conference
2009 De Groeve Iscram Conference
 
Business Intelligence Portfolio
Business Intelligence PortfolioBusiness Intelligence Portfolio
Business Intelligence Portfolio
 
Web 3 0
Web 3 0 Web 3 0
Web 3 0
 
QUEST Alliance Overview of work
QUEST Alliance Overview of workQUEST Alliance Overview of work
QUEST Alliance Overview of work
 
Graphs
GraphsGraphs
Graphs
 

Ähnlich wie Advanced Kml

Google Mapy (Jaroslav Bengl)
Google Mapy (Jaroslav Bengl)Google Mapy (Jaroslav Bengl)
Google Mapy (Jaroslav Bengl)Jiří Šmída
 
Using KML for Thematic Mapping
Using KML for Thematic MappingUsing KML for Thematic Mapping
Using KML for Thematic MappingBjorn Sandvik
 
CHUG_presentation_Hope
CHUG_presentation_HopeCHUG_presentation_Hope
CHUG_presentation_HopeLara Juliusson
 
GTAC: AtomPub, testing your server implementation
GTAC: AtomPub, testing your server implementationGTAC: AtomPub, testing your server implementation
GTAC: AtomPub, testing your server implementationDavid Calavera
 
O'Reilly WebCast - Trends And Technologies In Where2.0
O'Reilly WebCast - Trends And Technologies In Where2.0O'Reilly WebCast - Trends And Technologies In Where2.0
O'Reilly WebCast - Trends And Technologies In Where2.0Andrew Turner
 
HTML5 Overview
HTML5 OverviewHTML5 Overview
HTML5 Overviewreybango
 
2012 02-04 fosdem 2012 - drools planner
2012 02-04 fosdem 2012 - drools planner2012 02-04 fosdem 2012 - drools planner
2012 02-04 fosdem 2012 - drools plannerGeoffrey De Smet
 
Yahoo! Mail antispam - Bay area Hadoop user group
Yahoo! Mail antispam - Bay area Hadoop user groupYahoo! Mail antispam - Bay area Hadoop user group
Yahoo! Mail antispam - Bay area Hadoop user groupHadoop User Group
 
Orbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case StudyOrbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case StudyMark Meeker
 
Xml Applications Libraries
Xml Applications LibrariesXml Applications Libraries
Xml Applications Librarieslibrarywebchic
 
White Paper on OS Master Map
White Paper on OS Master MapWhite Paper on OS Master Map
White Paper on OS Master Mapabsvis
 
Beholding the giant pyramid of application development; why Ajax applications...
Beholding the giant pyramid of application development; why Ajax applications...Beholding the giant pyramid of application development; why Ajax applications...
Beholding the giant pyramid of application development; why Ajax applications...Javeline B.V.
 
Struts2 course chapter 2: installation and configuration
Struts2 course chapter 2: installation and configurationStruts2 course chapter 2: installation and configuration
Struts2 course chapter 2: installation and configurationJavaEE Trainers
 
Ganglia Overview-v2
Ganglia Overview-v2Ganglia Overview-v2
Ganglia Overview-v2Chris Westin
 
Grails Introduction - IJTC 2007
Grails Introduction - IJTC 2007Grails Introduction - IJTC 2007
Grails Introduction - IJTC 2007Guillaume Laforge
 
Csphtp1 18
Csphtp1 18Csphtp1 18
Csphtp1 18HUST
 

Ähnlich wie Advanced Kml (20)

The State of GeoServer
The State of GeoServerThe State of GeoServer
The State of GeoServer
 
Google Mapy (Jaroslav Bengl)
Google Mapy (Jaroslav Bengl)Google Mapy (Jaroslav Bengl)
Google Mapy (Jaroslav Bengl)
 
Using KML for Thematic Mapping
Using KML for Thematic MappingUsing KML for Thematic Mapping
Using KML for Thematic Mapping
 
CHUG_presentation_Hope
CHUG_presentation_HopeCHUG_presentation_Hope
CHUG_presentation_Hope
 
GTAC: AtomPub, testing your server implementation
GTAC: AtomPub, testing your server implementationGTAC: AtomPub, testing your server implementation
GTAC: AtomPub, testing your server implementation
 
RESTFul IDEAS
RESTFul IDEASRESTFul IDEAS
RESTFul IDEAS
 
O'Reilly WebCast - Trends And Technologies In Where2.0
O'Reilly WebCast - Trends And Technologies In Where2.0O'Reilly WebCast - Trends And Technologies In Where2.0
O'Reilly WebCast - Trends And Technologies In Where2.0
 
HTML5 Overview
HTML5 OverviewHTML5 Overview
HTML5 Overview
 
Embedded Metadata working group
Embedded Metadata working groupEmbedded Metadata working group
Embedded Metadata working group
 
2012 02-04 fosdem 2012 - drools planner
2012 02-04 fosdem 2012 - drools planner2012 02-04 fosdem 2012 - drools planner
2012 02-04 fosdem 2012 - drools planner
 
Yahoo! Mail antispam - Bay area Hadoop user group
Yahoo! Mail antispam - Bay area Hadoop user groupYahoo! Mail antispam - Bay area Hadoop user group
Yahoo! Mail antispam - Bay area Hadoop user group
 
02 create first-map
02 create first-map02 create first-map
02 create first-map
 
Orbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case StudyOrbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case Study
 
Xml Applications Libraries
Xml Applications LibrariesXml Applications Libraries
Xml Applications Libraries
 
White Paper on OS Master Map
White Paper on OS Master MapWhite Paper on OS Master Map
White Paper on OS Master Map
 
Beholding the giant pyramid of application development; why Ajax applications...
Beholding the giant pyramid of application development; why Ajax applications...Beholding the giant pyramid of application development; why Ajax applications...
Beholding the giant pyramid of application development; why Ajax applications...
 
Struts2 course chapter 2: installation and configuration
Struts2 course chapter 2: installation and configurationStruts2 course chapter 2: installation and configuration
Struts2 course chapter 2: installation and configuration
 
Ganglia Overview-v2
Ganglia Overview-v2Ganglia Overview-v2
Ganglia Overview-v2
 
Grails Introduction - IJTC 2007
Grails Introduction - IJTC 2007Grails Introduction - IJTC 2007
Grails Introduction - IJTC 2007
 
Csphtp1 18
Csphtp1 18Csphtp1 18
Csphtp1 18
 

Mehr von GoogleTecTalks

Web Hooks And The Programmable World Of Tomorrow
Web Hooks And The Programmable World Of TomorrowWeb Hooks And The Programmable World Of Tomorrow
Web Hooks And The Programmable World Of TomorrowGoogleTecTalks
 
Using The Google Collections Library For Java
Using The Google Collections Library For JavaUsing The Google Collections Library For Java
Using The Google Collections Library For JavaGoogleTecTalks
 
V Code And V Data Illustrating A New Framework For Supporting The Video Annot...
V Code And V Data Illustrating A New Framework For Supporting The Video Annot...V Code And V Data Illustrating A New Framework For Supporting The Video Annot...
V Code And V Data Illustrating A New Framework For Supporting The Video Annot...GoogleTecTalks
 
New Media Mavericks Will The Revolution Be Spidered
New Media Mavericks Will The Revolution Be SpideredNew Media Mavericks Will The Revolution Be Spidered
New Media Mavericks Will The Revolution Be SpideredGoogleTecTalks
 
Performance Improvements In Browsers
Performance Improvements In BrowsersPerformance Improvements In Browsers
Performance Improvements In BrowsersGoogleTecTalks
 
13353102 Putting The Fun In Functional Applying Game Mechanics To Functional ...
13353102 Putting The Fun In Functional Applying Game Mechanics To Functional ...13353102 Putting The Fun In Functional Applying Game Mechanics To Functional ...
13353102 Putting The Fun In Functional Applying Game Mechanics To Functional ...GoogleTecTalks
 
Black Cloud Patterns Toward The Future
Black Cloud Patterns Toward The FutureBlack Cloud Patterns Toward The Future
Black Cloud Patterns Toward The FutureGoogleTecTalks
 
Advanced Ruby Scripting For Sketch Up
Advanced Ruby Scripting For Sketch UpAdvanced Ruby Scripting For Sketch Up
Advanced Ruby Scripting For Sketch UpGoogleTecTalks
 
An Introduction To Android
An Introduction To AndroidAn Introduction To Android
An Introduction To AndroidGoogleTecTalks
 
Advanced Gadget And Ui Development Using Googles Ajax Ap Is
Advanced Gadget And Ui Development Using Googles Ajax Ap IsAdvanced Gadget And Ui Development Using Googles Ajax Ap Is
Advanced Gadget And Ui Development Using Googles Ajax Ap IsGoogleTecTalks
 
Keynote Client Connectivity And The Cloud
Keynote Client Connectivity And The CloudKeynote Client Connectivity And The Cloud
Keynote Client Connectivity And The CloudGoogleTecTalks
 

Mehr von GoogleTecTalks (11)

Web Hooks And The Programmable World Of Tomorrow
Web Hooks And The Programmable World Of TomorrowWeb Hooks And The Programmable World Of Tomorrow
Web Hooks And The Programmable World Of Tomorrow
 
Using The Google Collections Library For Java
Using The Google Collections Library For JavaUsing The Google Collections Library For Java
Using The Google Collections Library For Java
 
V Code And V Data Illustrating A New Framework For Supporting The Video Annot...
V Code And V Data Illustrating A New Framework For Supporting The Video Annot...V Code And V Data Illustrating A New Framework For Supporting The Video Annot...
V Code And V Data Illustrating A New Framework For Supporting The Video Annot...
 
New Media Mavericks Will The Revolution Be Spidered
New Media Mavericks Will The Revolution Be SpideredNew Media Mavericks Will The Revolution Be Spidered
New Media Mavericks Will The Revolution Be Spidered
 
Performance Improvements In Browsers
Performance Improvements In BrowsersPerformance Improvements In Browsers
Performance Improvements In Browsers
 
13353102 Putting The Fun In Functional Applying Game Mechanics To Functional ...
13353102 Putting The Fun In Functional Applying Game Mechanics To Functional ...13353102 Putting The Fun In Functional Applying Game Mechanics To Functional ...
13353102 Putting The Fun In Functional Applying Game Mechanics To Functional ...
 
Black Cloud Patterns Toward The Future
Black Cloud Patterns Toward The FutureBlack Cloud Patterns Toward The Future
Black Cloud Patterns Toward The Future
 
Advanced Ruby Scripting For Sketch Up
Advanced Ruby Scripting For Sketch UpAdvanced Ruby Scripting For Sketch Up
Advanced Ruby Scripting For Sketch Up
 
An Introduction To Android
An Introduction To AndroidAn Introduction To Android
An Introduction To Android
 
Advanced Gadget And Ui Development Using Googles Ajax Ap Is
Advanced Gadget And Ui Development Using Googles Ajax Ap IsAdvanced Gadget And Ui Development Using Googles Ajax Ap Is
Advanced Gadget And Ui Development Using Googles Ajax Ap Is
 
Keynote Client Connectivity And The Cloud
Keynote Client Connectivity And The CloudKeynote Client Connectivity And The Cloud
Keynote Client Connectivity And The Cloud
 

Kürzlich hochgeladen

Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Kürzlich hochgeladen (20)

Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 

Advanced Kml

  • 2. Overview OGC Standard KML Architecture Advanced features Future enhancement
  • 4. OGC KML 2.2 April 14, 2008 Standard: 07-147r2 Abstract Test Suite: 07-134r2 100% quot;Googlequot; KML 2.2 compatible xmlns=quot;http://www.opengis.net/kml/2.2quot;
  • 5. OGC KML 2.2 www.opengeospatial.org/standards/kml schemas.opengis.net/kml/2.2.0/ogckml22.xsd code.google.com/apis/kml code.google.com/apis/kml/documentation/kmlreference.html
  • 7. KML Architecture Object Feature Geometry Style Link Extension mechanism
  • 8. Object most complex elements id=quot;IDquot; targetId=quot;IDquot; for Update AbstractXxxObjectExtensionGroup kml:AbstractObjectGroup (8.1)
  • 9. Feature left panel entry: name, snippet, visibility balloon style viewpoint, flyTo custom data kml:AbstractFeatureGroup (9.1)
  • 10. Feature: concrete elements Placemark NetworkLink Container: Document, Folder Overlay: GroundOverlay, PhotoOverlay, ScreenOverlay
  • 11. Geometry 2d or 3d extrude tessellate kml:AbstractGeometryGroup (10.1)
  • 12. Geometry: concrete elements Point (icon) LineString, LinearRing Polygon Model (textured 3d) MultiGeometry
  • 13. Style shared style (6.4) inline style style resolution kml:AbstractStyleSelectorGroup (12.1)
  • 14. Style: concrete elements Style StyleMap styleUrl SubStyle: BalloonStyle, ListStyle, ColorStyle ColorStyle: IconStyle, LabelStyle, LineStyle, PolyStyle
  • 15. Link href network-shared style network-shared schema images, 3d models, more KML balloon ascription
  • 16. Link: concrete elements NetworkLink/Link/href Overlay/Icon/href Model/Link/href styleUrl schemaUrl html:img src=quot;...quot; html:a href=quot;...quot; atom:link
  • 17. Extension mechanism ExtendedData/Data Document/Schema, ExtendedData/SchemaData ExtendedData/XML XSD extension mechanism
  • 18. XML and JavaScript same model (same system!) code.google.com/apis/kml/documentation code.google.com/apis/earth
  • 20. Review: Basic features Placemark Overlay Folder Style NetworkLink
  • 21. Advanced features Region Time Update ExtendedData
  • 22. Region Feature LOD visibility transitions millions of points SuperOverlay
  • 23. Region: any Feature Placemark: visibility NetworkLink: fetch Overlay: fetch of image and visibility Document/Folder: cascade
  • 24. Region: simple effects simple Lod pop in and out fade clean swap with fade
  • 25. Region: Example 1: simple Lod <Placemark> <Region> <Lod> <minLodPixels>128</minLodPixels> </Lod> <LatLonAltBox>...</LatLonAltBox> </Region> <Point>...</Point> </Placemark>
  • 26. Region: Example 2: pop in and out <Placemark> <Region> <Lod> <minLodPixels>128</minLodPixels> <maxLodPixels>512</maxLodPixels> </Lod> <LatLonAltBox>...</LatLonAltBox> </Region> <Point>...</Point> </Placemark>
  • 27. Region: Example 3: clean swap <Placemark id=quot;coarsequot;> <Region> <Lod> <!-- minLodPixels defaults to 0 --> <maxLodPixels>256</maxLodPixels> </Lod> <LatLonAltBox>...</LatLonAltBox> </Region> <Point>...</Point> <!-- quot;come look herequot; --> </Placemark>
  • 28. Region: Example 3: clean swap <Placemark id=quot;finequot;> <Region> <Lod> <minLodPixels>256</minLodPixels> </Lod> <!-- maxLodPixels defaults to -1 quot;infinitequot; --> <LatLonAltBox>...</LatLonAltBox> </Region> <Polygon>...</Polygon> <!-- more detail --> </Placemark>
  • 29. Region: NetworkLink <NetworkLink> <Region> <Lod> <minLodPixels>256</minLodPixels> </Lod> <LatLonAltBox>...</LatLonAltBox> </Region> <Link> <href>load-when-viewer-close-enough.kml</href> <viewRefreshMode>onRegion</viewRefreshMode> </Link> </NetworkLink>
  • 30. Region: quot;RbNLquot; and tools cascade of Region-based NetworkLinks KML Layers code.google.com/p/regionator csvregionator.py - CSV -> RbNL placemarks.py - KML -> RbNL checklinks.py - walks RbNL checkregions.py - checks RbNL Regions code.google.com/p/libkml
  • 31. Region: quot;RbNLquot; Google Earth layers Rumsey Historical Maps Gigapan/Gigapxl Photos YouTube Books News Weather
  • 32. Region: SuperOverlay quot;RbNLquot; of GroundOverlays Examples: Google Earth Weather disaster imagery
  • 33. Region: tips and tricks focus on Lod, especially minLodPixels minLodPixels most likely > 128 Region with any Feature including ScreenOverlay minLodPixels = 1/2 wid/ht of image tile 256x256 image -> minLodPixels 128 512 is 1/4 a typical screen
  • 34. Time Feature TimeStamp TimeSpan Example: Google Earth Weather
  • 35. Time: tips and tricks TimeStamp for Points TimeStamp: geographically non-coincident TimeSpan for Overlays TimeSpan: geographically coincident Containers cascade checkHideChildren
  • 36. Update Change Create Delete Example: Santa
  • 37. Update: Change <!-- original fetched with NetworkLink --> <kml xmlns=quot;www.opengis.net/kml/2.2quot;> <Folder> <Placemark id=quot;p1quot;> <name>Point @ 3,-4.2</name> <description>My movable Point</description> <styleUrl>#some-style</styleUrl> <Point> <extrude>true</extrude> <coordinates>3,4.2</coordinates> </Point> </Placemark> </Folder> </kml>
  • 38. Update: Change <kml><NetworkLinkControl> <Update> <Change> <Placemark targetId=quot;p1quot;> <name>Point @ 3,-4.2</name> <Point> <coordinates>3,4.2</coordinates> </Point> </Placemark> </Change> </Update> </NetworkLinkControl> </kml>
  • 39. Update: NetworkLinkControl and cookie <kml><NetworkLinkControl> <!-- name=value compat with cgi parsing --> <cookie>count=123</cookie> <Update> <Change> <Placemark targetId=quot;p1quot;> <Point> <coordinates>[coords for 123]</coordinates> </Point> </Placemark> </Change> </Update> </NetworkLinkControl></kml>
  • 40. ExtendedData Feature Data: untyped data Schema and SchemaData: typed data quot;<xs:any>quot;: any XML balloon templating with shared style Example: Google Earth Weather (Metadata deprecated)
  • 41. ExtendedData: Example: Weather <Placemark> <name>...</name> <styleUrl>http://.../style.kml#sunny</styleUrl> <ExtendedData>...</ExtendedData> <Point>...</Point> </Placemark>
  • 42. ExtendedData: Example: Weather <!-- style.kml --> <Style id=quot;sunnyquot;> <IconStyle> <Icon><href>sunny.jpg</href></Icon> </IconStyle> <LabelStyle>...</LabelStyle> <BalloonStyle> <text> <!-- 50 entities replaced in one template --> ...<td>$[01_Temperature]</td>... </text> </BalloonStyle> </Style>
  • 43. ExtendedData: Example: Weather <ExtendedData> <Data name=quot;locationquot;> <value>Shillong, IN as of 2008-05-28 17:00</value> </Data> <Data name=quot;00_Temperaturequot;> <value>80°F / 27°C</value> </Data> <Data name=quot;00_Phrasequot;> <value>Haze</value> </Data> </ExtendedData>
  • 44. ExtendedData: Example: weather Feature Data: untyped data Schema and SchemaData: typed data quot;<xs:any>quot;: any XML balloon templating with shared style Example: Google Earth Weather (Metadata deprecated)
  • 45. ExtendedData: tips and tricks ExtendedData/Data the comment trick
  • 47. Future enhancement ExtendedData XSD extension mechanism OGC SWG
  • 48. Demo