Warum funktioniert ein Teil der GML -> KML-Konvertierung in Google Maps nicht?

11

Ich habe einen Kunden, der die Häufigkeit und Sterblichkeit von Krebs durch lokale / einheitliche Behörden in ganz Großbritannien visualisieren möchte. Ich habe Ordnance Survey-Daten verwendet, um die Grenzen der Behörden im GML-Format abzurufen, und alle als eine große GML-Datei gespeichert. Ich habe QGIS verwendet, um die Daten in das KML-Format zu konvertieren. Ich habe die Daten jetzt in Fusion Tables und alles sieht gut aus, bis auf eine offensichtliche Lücke in der Abdeckung .

Wenn ich mir die KML-Daten für die fehlende lokale Behörde ansehe, wurden sie überhaupt nicht importiert (dh die Zelle ist leer). Ich habe versucht, die Geometrie erneut hochzuladen (und erneut herunterzuladen und erneut zu konvertieren), und Fusion Tables lehnt sie definitiv als KML ab. Ich habe irgendwo gelesen, dass Fusion Tables etwas mit Ihrer Geometrie herumspielen kann, also habe ich die KML-Datei hochgeladen und Google Maps direkt darauf gerichtet, und das hat auch nicht funktioniert (ich weiß nicht, wie gut ein Test ist).

Ich weiß nicht, dass ich ursprünglich eine gültige GML-Datei erstellt habe (ich kenne den Standard nicht), aber sie schienen in QGIS in Ordnung zu importieren, und das Endergebnis sieht abgesehen von diesem einen Ort großartig aus. Der Bereich ist in QGIS sichtbar, wenn ich die GML-Datei lade. Ich weiß also nicht, ob QGIS ungültige KML erzeugt oder ob Google Maps / Fusion Tables möglicherweise Einschränkungen aufweist.


Ich habe die OS Open-Daten heruntergeladen, auf die @nhopton zeigt , die entsprechende Ebene in QGIS geladen ( Ebene -> Vektorebene hinzufügen ), sie als KML gespeichert ( Ebene -> Speichern unter ) und in Fusion Tables hochgeladen. (Beachten Sie, dass ich mit dem CRS nichts explizit gemacht habe). Im Allgemeinen hat es gut funktioniert (und vor allem der bestimmte Bereich, der bei meiner ersten Methode versagt hat, hat damit funktioniert, also habe ich die fehlende Geometrie!). Es fehlen jedoch wieder einige Bereiche. Und in diesem Fall habe ich viel weniger an den Daten selbst getan, sodass es nicht so einfach ist anzunehmen, dass ich die Daten nur durcheinander gebracht habe. Irgendwelche Ideen, warum meine Endergebnisse so aussehen ?

Andy
quelle
1
Sie können QGIS "Geometrievalidität prüfen" ausprobieren. Möglicherweise ist das Polygon ungültig.
Underdark
Das Renfrewshire kml hat eine ungültige Geometrie (in FME überprüft). Es scheint viele sich selbst schneidende Polygone zu geben. Ich würde Ihre ursprüngliche Quelle überprüfen.
Mapperz
2
Ich würde den Boundary-Line-Datensatz von OS OpenData ausprobieren: ordnancesurvey.co.uk/opendatadownload/products.html . Dies bietet lokale / einheitliche Autoritätsgrenzen für das gesamte GB in einer Formdatei.
nhopton
Später hinzugefügt: Die Boundary-Line-Ebene, die Sie benötigen, heißt "District_borough_unitary_region".
nhopton
2
@andy - Ich denke, Ihr Problem wird durch die schiere Größe der von QGIS erzeugten KML-Datei verursacht. Ich würde vorschlagen, dass Sie versuchen, das ursprüngliche Shapefile in QGIS zu laden und es dann zu vereinfachen (Vektor -> Geometrie-Werkzeuge -> Geometrien vereinfachen), indem Sie eine Toleranz von 12 oder mehr vereinfachen. Versuchen Sie zunächst 12. Konvertieren Sie dann das neue Shapefile in KML.
nhopton

Antworten:

1

@andy, ich wollte im Grunde das gleiche vorschlagen, was @nhopton vorgeschlagen hat. Die Größe der KML-Datei kann ein Problem verursachen. Das Vereinfachen von Geometrien kann das Problem beheben. Ich würde jedoch empfehlen, vorsichtig zu sein, da dies die Auflösung Ihrer Daten verringern kann. Ich denke jedoch nicht, dass dies notwendigerweise ein Problem für Ihren speziellen Datensatz sein wird. Wenn Sie diese Bedenken haben, können Sie auch versuchen, Ihre Daten in mehrere kleinere Dateien aufzuteilen und einige KML-Dateien anstelle einer riesigen zu erstellen.

G. Oxsen
quelle
1

Das Problem liegt wahrscheinlich an der Beschränkung der Fusionstabellenebene mit Multipolygon-Funktion. Ich erinnere mich nicht genau, was die Grenze ist, aber es sind ungefähr 3-5 größte Teile eines Multipolygons, die gerendert werden können. Ich schlage vor, Ihre Tabelle aufzulösen, um eine Funktion nach Multipolygon-Teil zu erhalten.

Unter dem Radar
quelle