SlideShare a Scribd company logo
1 of 10
Download to read offline
MySQL Meetup



MySQL Spatial Extensions
       Andrew Collins
       April 4th, 2005
Non-
                         Geometry                                Instantiable
                                                                                Instantiable




                                                                 Geometry-
Point                 Curve                  Surface
                                                                 Collection
 1+     2+




                                                        Multi-
                    LineString               Polygon             MultiCurve     MultiPoint
                                                       Surface
             1+
                                                 1+




                                                        Multi-     Multi-
             Line          LinearRing
                                        1+             Polygon   LineString




OpenGIS Simple Features Specification for SQL
Geometry Class Hierarchy
Point         MultiPoint      LineString    LinearRing




    Multi-                           Multi-     Geometry-
                    Polygon
  LineString                        Polygon     Collection


OpenGIS Simple Features Specification for SQL
Spatial Data Model
SFS Methods : Basic
●   GeometryType()
    –   “POINT”, “POLYGON”, “LINEARRING” ...
●   Envelope()
    –   Polygon consisting of corner points of bounding box:
        ((MINX, MINY), (MAXX, MINY), (MAXX, MAXY),
        (MINX, MAXY), (MINX, MINY))
●   AsText()
    –   Returns string representation of the geometry in
        Well-Known Text (WKT) format
●   ... and a few other basic methods
SFS Methods : Spatial Relations
●   Intersects(anotherGeometry : Geometry)
     –   Returns true if this Geometry 'spatially intersects'
         anotherGeometry.
●   Touches(anotherGeometry : Geometry)
     –   Returns true if this Geometry 'spatially touches'
         anotherGeometry.
●   Contains(anotherGeometry : Geometry)
     –   Returns true if this Geometry 'spatially contains'
         anotherGeometry.
●   ... and a few other spatial relational methods:
     –   Equals(...), Disjoint(...), Crosses(...), Within(...),
         Overlaps(...), and Relate(...)
SFS Methods : Spatial Analysis
●   Distance(anotherGeometry : Geometry)
     –   Return shortest distance between this Geometry and
         anotherGeometry.
●   Union(anotherGeometry : Geometry)
     –   Returns the point set union of this Geometry and
         anotherGeometry.
●   Difference(anotherGeometry : Geometry)
     –   Returns the point set difference of this Geometry and
         anotherGeometry.
●   ... and a few other spatial relational methods:
     –   SymDifference(anotherGeometry : Geometry),
         Buffer(distance : Double), ConvexHull( ), ...
“Not Yet Implemented”
●   The OpenGIS SFS specification is great, but...
    –   ... the spatial extensions are only available as of
        MySQL 4.1.x
    –   ... and the SFS specification is not fully
        implemented.
●   Many of the spatial relations and analysis methods are
    “not yet implemented.”
    –   This is understandable given the fact that “robust”
        implementations of these methods are not easy to
        create.
JTS Topology Suite
●   The JTS Topology Suite
GML : Geography Markup Language
●   Another OpenGIS specification used to format Simple
    Features in XML
    –   XSLT available to translate GML to WKT
    –   ... and MySQL INSERT commands
Links
●   Open Geospatial Consortium, Inc. (OGC)
    http://www.opengeospatial.org/
●   OGC: Simple Features - SQL (SFS)
    http://www.opengeospatial.org/docs/99-049.pdf
●   Spatial Extensions in MySQL
    http://dev.mysql.com/doc/mysql/en/spatial-extensions-in-mysql.html
●
    Geography Markup Language (GML3.0)
    http://www.opengeospatial.org/specs/?page=specs
●   JTS Topology Suite
    http://www.vividsolutions.com/jts/JTSHome.htm

More Related Content

What's hot

Landslide_Mapping_Sri lanka
Landslide_Mapping_Sri lankaLandslide_Mapping_Sri lanka
Landslide_Mapping_Sri lanka
RASHID JAVED
 
Static model development
Static model developmentStatic model development
Static model development
Kunal Rathod
 
Week 10 part 1 pe 6282 Block Diagrams
Week  10 part 1 pe 6282   Block DiagramsWeek  10 part 1 pe 6282   Block Diagrams
Week 10 part 1 pe 6282 Block Diagrams
Charlton Inao
 
Andrew Goldberg. Highway Dimension and Provably Efficient Shortest Path Algor...
Andrew Goldberg. Highway Dimension and Provably Efficient Shortest Path Algor...Andrew Goldberg. Highway Dimension and Provably Efficient Shortest Path Algor...
Andrew Goldberg. Highway Dimension and Provably Efficient Shortest Path Algor...
Computer Science Club
 

What's hot (20)

Block Reduction Method
Block Reduction MethodBlock Reduction Method
Block Reduction Method
 
(Ds+alg) 5
(Ds+alg)   5(Ds+alg)   5
(Ds+alg) 5
 
__ae2_22_PLASTIC ANALYSIS OF SLABS_YIELD LINES.pptx
__ae2_22_PLASTIC ANALYSIS OF SLABS_YIELD LINES.pptx__ae2_22_PLASTIC ANALYSIS OF SLABS_YIELD LINES.pptx
__ae2_22_PLASTIC ANALYSIS OF SLABS_YIELD LINES.pptx
 
__ae2_22_PROGRESSIVE COLLAPSE ANALYSIS_TEST 2_2122_solved.pptx
__ae2_22_PROGRESSIVE COLLAPSE ANALYSIS_TEST 2_2122_solved.pptx__ae2_22_PROGRESSIVE COLLAPSE ANALYSIS_TEST 2_2122_solved.pptx
__ae2_22_PROGRESSIVE COLLAPSE ANALYSIS_TEST 2_2122_solved.pptx
 
Block diagram Examples
Block diagram ExamplesBlock diagram Examples
Block diagram Examples
 
Class 9_ae2_slabs
  Class 9_ae2_slabs  Class 9_ae2_slabs
Class 9_ae2_slabs
 
Signal flow graph (sfg)
Signal flow graph (sfg)Signal flow graph (sfg)
Signal flow graph (sfg)
 
Landslide_Mapping_Sri lanka
Landslide_Mapping_Sri lankaLandslide_Mapping_Sri lanka
Landslide_Mapping_Sri lanka
 
Static model development
Static model developmentStatic model development
Static model development
 
A Model and Algorithm of Dynamic Map Expression and its Application
A Model and Algorithm of Dynamic Map Expression and its ApplicationA Model and Algorithm of Dynamic Map Expression and its Application
A Model and Algorithm of Dynamic Map Expression and its Application
 
distance_matrix_ch
distance_matrix_chdistance_matrix_ch
distance_matrix_ch
 
Block Diagram Reduction
Block Diagram ReductionBlock Diagram Reduction
Block Diagram Reduction
 
How Matlab Helps
How Matlab HelpsHow Matlab Helps
How Matlab Helps
 
Ae2_19_plastic analysis of slabs_yield lines
  Ae2_19_plastic analysis of slabs_yield lines  Ae2_19_plastic analysis of slabs_yield lines
Ae2_19_plastic analysis of slabs_yield lines
 
Week 10 part 1 pe 6282 Block Diagrams
Week  10 part 1 pe 6282   Block DiagramsWeek  10 part 1 pe 6282   Block Diagrams
Week 10 part 1 pe 6282 Block Diagrams
 
Andrew Goldberg. Highway Dimension and Provably Efficient Shortest Path Algor...
Andrew Goldberg. Highway Dimension and Provably Efficient Shortest Path Algor...Andrew Goldberg. Highway Dimension and Provably Efficient Shortest Path Algor...
Andrew Goldberg. Highway Dimension and Provably Efficient Shortest Path Algor...
 
Signal flow graph Mason’s Gain Formula
Signal flow graph Mason’s Gain Formula Signal flow graph Mason’s Gain Formula
Signal flow graph Mason’s Gain Formula
 
Block diagram
Block diagramBlock diagram
Block diagram
 
Tutorials questions
Tutorials questionsTutorials questions
Tutorials questions
 
Ae2_19_progressive collapse analysis
  Ae2_19_progressive collapse analysis  Ae2_19_progressive collapse analysis
Ae2_19_progressive collapse analysis
 

Similar to MySQL Spatial Extensions - Boston MySQL Meetup April 2005

Covering the earth and the cloud the next generation of spatial in sql server...
Covering the earth and the cloud the next generation of spatial in sql server...Covering the earth and the cloud the next generation of spatial in sql server...
Covering the earth and the cloud the next generation of spatial in sql server...
Texas Natural Resources Information System
 
Drupal mapping modules
Drupal mapping modulesDrupal mapping modules
Drupal mapping modules
Patrick Hayes
 

Similar to MySQL Spatial Extensions - Boston MySQL Meetup April 2005 (20)

The state of geo in ElasticSearch
The state of geo in ElasticSearchThe state of geo in ElasticSearch
The state of geo in ElasticSearch
 
Opensource gis development - part 2
Opensource gis development - part 2Opensource gis development - part 2
Opensource gis development - part 2
 
Kopss Open API 단위테스트 이슈사항
Kopss Open API 단위테스트 이슈사항Kopss Open API 단위테스트 이슈사항
Kopss Open API 단위테스트 이슈사항
 
Day 6 - PostGIS
Day 6 - PostGISDay 6 - PostGIS
Day 6 - PostGIS
 
2016-01 Lucene Solr spatial in 2015, NYC Meetup
2016-01 Lucene Solr spatial in 2015, NYC Meetup2016-01 Lucene Solr spatial in 2015, NYC Meetup
2016-01 Lucene Solr spatial in 2015, NYC Meetup
 
Covering the earth and the cloud the next generation of spatial in sql server...
Covering the earth and the cloud the next generation of spatial in sql server...Covering the earth and the cloud the next generation of spatial in sql server...
Covering the earth and the cloud the next generation of spatial in sql server...
 
Lucene/Solr Spatial in 2015: Presented by David Smiley
Lucene/Solr Spatial in 2015: Presented by David SmileyLucene/Solr Spatial in 2015: Presented by David Smiley
Lucene/Solr Spatial in 2015: Presented by David Smiley
 
Lucene/Solr spatial in 2015
Lucene/Solr spatial in 2015Lucene/Solr spatial in 2015
Lucene/Solr spatial in 2015
 
GIS_Whirlwind_Tour.ppt
GIS_Whirlwind_Tour.pptGIS_Whirlwind_Tour.ppt
GIS_Whirlwind_Tour.ppt
 
GIS_Whirlwind_Tour.ppt
GIS_Whirlwind_Tour.pptGIS_Whirlwind_Tour.ppt
GIS_Whirlwind_Tour.ppt
 
GIS_Whirlwind_Tour.ppt
GIS_Whirlwind_Tour.pptGIS_Whirlwind_Tour.ppt
GIS_Whirlwind_Tour.ppt
 
GIS_Whirlwind_Tour.ppt
GIS_Whirlwind_Tour.pptGIS_Whirlwind_Tour.ppt
GIS_Whirlwind_Tour.ppt
 
Magellan FOSS4G Talk, Boston 2017
Magellan FOSS4G Talk, Boston 2017Magellan FOSS4G Talk, Boston 2017
Magellan FOSS4G Talk, Boston 2017
 
SQLBits X SQL Server 2012 Spatial
SQLBits X SQL Server 2012 SpatialSQLBits X SQL Server 2012 Spatial
SQLBits X SQL Server 2012 Spatial
 
Giving MongoDB a Way to Play with the GIS Community
Giving MongoDB a Way to Play with the GIS CommunityGiving MongoDB a Way to Play with the GIS Community
Giving MongoDB a Way to Play with the GIS Community
 
Gis and Ruby 101 at Ruby Conf Kenya 2017 by Kamal Ogudah
Gis and Ruby 101 at Ruby Conf Kenya 2017 by Kamal OgudahGis and Ruby 101 at Ruby Conf Kenya 2017 by Kamal Ogudah
Gis and Ruby 101 at Ruby Conf Kenya 2017 by Kamal Ogudah
 
Drupal mapping modules
Drupal mapping modulesDrupal mapping modules
Drupal mapping modules
 
2017 RM-URISA Track: Spatial SQL - The Best Kept Secret in the Geospatial World
2017 RM-URISA Track:  Spatial SQL - The Best Kept Secret in the Geospatial World2017 RM-URISA Track:  Spatial SQL - The Best Kept Secret in the Geospatial World
2017 RM-URISA Track: Spatial SQL - The Best Kept Secret in the Geospatial World
 
Post gispguk
Post gispgukPost gispguk
Post gispguk
 
Postgis for Enterprise
Postgis for EnterprisePostgis for Enterprise
Postgis for Enterprise
 

More from Andrew Collins (12)

Art Critique Words
Art Critique WordsArt Critique Words
Art Critique Words
 
Crazy
CrazyCrazy
Crazy
 
A Dream Deferred
A Dream DeferredA Dream Deferred
A Dream Deferred
 
The Purse-Seine
The Purse-SeineThe Purse-Seine
The Purse-Seine
 
The Question Answer’d
The Question Answer’dThe Question Answer’d
The Question Answer’d
 
Exuberance is Beauty
Exuberance is BeautyExuberance is Beauty
Exuberance is Beauty
 
Eight Marks of a Mind Control Cult
Eight Marks of a Mind Control CultEight Marks of a Mind Control Cult
Eight Marks of a Mind Control Cult
 
Cults & Thought Reform
Cults & Thought ReformCults & Thought Reform
Cults & Thought Reform
 
Religion in School
Religion in SchoolReligion in School
Religion in School
 
Religious Liberty & The Free Exercise Clause
Religious Liberty & The Free Exercise ClauseReligious Liberty & The Free Exercise Clause
Religious Liberty & The Free Exercise Clause
 
What is Aromatherapy?
What is Aromatherapy?What is Aromatherapy?
What is Aromatherapy?
 
Using Steam Distillation to Produce Essential Oils
Using Steam Distillation to Produce Essential OilsUsing Steam Distillation to Produce Essential Oils
Using Steam Distillation to Produce Essential Oils
 

Recently uploaded

Recently uploaded (20)

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 

MySQL Spatial Extensions - Boston MySQL Meetup April 2005

  • 1. MySQL Meetup MySQL Spatial Extensions Andrew Collins April 4th, 2005
  • 2. Non- Geometry Instantiable Instantiable Geometry- Point Curve Surface Collection 1+ 2+ Multi- LineString Polygon MultiCurve MultiPoint Surface 1+ 1+ Multi- Multi- Line LinearRing 1+ Polygon LineString OpenGIS Simple Features Specification for SQL Geometry Class Hierarchy
  • 3. Point MultiPoint LineString LinearRing Multi- Multi- Geometry- Polygon LineString Polygon Collection OpenGIS Simple Features Specification for SQL Spatial Data Model
  • 4. SFS Methods : Basic ● GeometryType() – “POINT”, “POLYGON”, “LINEARRING” ... ● Envelope() – Polygon consisting of corner points of bounding box: ((MINX, MINY), (MAXX, MINY), (MAXX, MAXY), (MINX, MAXY), (MINX, MINY)) ● AsText() – Returns string representation of the geometry in Well-Known Text (WKT) format ● ... and a few other basic methods
  • 5. SFS Methods : Spatial Relations ● Intersects(anotherGeometry : Geometry) – Returns true if this Geometry 'spatially intersects' anotherGeometry. ● Touches(anotherGeometry : Geometry) – Returns true if this Geometry 'spatially touches' anotherGeometry. ● Contains(anotherGeometry : Geometry) – Returns true if this Geometry 'spatially contains' anotherGeometry. ● ... and a few other spatial relational methods: – Equals(...), Disjoint(...), Crosses(...), Within(...), Overlaps(...), and Relate(...)
  • 6. SFS Methods : Spatial Analysis ● Distance(anotherGeometry : Geometry) – Return shortest distance between this Geometry and anotherGeometry. ● Union(anotherGeometry : Geometry) – Returns the point set union of this Geometry and anotherGeometry. ● Difference(anotherGeometry : Geometry) – Returns the point set difference of this Geometry and anotherGeometry. ● ... and a few other spatial relational methods: – SymDifference(anotherGeometry : Geometry), Buffer(distance : Double), ConvexHull( ), ...
  • 7. “Not Yet Implemented” ● The OpenGIS SFS specification is great, but... – ... the spatial extensions are only available as of MySQL 4.1.x – ... and the SFS specification is not fully implemented. ● Many of the spatial relations and analysis methods are “not yet implemented.” – This is understandable given the fact that “robust” implementations of these methods are not easy to create.
  • 8. JTS Topology Suite ● The JTS Topology Suite
  • 9. GML : Geography Markup Language ● Another OpenGIS specification used to format Simple Features in XML – XSLT available to translate GML to WKT – ... and MySQL INSERT commands
  • 10. Links ● Open Geospatial Consortium, Inc. (OGC) http://www.opengeospatial.org/ ● OGC: Simple Features - SQL (SFS) http://www.opengeospatial.org/docs/99-049.pdf ● Spatial Extensions in MySQL http://dev.mysql.com/doc/mysql/en/spatial-extensions-in-mysql.html ● Geography Markup Language (GML3.0) http://www.opengeospatial.org/specs/?page=specs ● JTS Topology Suite http://www.vividsolutions.com/jts/JTSHome.htm