2013-09-26 7 views
5

Ich habe gdal 1.10.1 und topojson 1.4.0 auf meinen MacOs 10.7.5 installiert. Ich habe die ne_110m_ocean Form Natural Earth heruntergeladen.Wie man Ozeanformdatei in topojson umwandelt

ich erfolgreich die Shape-Datei in GeoJSON transformiert:

ogr2ogr \ 
    -f GeoJSON \ 
    ocean.json \ 
    ne_110m_ocean.shp 

Dann verwandelte ich die GeoJSON in topojson:

topojson \ 
    -o ocean_tj.json \ 
    ocean=ocean.json \ 

Als ich die GeoJSON alles funktioniert gut Datei plotten verwenden.

d3.json("ocean.json", function(json) { 
    svg.selectAll("path") 
.data(json.features) 
.enter() 
.append("path") 
.attr("d", path) 
.style("fill", "steelblue"); 
}); 

Wenn ich die topojson Datei plotten, daß anstelle der Polygone der Ozeane zu haben ich die Polygone der Länder bekommen !!!!

d3.json("ocean_tj.json", function(topology) { 
var ocean = topojson.feature(topology, topology.objects.ocean); 
svg.append("path") 
.datum(ocean) 
.attr("d", path) 
.style("fill", "red"); 
}); 

Kann jemand helfen?

Vielen Dank im Voraus

+0

Ich habe auch einige seltsame Ergebnisse, wenn sie mit dieser Datei arbeiten. Grundsätzlich hatte ich einen Streifen in der Mitte der Daten, wo der Ozean und das Land umgekehrt waren. Ich habe [ShapeEscape] (http://www.shpescape.com/mix/) verwendet. Ich poste etwas in Google Groups und sehe nach, ob jemand da drüben irgendwelche Ideen hat. – user1614080

+0

Ich bin mir immer noch nicht sicher, warum das passiert, aber die Verwendung des 'no-force-im Uhrzeigersinn's behebt das Problem. Ich werde ein wenig mehr untersuchen und einen Fehlerbericht ausfüllen, wenn es notwendig ist. –

Antwort

4

die Option --no-force-clockwise Mit beheben das Problem:

topojson -o ocean_tj.json ocean=ocean.json --no-force-clockwise 
+0

Danke Pablo, das hat das Problem behoben. – poujoo

+2

Können Sie die Antwort akzeptieren? –

+1

Beispiel: http://bl.ocks.org/mbstock/6713736 – mbostock

Verwandte Themen