Shapefile in SVG konvertieren und interne Daten behalten?

9

Ich bin sehr neu in GIS. Ich habe ein Tutorial gefunden, wie man mit Python-Werkzeugen ein Choroplethen macht. Ich möchte ihm folgen, aber meine eigenen Daten und Karten verwenden. Das Tutorial verwendet jedoch eine US-Karten-SVG-Datei, und ich muss eine CA-Postleitzahlenkarte verwenden. Die einzige Karte, die ich in einem Shapefile aus der US-Volkszählung gefunden habe. Ich habe versucht, kartograph.py zu verwenden, um es in SVG zu konvertieren, aber es verliert dabei die Postleitzahl in der Datei. Wie kann ich die Datei in SVG konvertieren und jeden Pfad als entsprechende Postleitzahl identifizieren?

Ich versuche, dem Tutorial zum Erstellen einer thematischen Karte für den US-Landkreis mit kostenlosen Tools zu folgen . Das sollte Ihnen eine Vorstellung davon geben, was ich versuche, nur dass ich keine SVG-formatierte Karte habe.

Ich habe Verweise auf Javascript-Dienstprogramme gesehen. Ich habe noch nie Javascript verwendet, aber ich nehme an, ich könnte etwas Einfaches verwenden.

chrisfs
quelle

Antworten:

5

Schauen Sie sich die Kartograph-Bibliothek an: http://kartograph.org/ . Dies könnte den Job für Sie erledigen. Es gibt gute Beispiele und Tutorials auf der Website.

Es gibt auch das QGIS simplesvg Plugin, das, wenn ich mich richtig erinnere, SHP-Attribute als ID in der SVG behält: http://www.duif.net/qgis/simplesvg/

Chris P.
quelle
Ich habe kartograph.py bereits ausprobiert und es schien die ID nicht zu behalten. Das ist der Tipp zu QGIS. Ich werde heute Abend mehr daran arbeiten.
chrisfs
Ich erinnere mich, dass es bei mir mit Kartograph funktioniert hatte. Ich kann mir später meine alten Projekte ansehen. Haben Sie dieses Beispiel von der Kartograph-Website ausprobiert: kartograph.org/docs/kartograph.py/… Mit welcher Software lesen Sie die SVG-Datei?
Chris P
1

Ich habe es geschafft, das Endergebnis zu erzielen, aber mit etwas mehr Aufwand als ideal.

  1. Konvertieren Sie das Shapefile mithilfe von https://mapshaper.org/ in ein SVG .
  2. Verwenden Sie QGIS, um das Shapefile in CSV zu exportieren ( https://gis.stackexchange.com/a/135806 ).
  3. Öffnen Sie die CSV und kopieren Sie die Spalte, die Sie behalten möchten. Fügen Sie mit einem Texteditor die Daten zu jedem pathin der SVG-Datei hinzu. Ich habe Sublime Text verwendet, aber jeder Editor wird es tun. Was hilft, ist, dass Sie alle gleichzeitig einfügen können, anstatt sie einzeln auszuführen, insbesondere wenn Sie viele Pfade haben.

Ich habe dies bisher nur einmal gemacht und die Reihenfolge scheint korrekt zu sein. Ich weiß jedoch nicht, ob dies immer der Fall sein wird, daher würde ich schnell prüfen, ob die Daten mit dem Gebiet übereinstimmen.

duxk.gh
quelle
0

Siehe AsSVG , das Teil der Standarddistributionen von PostGIS (2005), GRASS (2008, v6.3) und Spatialite (v2.3.1) ist.

Eine aktualisierte Version des ArcGIS-Skripts und der Toolbox befindet sich auf Github openwebcc / assvg .

Nach meiner Erfahrung werden die ausgegebenen SVG-Dateien in einem Browser gut angezeigt, aber in Inkscape und Illustrator sind sie so groß skaliert, dass sie nicht auf der Seite sind. Eine Problemumgehung besteht darin, alle zu importieren, auszuwählen und dann an die Seitenhöhe und -breite anzupassen (wobei darauf zu achten ist, dass das Seitenverhältnis "Sperren" aktiviert ist).

ArcGIS Toolbox

matt wilkie
quelle