Ich habe in letzter Zeit einige Hintergrundinformationen zu Kartogrammen gelesen und bin auf interessante Alternativen gestoßen - Value-by-Alpha- Karten .
Das Konzept wird hier ausführlicher beschrieben und das vollständige Papier ist [nicht offen bis] [hier] verfügbar . 2 .
Es gibt einige Details zur Implementierung auf Indiemaps- Blog :
... alle oben genannten Grafiken wurden mit ActionScript 3 erstellt, wobei nur ein Texteditor und das neueste kostenlose Flex SDK verwendet wurden ...
Wie können Sie so etwas in ein GIS-Paket (ArcGIS? QuantumGIS?) Implementieren? Oder R und ggplot2? Oder Python?
python
cartography
visualisation
r
radek
quelle
quelle
Antworten:
Hier ist eine Methode zum Durchführen von Alpha By Value in QGIS
http://nathanw.net/2013/06/27/alpha-by-value-choropleth/
Sie können die neuen
ramp_color
undscale_linear
Funktionen und Daten definierten Symbole verwendenquelle
In R können Sie die Polygone einlesen und auf einem Gerät zeichnen, das Transparenz unterstützt. Hier verwende ich das Gerät windows (), R 2.12.0 mit den Paketen rgdal und sp.
quelle
Ich würde vorschlagen, dass Sie sich die Geo Vista-Website und deren Software ansehen. Das Visual Inquiry Toolkit bietet ein GUI-Programm zum Implementieren der bi-variablen Chloropleth-Karten (ich weiß, dass ein Poster hier in diesem Projekt arbeitet und möglicherweise auf andere Ressourcen verweisen kann).
Ich denke, der Cartogrammer-Blogbeitrag ist ausreichend, um die Technik zu erklären, aber hier ist ein ziemlich cooler Artikel (öffentlich zugänglich), um seine Verwendung in der Praxis zu sehen.
Geovisuelle Analysen zur Verbesserung der statistischen Interpretation von räumlichen Scans: Analyse der US-amerikanischen Gebärmutterhalskrebssterblichkeit Jin Chen, Robert E. Roth, Adam T. Naito, Eugene J. Lengerich und Alan M. MacEachren International Journal of Health Geographics 2008, 7:57
Ich hoffe, auch einige Codebeispiele für Python und R zu sehen! Grundsätzlich kann jedes Programm, das ein Farbschema mit zwei Maßstäben (oder ein bivariates Farbschema) implementieren kann, einen Wert über eine Alphakarte erstellen. Obwohl alle Implementierungen, die ich bisher gesehen habe, für Choropleth-Karten sind, gibt es keinen Grund, warum Sie dies nicht auch für eine raster- oder punktbasierte Karte implementieren könnten.
Kürzlich habe ich einen Blog-Beitrag über die Implementierung in ArcGIS verfasst, in dem es darum geht, mithilfe von Alpha-Maps mit ArcMap einen Mehrwert zu erzielen . Grundsätzlich müssen separate Layer für eine bestimmte Transparenz erstellt und anschließend die in ArcMap verfügbaren Vektorbearbeitungswerkzeuge verwendet werden, um die erforderliche bivariate Legende zu erstellen.
quelle
Dies könnte uDig sein, indem ein SLD-basierter Stil verwendet wird, der die% -Opazität mithilfe der mathematischen Funktionen in der OGC-Filterspezifikation berechnet. Ich bin mir nicht sicher, wie effizient es wäre, könnte aber durchaus als Proof of Concept verwendet werden.
Ich habe eine Demo unter http://ian01.geog.psu.edu/geoserver/www/cartogram/alphabyvalue.html mit einer Diskussion unter http://ian01.geog.psu.edu/geoserver_docs/cartogram/cartogram erstellt. html . Es stellt sich heraus, dass es ziemlich einfach ist.
(wo 30e6 die Bevölkerung von Kalifornien ist)
quelle
Sie können GDAL verwenden, um dies entweder über VRT-Dateien oder durch programmgesteuertes Festlegen der Werte zu tun, indem Sie auf das vierte Band eines RGBA-Datasets (z. B. GeoTiff) zugreifen. Ich werde zeigen, wie man eine VRT verwendet, weil es etwas einfacher ist: Ausgehend von einem RGB-Tiff könnten Sie ein Palettenbild gemäß den FAQ erstellen :
Öffnen Sie im Bearbeitungsschritt das Ergebnis
rgb.vrt
und ändern Sie die Farbtabelle nach Bedarf, indem Sie diec4
Werte (0-255) anpassen , um Alpha festzulegen:quelle
Ich mag das - ich hatte noch nie wirklich an dieses Konzept gedacht.
Wenn Sie in ArcGIS Zugriff auf FME oder die Data Interoperability-Erweiterung haben, gibt es eine Reihe von Transformern, mit denen Sie Bandwerte in einem Raster-Dataset, einschließlich Alphaband, bearbeiten können.
Zuerst würde ich RasterExpressionEvaluator, RasterInterpretationCoercer und RasterBandOrderer ausprobieren. Dann können Sie die Daten in jedes GIS / Visulization-Tool importieren / verwenden.
Ein Kollege von mir verwendete eine ähnliche Idee, um Kennwörter 'versteckt' in einem Rasterbild zu erstellen: http://www.fmepedia.com/index.php/PasswordGenerator
Offenlegung: Ich arbeite für Safe Software - Hersteller von FME.
quelle
Eine weitere Beschreibung von Josh zur Implementierung in QGIS
Sehr gutes und detailliertes Tutorial.
quelle