1. Introduction
    1. Motivation
      1. Usability
        1. summarize data at high zoom levels by clustering
        2. allow exploration of individual points at lower zoom levels
      2. Speed
        1. Browser javascript/memory limitations
        2. Even more for mobile
      3. http://blog.davebouwman.com/2012/03/24/server-side-clustering-why-you-need-it/
      4. http://www.svennerberg.com/2009/01/handling-large-amounts-of-markers-in-google-maps/
    2. Problem statement
    3. Aim of the work
      1. Use cases
      2. Examples
        1. http://www.crunchpanorama.com/
        2. http://gmaps-utility-library.googlecode.com/svn/trunk/markerclusterer/1.0/examples/speed_test_example.html
        3. http://www.panoramio.com/map/
        4. http://www.usda.gov/recovery/map/
    4. Methodological approach
    5. Structure of the work
    6. Clustering
      1. Blog: exploring large sets of geodata
        1. http://groups.drupal.org/node/104014
      2. Benchmarking OpenLayers with Drupal
        1. http://rjsteinert.com/content/benchmarking-openlayers-module-views-and-openlayersjs
      3. WFS (D6 wenig user)
        1. http://drupal.org/project/wfs
  2. Foundations
    1. Theory
      1. Names, Keywords
        1. Geospatial clustering
        2. Analytical regionalization
        3. Spatially constrained clustering
      2. Approaches
        1. Where to cluster
          1. Clustering Client-side
          2. Clustering by Logic
          3. Clustering by Database
        2. When to cluster
          1. realtime / on-request
          2. Pre-cluster / store clusters in db
        3. How to cluster
          1. Basic
          2. Distance
          3. Advanced
          4. Feature-based clusters?
          5. article
          6. http://web.archive.org/web/20071121140547/http://trib.tv/tech/clustering-points-on-a-google-map/
          7. Basic Types
          8. Well-separated: Points belong to a cluster when they are closer to every point in the cluster than they are to any point not in the cluster. This requires each cluster of points to be separated by a distance at least equal to the diameter of the largest cluster at its longest point.
          9. Prototype-based: Points belong to a cluster when they are closer or more similar to the cluster’s prototype, ie. a point representing the cluster as a whole, than they are to any other cluster’s prototype. This tends to result in circular clusters since the prototype (in a geospatial dataset anyway) is usually the centrepoint of the cluster.
          10. Graph-based: A cluster is defined as a set of points that are all connected, directly or via a chain of other points, to each other, and which are not connected to any point not in the cluster.
          11. Density-based: A cluster exists where there is a region of high density surrounded by a region of low density. These clusters can end up being any shape, and vary widely in size.
          12. Conceptual: A cluster exists where all points in the cluster share a common attribute which is not present in any point outside the cluster.
          13. Implementation types
          14. Variable gridding
          15. Interleaved digits
          16. K-Means
          17. QT-Clust
          18. DBSCAN
          19. Agglomerative Hierarchical Clustering
          20. Grid based viral growth argorithm
          21. article2
          22. http://www.biomedware.com/files/documentation/boundaryseer/Cluster/About_spatially_constrained_clustering.htm
        4. Questions
          1. what about performance?
          2. how do filters work?
          3. how well does it integrate with current drupal mapping technologies?
          4. how does caching work?
          5. how does client interaction work?
          6. how does it work with and without spatial database capabilities?
      3. Algorithms
        1. OPTICS
          1. http://en.wikipedia.org/wiki/OPTICS_algorithm
        2. Quadtrees + hilbert courve blog post
          1. http://blog.notdot.net/2009/11/Damn-Cool-Algorithms-Spatial-indexing-with-Quadtrees-and-Hilbert-Curves
        3. Region quadtree
          1. http://en.wikipedia.org/wiki/Quadtree#The_region_quadtree
          2. http://gis.stackexchange.com/questions/5394/incremental-spatial-clustering-algorithm
        4. K-Means
          1. http://en.wikipedia.org/wiki/K-means_clustering
          2. Polymaps k-means
          3. http://polymaps.org/ex/cluster.html
          4. no interactivity, static
          5. PostGIS
          6. http://pgxn.org/dist/kmeans/doc/kmeans.html
          7. how to use
          8. http://gis.stackexchange.com/questions/11567/spatial-clustering-with-postgis
          9. MySQL
          10. SQLDM – implementing k-means clustering using SQL
          11. http://www.abibasystems.com/white_paper/sqldm.pdf
          12. Java impl
          13. http://www.javaworld.com/javaworld/jw-11-2006/jw-1121-thread.html?page=1
          14. Drupal ideas
          15. http://groups.drupal.org/node/104014
          16. paper
          17. http://ilpubs.stanford.edu:8090/778/
          18. k-means++: The Advantages of Careful Seeding
        5. SnapToGrid
          1. http://postgis.refractions.net/docs/ST_SnapToGrid.html
        6. More
          1. http://en.wikipedia.org/wiki/Carrot2
          2. http://136.159.122.181:8080/geoclustering/help.php
          3. http://136.159.122.181:8080/geoclustering/
          4. http://chemometria.us.edu.pl/index.php?goto=downloads
        7. clusterPy algorithms
          1. AMOEBA A Multidirectional Optimum Ecotope-Based Algorithm
          2. AriSeL - Automatic Rationalization with Initial Seed Location
          3. Automatic Zoning Procedure (AZP)
          4. Reactive tabu variant of Automatic Zoning Procedure (AZP-R-Tabu)
          5. Simulated Annealing variant of Automatic Zoning Procedure (AZP-SA)
          6. Tabu variant of Automatic Zoning Procedure (AZP-Tabu)
          7. Geo Self Organizing Map(geoSOM)
          8. Max-p-regions model (Tabu)
          9. Generate random regions
          10. Self Organizing Map(SOM)
      4. Articles
        1. Google maps with lots of data, comparison of libs
          1. http://www.svennerberg.com/2009/01/handling-large-amounts-of-markers-in-google-maps/
        2. Thesis
          1. Spatial clustering of structured objects Antonio Varlaro
          2. www.di.uniba.it/~varlaro/Varlaro_PhDThesis.pdf
          3. CORSO
        3. Higher Order Voronoi Diagram
          1. http://gis.stackexchange.com/questions/18330/would-it-be-possible-to-use-geohash-for-proximity-searches
    2. Related
      1. Mapping Tech
        1. Projections
        2. Mapping JS
          1. Compare them
          2. http://www.spatialanalysis.ca/2012/alternatives-to-google-maps/
          3. http://geotux.tuxfamily.org/index.php/en/geo-blogs/item/291-comparacion-clientes-web-v6
          4. http://www.smartmapbrowsing.org/html/index_en.html
          5. OpenLayers
          6. The Wary Guide to OpenLayers
          7. http://macwright.org/2012/01/12/openlayers.html
          8. OpenLayers with Canvas
          9. http://trac.osgeo.org/openlayers/wiki/Future/OpenLayersWithCanvas
          10. Leaflet
          11. geojson
          12. http://leaflet.cloudmade.com/examples/geojson.html
          13. https://github.com/CloudMade/Leaflet/issues/13
          14. https://github.com/CloudMade/Leaflet/issues/420
          15. multitouch
          16. https://github.com/CloudMade/Leaflet/issues/150
          17. Modest Maps
          18. polymaps
          19. http://polymaps.org/
          20. SVG-based large-scale data overlays on interactive maps
          21. d3 / Protovis
          22. http://mbostock.github.com/d3/
          23. http://mbostock.github.com/d3/tutorial/protovis.html
          24. D3 + maps
          25. https://groups.google.com/forum/?fromgroups#!topic/d3-js/4CQ7tmpDi-E
          26. basic d3maps integration
          27. https://github.com/bloomtime/d3map
          28. Tile5
          29. http://www.tile5.org/
          30. Canvas
          31. Openlayers heatmap canvas
          32. http://www.websitedev.de/temp/openlayers-heatmap-layer.html
          33. SVG vs Canvas in Openlayers
          34. http://unterbahn.com/2010/07/comparison-of-svg-and-canvas-in-openlayers/
        3. Overlays
          1. SVG vs Canvas
          2. https://groups.google.com/d/msg/d3-js/4CQ7tmpDi-E/0auSzBMu10gJ
          3. Paging Strategy
          4. http://drupal.org/node/1516610#comment-5967508
          5. OpenLayers locator drupal feature
          6. http://drupal.org/project/ol_locator
        4. Basemap Tiles
          1. Ready to go
          2. MapQuest
          3. MapBox
          4. OpenStreetMap
          5. CloudMade
          6. Google, ...
          7. Customize Services
          8. Tile Tools
          9. TileMill
          10. mapquest background tiles
          11. einfach beim embed generieren 'World baselayer' anhaken
          12. http://map.peoplesdistrict.com/fullmap.html
          13. Maperitive
          14. http://maperitive.net/
        5. MapBox
          1. Fast
          2. http://mapbox.com/wax/getting-fast.html
          3. http://www.slideshare.net/devseed/fast-map-interaction-without-flash
          4. Denver Slides
          5. Automatic Updates
        6. More
          1. daten regelmaessig von drupal in sqlite pushen
          2. http://developmentseed.org/blog/2011/sep/28/gains-dynamic-maps-bridging-couchdb-sqlite/
          3. MapProxy
          4. reproject existing tiles
          5. http://mapproxy.org/
        7. Interaction
          1. None
          2. Per-point
          3. Hybrid
          4. UTFGrid
          5. http://mapbox.com/mbtiles-spec/utfgrid/
        8. More
          1. Ushahidi
          2. http://www.ushahidi.com/products/crowdmap
      2. Drupal Mapping
        1. General
          1. Drupal Geo Stack
          2. http://groups.drupal.org/node/138884
          3. http://groups.drupal.org/node/89769
          4. Mapping Book
          5. Mapping
          6. http://drupal.org/project/mapping
          7. http://groups.drupal.org/node/91114
          8. Podcast
          9. http://drupaleasy.com/podcast/2012/01/drupaleasy-podcast-73-lots-options
          10. 05:35; Drupal was one of the first CMS to integrate with Maps
          11. 13:30; TileMill
          12. 19:00; Client-side performance issues & clustering
          13. 24:35; Geocode & center map on users location by using HTML5 Geolocation
          14. 29:53; OpenLayers complexities, CTools, Display using Views, Panels or API
          15. 34:05; OpenLayers related modules: Geofield, Geocoder, ...
          16. 35:20; Geofield in Drupal 7 instead of Location module before
          17. 37:40; Recommended setup - Quickstart for storing locations and displaying them
          18. OpenLayers + Geofield + Addressfield
          19. GMap + Location
          20. 42:10; Leaflet (Cloudmade)
          21. 44:55; Book wrapup
          22. 46:25; Book introduction chapters + Motivation on mapping
          23. 49:25; Popular mapping blogs, cartography, best map of the year
          24. 1:06; Location CCK migrate sandbox
          25. transforms D6 location_cck fields into D7 geofields
          26. 1:07; Geocoder, get geospatial data from address field into geofield
          27. 1:09:20; Baraka samsara films - map site use case
          28. http://barakasamsara.com/
          29. http://stanford.edu/group/ruralwest/cgi-bin/drupal/visualizations/us_newspapers
          30. http://brandonmorrison.com/sites/default/files/presentations-deckjs/drupal-geospatial/index.html
        2. Storage
          1. Geofield
          2. Presentation
          3. http://drupal.org/node/1570972
          4. PostGIS
          5. http://drupal.org/project/postgis
          6. Sync PostGIS
          7. http://drupal.org/project/sync_postgis
        3. Query + Display
          1. OpenLayers
          2. 3.x
          3. http://drupal.org/node/1353122
          4. Polymaps (depends on mapping)
          5. http://drupal.org/project/polymaps
          6. Views GeoJSON
          7. http://drupal.org/project/views_geojson
          8. OL intergration
          9. http://drupal.org/node/1370448
          10. Documentaion, use cases
          11. http://drupal.org/node/1471026
          12. Bounding box filter
          13. http://drupal.org/node/1333324
          14. SOLR
          15. Drupal Apachesolr Geo sandbox
          16. http://drupal.org/sandbox/pwolanin/1497066
          17. Search API Location
          18. http://drupal.org/project/search_api_location
        4. More
          1. http://denver2012.drupal.org/program/sessions/nodejs-javascript-and-future
          2. Drupal Mapping presentation by levelos (overview + openlayers & leaflet focus)
          3. http://www.slideshare.net/loubabe/drupal-mapping-9713919
          4. Drupal Mapping presentation by zzolo 2012
          5. https://github.com/zzolo/spatially-drupal
          6. vector tiles
          7. [2:01pm] friedjoff: dasjo: maybe vector tiles might be worth looking into
          8. [2:01pm] tnightingale: some data doens't make sense to be pushed into drupal
          9. [2:01pm] tnightingale: vector tiles++
          10. [2:02pm] tnightingale: though last i looked, polymaps was the only lib that supported them
          11. tilestash + drupal + leaflet
          12. https://github.com/affinitybridge/drupal-tilestache
          13. https://img.skitch.com/20120426-jfu9fj5c17y5rfa9392y48xmb7.jpg
          14. GeoServer + PostGIS
          15. http://www.geops.de/blog/64-spatial-data-and-drupal-7
          16. Mapping Office hours log
          17. Notes + log
          18. https://docs.google.com/document/d/19F8XCwyxQc4JwouNxDDspiDCjPAWFsVb--xxOyedpmw/edit?pli=1
          19. server-side-clustering
          20. [1:52pm] zzolo: there is still a pretty big hole when trying to map (and handle) lots of geospatial features in Drupal
          21. [1:53pm] phayes: zzolo - I think the answer there is a combination of ViewsGeoJSON / server-side clustering
          22. [1:58pm] dasjo: final question before i have to leave: do we need a server-side clustering like nod_ and me discussed? http://drupal.org/node/1547610
          23. [1:59pm] nod_: dasjo: phayes seems to agree, see backscroll
          24. [1:59pm] Brandonian: dasjo: Definitlely think it'd be a cool feature, not sure what other work is being done with that in php/drupal land though
          25. [2:00pm] zzolo: dasjo: my initial thought is no, if we can focus on toolking up thinks like postgis and tilestache. but since that is not really going to happen overnight, a good stop gap solon could be server side clustering
          26. [2:00pm] phayes: dasjo: Yes we need it! That's going to be critical as we scale to support larger data sets
          27. [2:00pm] dasjo: yep Brandonian zzolo. basically some parts of the database implementation and client-side handling should be pluggable
          28. [2:01pm] dasjo: but maybe we can come with some basic out-of-the-box implementations and leave it open to a database to optimize the clustering
          29. tilestash + drupal + leaflet
          30. log
          31. [1:59pm] tnightingale: yeah - tilestache is (using mapnik) is able to generate tiles on demand from a postgis backend
          32. [1:59pm] mackh: of data from the oil and gas commksion - like pipeline right-of-ways, access roads, wellsites, watercrossings
          33. [2:00pm] tnightingale: zzolo: so we can sync drupal data into postgis and render that data into tiles using mapnik+tilestache
          34. [2:00pm] zzolo: tnightingale: and mackh just to confirm, the postgi data is drupal data? (from sync_postgis, i assume)
          35. [2:00pm] zzolo: sweet
          36. [2:00pm] mackh: yes and no?
          37. [2:00pm] tnightingale: yep
          38. [2:01pm] mackh: stored in drupal, synced to postgis
          39. [2:01pm] tnightingale: but doesn't have to be
          40. [2:01pm] zzolo: awesome. thats what i was hoping. this is the stack i have been envisioning, but i don't get paid to do any of this stuff so i don't have time.
          41. [2:02pm] Brandonian: for the more python/mapnik literate in the room: How feasible is it to do mapnik renders based directly off drupal field data if the database is Postgres/postgis and stored properly?
          42. [2:02pm] tnightingale: Brandonian: that's essentially what we're doing with sync_postgis & tilestache
          43. [2:03pm] zzolo: Brandonian: what i image is getting your design in tile mill, export out the mapnik xml file, then it should be pretty easy
          44. [2:03pm] tnightingale: using a mapnik xml file produced in tilemill as our style guide
          45. [2:06pm] tnightingale: zzolo: we also have a rough cut at a tilestache config management module on g.h
          46. [2:06pm] phayes: ooo! link tnightingale?
          47. [2:07pm] phayes: Oh tnightingale, what's the status of D7 Spatial-tools?
          48. [2:07pm] zzolo: tnightingale: you have a link. i am actually gonna try to get this stack running locally this week as part of my presentation at the TC Drupal camp
          49. [2:07pm] mackh: https://github.com/affinitybridge/drupal-tilestache]
          50. [2:07pm] zzolo: i think this is definitely the future of geo
          51. [2:07pm] tnightingale: re: tilestache module - still pretty rough, be warned
          52. [2:08pm] zzolo: and i think postgis sync is the way to go to handle goespatial data and spatial querying.
          53. https://github.com/affinitybridge/drupal-tilestache
          54. https://img.skitch.com/20120426-jfu9fj5c17y5rfa9392y48xmb7.jpg
          55. search api
          56. [2:08pm] mackh: i also want to extend search api to return WKT onto maps
          57. [2:08pm] mackh: from faceted results, hoping to get that client funded in the next 3 months
          58. Office hours finishing
          59. log
          60. [2:07pm] tom_o_t: Brandonian: perhaps schedule dedicated Q&A time for stuff general questions that aren't related to module development?
          61. [2:08pm] Brandonian: tom_o_t: Not a bad idea.
          62. [2:09pm] jeffschuler: tom_o_t++ … this has been super useful, but It's been more of a facilitated discussion on high-level geo in drupal topics rather than a time for folks to come get help or figure out how they can pitch in… different from core office hours http://drupal.org/node/1242856
          63. Use Case
          64. Online-Biodiversitätsportale mit Indicia, Drupal und OpenLayers
          65. http://www.fossgis.de/konferenz/2011/programm/events/239.en.html
          66. CivicApps
          67. http://civicapps.org/
          68. OpenPublic Map Visualization Feature
          69. http://www.openpublicapp.com/map-visualization-feature
          70. broken?
          71. Geofield proximity updates by brandonian
          72. http://drupal.org/node/1469956#comment-6025452
          73. http://en.wikipedia.org/wiki/Haversine_formula
      3. Database
        1. MySQL Spatial
          1. http://dev.mysql.com/doc/refman/5.0/en/spatial-extensions.html
        2. PostGIS PostreSQL
          1. http://postgis.org/
        3. SOLR
          1. MetaCarta - GeoSearch Toolkit for Solr (prorietary)
          2. http://www.metacarta.com/products-overview.htm
      4. Logic
        1. GEOS
          1. https://github.com/phayes/geoPHP/wiki/GEOS
      5. Steps
        1. Cluster center
          1. http://www.biomedware.com/files/documentation/boundaryseer/Wombling/Irregular_(point)_wombling.htm
          2. http://www.biomedware.com/files/documentation/boundaryseer/Wombling/Raster_wombling.htm#wombling_equations
      6. More
        1. Open
          1. Interactive Map Visualization Techniques for Open Data in Austria with Drupal
          2. Open Data
          3. Open Data Handbook
          4. http://blog.okfn.org/2012/02/22/announcing-the-open-data-handbook-version-1-0/
          5. Berlin Open Data Strategy
          6. http://www.scribd.com/doc/83193044/Berlin-Open-Data-Strategy-English-Abstract
          7. Open Data in Austria
          8. Open3 - Netzwerk zur Förderung von OpenSociety, OpenGov und OpenData in Österreich
          9. http://www.open3.at
          10. Datenplattformen Österreichs
          11. http://data.linz.gv.at/
          12. http://data.wien.gv.at/
          13. Open Data Visualization
          14. visualization of time-oriented data (buch)
          15. http://visweek.org/visweek/2011/paper-session/all/infovis
          16. Open Data Visualization in Austria
          17. Open Data & Data Driven Journalism - Tools & Best Practices (Robert Harm)
          18. http://www.slideshare.net/robertharm/open-data-data-driven-journalism-tools-best-practices
          19. Open Data Mapping
          20. geocommons
          21. http://geocommons.com/
          22. degree confluence
          23. http://www.confluence.org/
          24. Open Data Mapping in Austria
          25. Geo-Datenplattformen Österreichs
          26. http://data.linz.gv.at/daten/Geodaten
          27. http://data.wien.gv.at/katalog/basiskarten
          28. http://www.kartenwerkstatt.at
          29. AustroFeedr - Drupal + OpenLayers Use Case
          30. http://www.austrofeedr.at
          31. http://demo.austrofeedr.at
          32. Linked Open Data Austria - Drupal + OpenLayers
          33. http://austria.drupaldata.com
          34. Linked Open Geodata Meetup
          35. http://www.meetup.com/Vienna-Semantic-Web-Meetup/events/23088111/
          36. geoland.at
          37. http://www.slideshare.net/langegger/linked-open-geodata
        2. Web Mapping
          1. http://en.wikipedia.org/wiki/Web_mapping
          2. Classification
          3. static vs dynamic
          4. http://kartoweb.itc.nl/webcartography/webmaps/classification.htm
          5. http://en.wikipedia.org/wiki/Geosocial_networking
          6. Collaborative mapping
          7. http://en.wikipedia.org/wiki/Collaborative_mapping
          8. OpenStreetMap
          9. Google Map Maker
          10. Licensing
          11. http://mashable.com/2012/01/19/google-maps-world-bank/
          12. Wikimapia
          13. http://wikimapia.org/
          14. Österreich
          15. Gomogi
          16. http://www.gomogi.com/
          17. micheal diener
          18. FOSSGIS UG AT
          19. fossgis@spektral.at
          20. http://wiki.alpine-geckos.at/wiki/FOSSGIS_UserGroup_Austria
          21. http://www.alpine-geckos.at/category/geowissenschaften/
        3. Animation
          1. Examples
          2. Windhistory
          3. http://windhistory.com/map.html#9.00/40.1737/-113.1458
        4. People
          1. Underdark GIS
    3. Implementations
      1. Solr clustering
        1. http://stackoverflow.com/questions/8399152/how-to-best-do-server-side-geo-clustering
        2. Outdated localsolr
          1. https://issues.apache.org/jira/browse/SOLR-773
        3. Implementierung
          1. http://blog.sybit.de/2010/11/geografische-suche-mit-solr/
        4. Good discussion
          1. http://www.mail-archive.com/solr-user@lucene.apache.org/msg40651.html
      2. clusterPy
        1. http://code.google.com/p/clusterpy/
        2. http://www.rise-group.org/risem/clusterpy/index.html
      3. Google maps Perl impl + discussion
        1. http://flylib.com/books/en/2.367.1.102/1/
        2. siehe auch downloaded chm ebook
        3. K-mean
          1. Method
          2. 1. Select a center point for each of k clusters, where k is a small integer.
          3. 2. Assign each data point to the cluster whose center point is closest.
          4. 3. After all the data points are assigned, move each cluster's center point to the arithmetic mean of the coordinates of all the points in that cluster, treating each dimension separately.
          5. 4. Repeat from Step 2, until the center points stop moving.
        4. Hierachical clustering
          1. Method
          2. 1. Assign each point to its own cluster.
          3. 2. Calculate the distance from each cluster to every other cluster, either from their respective mean centers, or from the two nearest points from each cluster.
          4. 3. Take the two closest clusters and combine them into one cluster.
          5. 4. Repeat from Step 2, until you have the right number of clusters, or the clusters are some minimum distance apart from each other, or until you have one big cluster.
        5. Naïve grid-based clustering
          1. grid by display pixels / marker size
          2. assign points to clusters within grid
          3. order clusters by points
          4. make superclusters (heavy clusters claim their neighbors)
      4. Vizmo
        1. Hierarchical Clustering by Meaningful Units
        2. PHP, Symphony2, closed source?
        3. www.globalimpactstudy.org/wp-content/uploads/.../vizmo-poster.pdf
        4. http://www.globalimpactstudy.org/2011/12/open-source-presentation/
      5. Google MarkerClustering
        1. http://code.google.com/p/google-maps-utility-library-v3/wiki/Libraries#MarkerClusterer
        2. http://googlegeodevelopers.blogspot.com/2009/04/markerclusterer-solution-to-too-many.html
        3. http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclusterer/docs/reference.html
      6. Google maps php example
        1. Google maps haversine php example
        2. https://github.com/tuupola/php_google_maps/tree
        3. http://www.appelsiini.net/projects/php_google_maps/cluster.html?center=17.41075008,85.46194978&infowindow=&zoom=1
        4. http://www.appelsiini.net/2008/11/introduction-to-marker-clustering-with-google-maps
      7. PHp example
        1. http://web.archive.org/web/20071011143643/http://forum.sydphp.org/?a=topic&t=1074
        2. request
          1. http://uwmike.com/maps/dams/index.php.source
          2. http://uwmike.com/maps/dams/map_functions.js.source
          3. http://uwmike.com/maps/dams/map_data.php.source
          4. http://uwmike.com/maps/dams/style.css.source
        3. prep
          1. http://uwmike.com/maps/dams/data/dams_au.txt.source
          2. http://uwmike.com/maps/dams/data/create_inserts.php.source
          3. http://uwmike.com/maps/dams/data/create_clusters.php.source
      8. More
        1. PostGIS
          1. http://postgis.refractions.net/pipermail/postgis-users/2006-March/011431.html
        2. R-Project
          1. SGCS
          2. Spatial Graph based Clustering Summaries for spatial point patterns
          3. http://www.inside-r.org/packages/sgcs
          4. http://cran.r-project.org/web/packages/SGCS/
        3. Flex
          1. http://thunderheadxpler.blogspot.co.at/2008/12/clustering-20k-map-points.html
      9. Openlayers (client side)
        1. http://dev.openlayers.org/releases/OpenLayers-2.11/lib/OpenLayers/Strategy/Cluster.js
      10. Drupal 6 github
        1. https://github.com/ahtih/Geoclustering
        2. beschreibung
          1. * source data (points) is in the form of Drupal nodes
          2. * a new Drupal module maintains a DB table of multi-level geographic clusters, using hook_nodeapi() to track changes to source nodes and update the clusters table accordingly. Clusters table is accessible via a Views plugin
          3. * WFS module accesses clusters view and serves out both clusters and source nodes, with clustering level and bbox as request parameters
          4. * a new OpenLayers Strategy or layer type displays the map, selecting a suitable clustering level based on zoom and/or number of points in map view area
          5. http://drupal.org/node/622720#comment-3239286
          6. http://www.letsdoitworld.org/wastemap
      11. Geohash
        1. http://en.wikipedia.org/wiki/Geohash
        2. good presenation
          1. http://www.lucidimagination.com/sites/default/files/Lucene%20Rev%20Preso%20Smiley%20Spatial%20Search.pdf
        3. geohash explanation demo
          1. http://openlocation.org/geohash/geohash-js/
        4. SOLR-2155
          1. edge n-gram'ed geohashes with a PrefixTree/Trie search algorithm
          2. https://github.com/dsmiley/SOLR-2155
          3. http://wiki.apache.org/solr/SpatialSearch#SOLR-2155
        5. SOLR
          1. http://lucene.apache.org/core/3_6_0/api/contrib-spatial/index.html?org/apache/lucene/spatial/geohash/GeoHashDistanceFilter.html
          2. https://issues.apache.org/jira/browse/SOLR-2155
          3. A new geospatial framework for Lucene and Solr
          4. https://github.com/spatial4j/spatial4j
        6. MongoDB
          1. http://www.mongodb.org/display/DOCS/Geospatial+Indexing
        7. PHP additional hilbert-curve
          1. http://www.phpclasses.org/package/6202-PHP-Generate-points-of-an-Hilbert-curve.html
          2. http://stackoverflow.com/a/9645315
        8. geoPHP integration
          1. https://github.com/phayes/geoPHP/issues/32
      12. Geohash with Drupal
        1. Geospatial searching with solr 3.x
          1. http://drupal.org/node/1187888
        2. Apachesolr geo sandbox
          1. http://drupal.org/sandbox/pwolanin/1497066
    4. Libraries / Vendors
      1. http://www.maptimize.com/
        1. Maptimize can deal with up to 50,000 markers - but the underlying algorithm can handle over one million!
        2. http://v2.maptimize.com/faq#
        3. http://seb.box.re/2009/5/1/maps-geolocalization-and-optimization-with-maptimize
    5. Comparison, state of the art
  3. Use cases
    1. GeoRecruiter
  4. Conception
    1. Geocluster
      1. geocluster_views_post_execute
        1. not very flexible, prefer to do plugins
      2. views_plugin_style_geocluster extends views_plugin_style_geojson
        1. views_geojson has complicated _views_geojson_render_fields
      3. geocluster_plugin_style_geofield_map extends geofield_map_plugin_style_map
        1. fields already rendered by field handler post execute
      4. geocluster_handler_field_geofield extends geofield_handler_field
      5. ähnlich wie groupby, get_aggregation_info ?
      6. display that uses another display
        1. datenquelle = andere view
        2. Subtopic 2
      7. queryhandler clustering
  5. Implementation
    1. GeoRecruiter
      1. Daten
        1. GeoTaxonomie verwenden / geofield
          1. jobs
          2. bezirke
      2. Suche
        1. Search API integration
          1. http://drupal.org/project/search_api_location
      3. Job
        1. Job location auf karte anzeigen
      4. Mapping & Recruiter
        1. http://drupal.org/node/1254716
        2. by Adam S, based on OpenPublic