SlideShare a Scribd company logo
1 of 12
Download to read offline
Mapping With Drupal
Geotagged Image
                              KML
              Address
                              GPX




Shapefiles
  KML

                                          Styles    Maps
                        Views GeoJSON



  Lat / Lon
   HTML5
Draw on Map
                                          Layers   Behaviors




                            TileStache
Bounding Box
Top
Bottom
Left
Right                                                     GeoPHP is used to
        Centroid                                          calculate the
        Lat                                               Bounding Box and
        Lon                                               Centroid from the
                                                          Geometry.
Geometry
Stored in WKT Format                                      Geometry Types:
Soon will be WKB                                          • Point
WKT Example:                                              • LineString
POLYGON ((30 10, 10 20,                                   • Polygon
20 40, 40 40, 30 10))                                     • MultiPoint
                          Query-able and indexable        • MultiLineString
                                                          • MultiPolygon
                          Not Query-able. SELECTs only.   • GeometryCollection
•   User enters an address     •   KML (Google Earth)
         •   Address is stored          •   GPX (Hand-held GPS)
             independently              •   Geo-tagged Image
         •   Does not store lat / lon       (smart-phone)




         Handlers call service              Handlers parse
         • Google                           uploaded file into a
         • Yahoo                            geoPHP geometry
         • Yandex                           object
         • MapQuest




                      Lat / Lon
Direct user input      HTML5
Is also supported   Draw on Map
                       More!
ESRI Shapefiles can imported into
geofields using OSGeo’s GDAL ogr2ogr
library

Requires download and install of ogr2ogr
Latitude, Longitude 127 24’ 66’’ N, 23 23’ 56’’ W

  GeoJSON {"type":"Point","coordinates":[-123.3,30.78]}

  WKT POLYGON ((30 10, 10 20, 20 40, 40 40, 30 10))




OpenLayers Map
OpenLayers and Views

              Repeat after me




“I need to create two views. One view hold
the layer. The other view holds the map.”
GeoJSON View
      (views_geojson module)
                                                                                GeoJSON Layer
1.   Create a page view
2.   Add geofield field to field list        /feeds/layer.json
3.   Set format to GeoJSON feed                                              Layer should automatically
     and select geofield                                                      appear in your layers list
                                         Exposed & Contextual Filters




     OpenLayers Map View
1.   Create a page, block or pane                                              OpenLayers Map
     view
2.   Set format to OpenLayers Map                                       1.    Add layer to map and
3.   Optional: set-up exposed                                                 configure map as desired
     filters identically to first view                                  2.    Click “Preview” to make sure
4.   Profit!                                                                  your map is working
Maps

        Styles          Brings Behaviors and
  Provide static and    Layers (and implicitly
  dynamic styling to   Styles and Layer-Types)
   olverlay layers.    together in a JavaScript
                        widget for displaying
                             spatial data.




       Layers
                             Behaviors
Two classes:
                            Behaviors are
1. Base-Maps such as
                         JavaScript snippets
   google maps or
                         that make the map
   other “tiles”
                       interactive in different
2. Overlays that
                        ways or provide map
   come from views
                           UI functionality.
   or feeds
Geometry
Stored in WKB Format




                                  Query-able and indexable
-- Find all pubs located within 250 meters of a hospital.
SELECT h.name, p.name FROM bc_hospitals h, bc_pubs p WHERE ST_DWithin(h.geom, p.geom, 250);

-- What is the largest municipality in British Columbia, by area?
SELECT name, ST_Area(geom) as areaFROM bc_municipality order by area limit 1;

-- What is the total length of all roads in BC, in kilometers?
SELECT sum(ST_Length(geom))/1000 as km_roads from bc_roads;
PostGIS can be used as a spatial-query service in the same way that solr is used as a
search-query service. This example show us associating “Location” nodes with “Region”
nodes using Geofield, node-references, and SyncPostGIS.


                                     Sync PostGIS
                                    Entity-save or cron
   GeoField (Polygon)




                           Spatial Query on entity-save
                           SELECT id from postgis where
                           bundle = ‘region’ AND                  Entity Type
                           ST_WITHIN($point, geom)
                                                                  Entity ID
     GeoField (Point)
                                                                  Entity Bundle
     Node-Reference                                               Field Name
                                     Node ID of region            Field Delta
PostGIS      TileMill
ShapeFiles
GeoTIFF
KML
More!

More Related Content

What's hot

Marble Virtual Globe 1.6 Factsheet (English)
Marble Virtual Globe 1.6 Factsheet (English)Marble Virtual Globe 1.6 Factsheet (English)
Marble Virtual Globe 1.6 Factsheet (English)Marble Virtual Globe
 
Marble Virtual Globe 1.4 Factsheet (English)
Marble Virtual Globe 1.4 Factsheet (English)Marble Virtual Globe 1.4 Factsheet (English)
Marble Virtual Globe 1.4 Factsheet (English)Marble Virtual Globe
 
Marble Virtual Globe 1.3 Factsheet (English)
Marble Virtual Globe 1.3 Factsheet (English)Marble Virtual Globe 1.3 Factsheet (English)
Marble Virtual Globe 1.3 Factsheet (English)Marble Virtual Globe
 
Marble - ein Schweizer Taschenmesser für Karten
Marble - ein Schweizer Taschenmesser für KartenMarble - ein Schweizer Taschenmesser für Karten
Marble - ein Schweizer Taschenmesser für KartenMarble Virtual Globe
 
Answer To Google Earth Universeand Evrything Else Abbreviated
Answer To Google Earth Universeand Evrything Else AbbreviatedAnswer To Google Earth Universeand Evrything Else Abbreviated
Answer To Google Earth Universeand Evrything Else Abbreviatedguestd2ceb9
 
Web Mapping with Drupal
Web Mapping with DrupalWeb Mapping with Drupal
Web Mapping with DrupalRanel Padon
 
以 Leaflet 濫用^H^H呈現開放街圖資料
以 Leaflet 濫用^H^H呈現開放街圖資料以 Leaflet 濫用^H^H呈現開放街圖資料
以 Leaflet 濫用^H^H呈現開放街圖資料Rex Tsai
 
Vector Tiles with GeoServer and OpenLayers
Vector Tiles with GeoServer and OpenLayersVector Tiles with GeoServer and OpenLayers
Vector Tiles with GeoServer and OpenLayersJody Garnett
 
LocationTech Tour 2016 - Vectortiles
LocationTech Tour 2016 - Vectortiles LocationTech Tour 2016 - Vectortiles
LocationTech Tour 2016 - Vectortiles Morgan Thompson
 
Visualization and Level-of-detail of Metadata for Interactive Exploration of ...
Visualization and Level-of-detail of Metadata for Interactive Exploration of ...Visualization and Level-of-detail of Metadata for Interactive Exploration of ...
Visualization and Level-of-detail of Metadata for Interactive Exploration of ...Cybera Inc.
 
Cartaro Workshop at the Geosharing Conferenc in Bern
Cartaro Workshop at the Geosharing Conferenc in BernCartaro Workshop at the Geosharing Conferenc in Bern
Cartaro Workshop at the Geosharing Conferenc in BernUli Müller
 
Where in the world is Franz Kafka? | Will LaForest, Confluent
Where in the world is Franz Kafka? | Will LaForest, ConfluentWhere in the world is Franz Kafka? | Will LaForest, Confluent
Where in the world is Franz Kafka? | Will LaForest, ConfluentHostedbyConfluent
 
Integrating Geospatial Data to your Applications
Integrating Geospatial Data to your ApplicationsIntegrating Geospatial Data to your Applications
Integrating Geospatial Data to your ApplicationsIan Panganiban
 
Using QGIS to create 3D indoor maps
Using QGIS to create 3D indoor mapsUsing QGIS to create 3D indoor maps
Using QGIS to create 3D indoor mapsRoss McDonald
 
Game Design 2 (2010): Lecture 7 - Micro and Macro Design
Game Design 2 (2010): Lecture 7 - Micro and Macro DesignGame Design 2 (2010): Lecture 7 - Micro and Macro Design
Game Design 2 (2010): Lecture 7 - Micro and Macro DesignDavid Farrell
 

What's hot (20)

Marble Virtual Globe 1.6 Factsheet (English)
Marble Virtual Globe 1.6 Factsheet (English)Marble Virtual Globe 1.6 Factsheet (English)
Marble Virtual Globe 1.6 Factsheet (English)
 
Marble Virtual Globe 1.4 Factsheet (English)
Marble Virtual Globe 1.4 Factsheet (English)Marble Virtual Globe 1.4 Factsheet (English)
Marble Virtual Globe 1.4 Factsheet (English)
 
Marble Virtual Globe 1.3 Factsheet (English)
Marble Virtual Globe 1.3 Factsheet (English)Marble Virtual Globe 1.3 Factsheet (English)
Marble Virtual Globe 1.3 Factsheet (English)
 
Marble - ein Schweizer Taschenmesser für Karten
Marble - ein Schweizer Taschenmesser für KartenMarble - ein Schweizer Taschenmesser für Karten
Marble - ein Schweizer Taschenmesser für Karten
 
Answer To Google Earth Universeand Evrything Else Abbreviated
Answer To Google Earth Universeand Evrything Else AbbreviatedAnswer To Google Earth Universeand Evrything Else Abbreviated
Answer To Google Earth Universeand Evrything Else Abbreviated
 
Web Mapping with Drupal
Web Mapping with DrupalWeb Mapping with Drupal
Web Mapping with Drupal
 
Open layers
Open layersOpen layers
Open layers
 
以 Leaflet 濫用^H^H呈現開放街圖資料
以 Leaflet 濫用^H^H呈現開放街圖資料以 Leaflet 濫用^H^H呈現開放街圖資料
以 Leaflet 濫用^H^H呈現開放街圖資料
 
Geohash
GeohashGeohash
Geohash
 
Vector Tiles with GeoServer and OpenLayers
Vector Tiles with GeoServer and OpenLayersVector Tiles with GeoServer and OpenLayers
Vector Tiles with GeoServer and OpenLayers
 
LocationTech Tour 2016 - Vectortiles
LocationTech Tour 2016 - Vectortiles LocationTech Tour 2016 - Vectortiles
LocationTech Tour 2016 - Vectortiles
 
Visualization and Level-of-detail of Metadata for Interactive Exploration of ...
Visualization and Level-of-detail of Metadata for Interactive Exploration of ...Visualization and Level-of-detail of Metadata for Interactive Exploration of ...
Visualization and Level-of-detail of Metadata for Interactive Exploration of ...
 
Cartaro Workshop at the Geosharing Conferenc in Bern
Cartaro Workshop at the Geosharing Conferenc in BernCartaro Workshop at the Geosharing Conferenc in Bern
Cartaro Workshop at the Geosharing Conferenc in Bern
 
Where in the world is Franz Kafka? | Will LaForest, Confluent
Where in the world is Franz Kafka? | Will LaForest, ConfluentWhere in the world is Franz Kafka? | Will LaForest, Confluent
Where in the world is Franz Kafka? | Will LaForest, Confluent
 
Yet Another Solar System
Yet Another Solar SystemYet Another Solar System
Yet Another Solar System
 
Integrating Geospatial Data to your Applications
Integrating Geospatial Data to your ApplicationsIntegrating Geospatial Data to your Applications
Integrating Geospatial Data to your Applications
 
Using QGIS to create 3D indoor maps
Using QGIS to create 3D indoor mapsUsing QGIS to create 3D indoor maps
Using QGIS to create 3D indoor maps
 
QGIS training class 1
QGIS training class 1QGIS training class 1
QGIS training class 1
 
Game Design 2 (2010): Lecture 7 - Micro and Macro Design
Game Design 2 (2010): Lecture 7 - Micro and Macro DesignGame Design 2 (2010): Lecture 7 - Micro and Macro Design
Game Design 2 (2010): Lecture 7 - Micro and Macro Design
 
S2
S2S2
S2
 

Similar to Drupal mapping modules

The state of geo in ElasticSearch
The state of geo in ElasticSearchThe state of geo in ElasticSearch
The state of geo in ElasticSearchFan Robbin
 
managing georeferenced content with Plone and collective.geo
managing georeferenced content with Plone and collective.geomanaging georeferenced content with Plone and collective.geo
managing georeferenced content with Plone and collective.geogborelli
 
Mapping, GIS and geolocating data in Java
Mapping, GIS and geolocating data in JavaMapping, GIS and geolocating data in Java
Mapping, GIS and geolocating data in JavaJoachim Van der Auwera
 
Mapping, GIS and geolocating data in Java @ JAX London
Mapping, GIS and geolocating data in Java @ JAX LondonMapping, GIS and geolocating data in Java @ JAX London
Mapping, GIS and geolocating data in Java @ JAX LondonJoachim Van der Auwera
 
Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...
Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...
Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...JAX London
 
Le projet “Canadian Spatial Data Foundry”: Introduction à PostGIS WKT Raster
Le projet “Canadian Spatial Data Foundry”: Introduction à PostGIS WKT RasterLe projet “Canadian Spatial Data Foundry”: Introduction à PostGIS WKT Raster
Le projet “Canadian Spatial Data Foundry”: Introduction à PostGIS WKT RasterACSG Section Montréal
 
Евгений Хыст: "Server-Side Geo-Clustering Based on Geohash"
Евгений Хыст: "Server-Side Geo-Clustering Based on Geohash"Евгений Хыст: "Server-Side Geo-Clustering Based on Geohash"
Евгений Хыст: "Server-Side Geo-Clustering Based on Geohash"Anna Shymchenko
 
Spatially enabled open source BI (GeoBI) with GeoKettle, GeoMondrian & SOLAPL...
Spatially enabled open source BI (GeoBI) with GeoKettle, GeoMondrian & SOLAPL...Spatially enabled open source BI (GeoBI) with GeoKettle, GeoMondrian & SOLAPL...
Spatially enabled open source BI (GeoBI) with GeoKettle, GeoMondrian & SOLAPL...Thierry Badard
 
Opensource gis development - part 2
Opensource gis development - part 2Opensource gis development - part 2
Opensource gis development - part 2Andrea Antonello
 
NGSI: Geoqueries & Carto integration
NGSI: Geoqueries & Carto integrationNGSI: Geoqueries & Carto integration
NGSI: Geoqueries & Carto integrationFIWARE
 
GeoServer @ Osgis 2011
GeoServer @ Osgis 2011 GeoServer @ Osgis 2011
GeoServer @ Osgis 2011 GeoSolutions
 
Demoiselle Spatial Latinoware 2011
Demoiselle Spatial Latinoware 2011Demoiselle Spatial Latinoware 2011
Demoiselle Spatial Latinoware 2011Rafael Soto
 
2012 URISA Track, Geologic Mapping 101: Common Pitfalls and Suggestions for a...
2012 URISA Track, Geologic Mapping 101: Common Pitfalls and Suggestions for a...2012 URISA Track, Geologic Mapping 101: Common Pitfalls and Suggestions for a...
2012 URISA Track, Geologic Mapping 101: Common Pitfalls and Suggestions for a...GIS in the Rockies
 
MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013
MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013
MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013GeoSolutions
 
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 MeetupDavid Smiley
 
Gis mapping presentation jvc in eng
Gis mapping presentation jvc in engGis mapping presentation jvc in eng
Gis mapping presentation jvc in engLIWG-Laos
 

Similar to Drupal mapping modules (20)

The state of geo in ElasticSearch
The state of geo in ElasticSearchThe state of geo in ElasticSearch
The state of geo in ElasticSearch
 
managing georeferenced content with Plone and collective.geo
managing georeferenced content with Plone and collective.geomanaging georeferenced content with Plone and collective.geo
managing georeferenced content with Plone and collective.geo
 
Mapping, GIS and geolocating data in Java
Mapping, GIS and geolocating data in JavaMapping, GIS and geolocating data in Java
Mapping, GIS and geolocating data in Java
 
Mapping, GIS and geolocating data in Java @ JAX London
Mapping, GIS and geolocating data in Java @ JAX LondonMapping, GIS and geolocating data in Java @ JAX London
Mapping, GIS and geolocating data in Java @ JAX London
 
Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...
Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...
Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...
 
Le projet “Canadian Spatial Data Foundry”: Introduction à PostGIS WKT Raster
Le projet “Canadian Spatial Data Foundry”: Introduction à PostGIS WKT RasterLe projet “Canadian Spatial Data Foundry”: Introduction à PostGIS WKT Raster
Le projet “Canadian Spatial Data Foundry”: Introduction à PostGIS WKT Raster
 
Geolocation and Mapping
Geolocation and MappingGeolocation and Mapping
Geolocation and Mapping
 
SEI OSGIS presentation
SEI OSGIS presentationSEI OSGIS presentation
SEI OSGIS presentation
 
Евгений Хыст: "Server-Side Geo-Clustering Based on Geohash"
Евгений Хыст: "Server-Side Geo-Clustering Based on Geohash"Евгений Хыст: "Server-Side Geo-Clustering Based on Geohash"
Евгений Хыст: "Server-Side Geo-Clustering Based on Geohash"
 
Spatially enabled open source BI (GeoBI) with GeoKettle, GeoMondrian & SOLAPL...
Spatially enabled open source BI (GeoBI) with GeoKettle, GeoMondrian & SOLAPL...Spatially enabled open source BI (GeoBI) with GeoKettle, GeoMondrian & SOLAPL...
Spatially enabled open source BI (GeoBI) with GeoKettle, GeoMondrian & SOLAPL...
 
Opensource gis development - part 2
Opensource gis development - part 2Opensource gis development - part 2
Opensource gis development - part 2
 
QGIS training class 3
QGIS training class 3QGIS training class 3
QGIS training class 3
 
Spatial search with geohashes
Spatial search with geohashesSpatial search with geohashes
Spatial search with geohashes
 
NGSI: Geoqueries & Carto integration
NGSI: Geoqueries & Carto integrationNGSI: Geoqueries & Carto integration
NGSI: Geoqueries & Carto integration
 
GeoServer @ Osgis 2011
GeoServer @ Osgis 2011 GeoServer @ Osgis 2011
GeoServer @ Osgis 2011
 
Demoiselle Spatial Latinoware 2011
Demoiselle Spatial Latinoware 2011Demoiselle Spatial Latinoware 2011
Demoiselle Spatial Latinoware 2011
 
2012 URISA Track, Geologic Mapping 101: Common Pitfalls and Suggestions for a...
2012 URISA Track, Geologic Mapping 101: Common Pitfalls and Suggestions for a...2012 URISA Track, Geologic Mapping 101: Common Pitfalls and Suggestions for a...
2012 URISA Track, Geologic Mapping 101: Common Pitfalls and Suggestions for a...
 
MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013
MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013
MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013
 
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
 
Gis mapping presentation jvc in eng
Gis mapping presentation jvc in engGis mapping presentation jvc in eng
Gis mapping presentation jvc in eng
 

Recently uploaded

How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialJoão Esperancinha
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
QMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfQMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfROWELL MARQUINA
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...Karmanjay Verma
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
WomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneWomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneUiPathCommunity
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 

Recently uploaded (20)

How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorial
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
QMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfQMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdf
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
WomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneWomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyone
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 

Drupal mapping modules

  • 2. Geotagged Image KML Address GPX Shapefiles KML Styles Maps Views GeoJSON Lat / Lon HTML5 Draw on Map Layers Behaviors TileStache
  • 3. Bounding Box Top Bottom Left Right GeoPHP is used to Centroid calculate the Lat Bounding Box and Lon Centroid from the Geometry. Geometry Stored in WKT Format Geometry Types: Soon will be WKB • Point WKT Example: • LineString POLYGON ((30 10, 10 20, • Polygon 20 40, 40 40, 30 10)) • MultiPoint Query-able and indexable • MultiLineString • MultiPolygon Not Query-able. SELECTs only. • GeometryCollection
  • 4. User enters an address • KML (Google Earth) • Address is stored • GPX (Hand-held GPS) independently • Geo-tagged Image • Does not store lat / lon (smart-phone) Handlers call service Handlers parse • Google uploaded file into a • Yahoo geoPHP geometry • Yandex object • MapQuest Lat / Lon Direct user input HTML5 Is also supported Draw on Map More!
  • 5. ESRI Shapefiles can imported into geofields using OSGeo’s GDAL ogr2ogr library Requires download and install of ogr2ogr
  • 6. Latitude, Longitude 127 24’ 66’’ N, 23 23’ 56’’ W GeoJSON {"type":"Point","coordinates":[-123.3,30.78]} WKT POLYGON ((30 10, 10 20, 20 40, 40 40, 30 10)) OpenLayers Map
  • 7. OpenLayers and Views Repeat after me “I need to create two views. One view hold the layer. The other view holds the map.”
  • 8. GeoJSON View (views_geojson module) GeoJSON Layer 1. Create a page view 2. Add geofield field to field list /feeds/layer.json 3. Set format to GeoJSON feed Layer should automatically and select geofield appear in your layers list Exposed & Contextual Filters OpenLayers Map View 1. Create a page, block or pane OpenLayers Map view 2. Set format to OpenLayers Map 1. Add layer to map and 3. Optional: set-up exposed configure map as desired filters identically to first view 2. Click “Preview” to make sure 4. Profit! your map is working
  • 9. Maps Styles Brings Behaviors and Provide static and Layers (and implicitly dynamic styling to Styles and Layer-Types) olverlay layers. together in a JavaScript widget for displaying spatial data. Layers Behaviors Two classes: Behaviors are 1. Base-Maps such as JavaScript snippets google maps or that make the map other “tiles” interactive in different 2. Overlays that ways or provide map come from views UI functionality. or feeds
  • 10. Geometry Stored in WKB Format Query-able and indexable -- Find all pubs located within 250 meters of a hospital. SELECT h.name, p.name FROM bc_hospitals h, bc_pubs p WHERE ST_DWithin(h.geom, p.geom, 250); -- What is the largest municipality in British Columbia, by area? SELECT name, ST_Area(geom) as areaFROM bc_municipality order by area limit 1; -- What is the total length of all roads in BC, in kilometers? SELECT sum(ST_Length(geom))/1000 as km_roads from bc_roads;
  • 11. PostGIS can be used as a spatial-query service in the same way that solr is used as a search-query service. This example show us associating “Location” nodes with “Region” nodes using Geofield, node-references, and SyncPostGIS. Sync PostGIS Entity-save or cron GeoField (Polygon) Spatial Query on entity-save SELECT id from postgis where bundle = ‘region’ AND Entity Type ST_WITHIN($point, geom) Entity ID GeoField (Point) Entity Bundle Node-Reference Field Name Node ID of region Field Delta
  • 12. PostGIS TileMill ShapeFiles GeoTIFF KML More!

Editor's Notes

  1. Howgeofield stores data
  2. Getting data into geofield
  3. NEED MORE INFO
  4. Geofield Formatters