Wie stellt Google seine gestalteten Karten bereit?

14

Wie wir alle wissen, hat Google das Webmapping mit der Einführung von Google Maps geändert. Zum Zeitpunkt des Schreibens sind gekachelte Karten die Norm für Web-Mapping.

Mit ArcGIS Server können Sie beispielsweise so viele Layer wie möglich in zwischengespeicherten Karten-Services zwischenspeichern und dann bei Bedarf einen beliebigen operativen Layer über dynamische Services oder Feature-Services einbinden.

Sobald Sie einen zwischengespeicherten Dienst haben, können Sie die Kartografie nicht mehr optimieren, ohne erneut einen neuen Cache erstellen zu müssen.

Die v3 Google Maps API können Sie Stil der Google Fliesen Basemap. Mit dem Styling-Assistenten können Sie fast alle Aspekte der Google Map nach Ihren Wünschen gestalten.

Ich kann aus einer API-Perspektive verstehen, wie Sie Ihre Stilanforderung in einem JSON-Objekt senden können.

Was ich wissen möchte ist, wie machen sie das am hinteren Ende? (Wäre gut, eine Referenz aufzunehmen)

Wenn ich mir den Styling-Assistenten mit Firebug ansehe und Änderungen vornehme, kann ich feststellen, dass neue GET-Anforderungen gestellt werden, um PNG-Bilder an den Client zurückzugeben.

Bildbeschreibung hier eingeben

Es gibt nahezu unbegrenzte Variationen, die Sie anwenden können, sodass nicht alle Fliesen vorgekocht und servierfertig sind. Daher kann ich nur davon ausgehen, dass sie diese Kacheln auf Anfrage erstellen?

Simon
quelle
1
Ich vermute, all die verschiedenen Feature-Typen und Labels sind vorgekochte transparente PNG-Kacheln, die für jede Anfrage am Back-End neu eingefärbt und zusammengefügt werden.
blah238
Gute Theorie. Wenn dies wahr ist, dann gäbe es VIELE vorgekochte Fliesen. Überlege, wie viele Kacheln es sowieso gibt, dann mal das nur, um Sea in jeder HEX-Farbe zu zeigen.
Simon
2
Nein, ich meinte, dass sie sofort neu gefärbt würden. Es ist viel einfacher, ein vorhandenes Bild einzufärben, als die tatsächliche Geometrie abzufragen und ein neues Bild von Grund auf neu zu rendern. Natürlich habe ich keine Ahnung, wie es wirklich funktioniert, wie Sie sagten, es ist nur eine Theorie :)
blah238
1
Das ist eine gute Theorie, blah238. Sie müssten lediglich die Palette im PNG und nicht die tatsächlichen Rasterdaten ändern.
Matthew Snape

Antworten:

9

In anderen Implementierungen (wie in unserer Implementierung ) erfolgt dies mit Palettenmodifikation. Sie können ein PNG-Bild schnell neu einfärben, ohne die tatsächlichen Daten zu berühren, wenn Sie die vollständige Originalpalette kennen.

Google macht das nicht. Sie verfügen wahrscheinlich über eine kachelbasierte Datenbank und Kacheln mit Vektordaten, die im laufenden Betrieb gerastert werden.

tmcw
quelle
Danke tmcw. Für eine korrekte Antwort suche ich jedoch eine mit Belegen. Könnte gut sein, dass wir nur theoretisieren können, wie sie es tun.
Simon
2
Viel Glück beim Auffinden von Belegen für nicht PR-geprüfte Details der Google-Infrastruktur :). Was mich zu dieser Schlussfolgerung führt (neben dem Flüstern von Googlern), ist die Anti-Aliasing-Qualität zwischen den Farben und die Fähigkeit, Features auf verschiedenen Ebenen zu entfernen, kombiniert mit den schnellen Neuerstellungszyklen.
tmcw
3

Ich weiß, dass dies nicht ganz das ist, wonach Sie suchen, aber ich dachte, dass Sie es trotzdem nützlich finden könnten. Haben Sie dieses Beispiel von Odoe gesehen, das CSS-Filter auf den Karten verwendet? Könnte außerhalb von Chrom begrenzt sein

http://www.odoe.net/apps/mapstyler/

https://github.com/odoe/MapStyler

David Wilton
quelle
ja, ich habe damit gespielt, um Bing-Antennen in Graustufen zu bringen. Es ist eine großartige Verwendung von CSS, aber die Kacheln erscheinen immer noch in Farbe und ändern sich nach dem Laden in X. Kann ein wenig ablenken. Verwandte q hier aber für gmaps API stackoverflow.com/questions/13564712/…
Simon
2

Es gibt zwei Patente, die ich gefunden habe, als ich diese Frage gestellt habe:

Dynamisches Karten-Rendering als Funktion eines Benutzerparameters US8103445

und

Bedarfsbasiertes Textur-Rendering in einem kachelbasierten Rendering-System US20110254852

Es konnten keine offiziellen Informationen darüber gefunden werden, wer diese oder ähnliche Schemata verwendet, aber ich denke, die Zeichnungen des zweiten Papiers sind recht einfach umzusetzen, und ich sehe keinen Grund, warum sie dies oder etwas noch Effizienteres nicht hätten umsetzen sollen die Zwischenzeit.

mxfh
quelle
Interessante Patente. Ich bin mir nicht sicher, ob sie das Styling komplett beherrschen, aber es ist eine interessante Lektüre.
Devdatta Tengshe