In letzter Zeit habe ich viel Zeit damit verbracht, perfekt gute Feldnamen wie "Prozent der Bürger ab 25 Jahren mit einem Bachelor-Abschluss oder höher" in "edbchogtr" umzuwandeln, um die 10-stellige Feldnamenbeschränkung des DBF zu erfüllen.
In einem anderen Thread ( "Seltsamkeiten" in der technischen Spezifikation von Shapefile ) bemerkte Geospatialpython : "Trotz der Mängel, Seltsamkeiten und Einschränkungen des Shapefile-Formats ist es in und um das GIS-Gebiet hartnäckig geblieben. Jeder andere Versuch, es zu ersetzen, war zu aufgebläht einfache Vektorspeicherung oder zu proprietär. "
Diese Aktivität in Verbindung mit dem Kommentar von Herrn Lawhead hat mich gefragt:
- Wurden jemals explizite Versuche unternommen, das Shapefile als allgegenwärtiges Datenspeicher- und Austauschformat von GIS zu ersetzen?
- Gibt es Anwärter?
- Warum sind konkurrierende Formate gescheitert?
- Hat Esri sich geweigert, sie zu unterstützen, oder handelt es sich bei der Geschichte nur um eine technologische Trägheit?
- Wenn es keine Versuche gegeben hat ... warum nicht?
Es scheint, als könnten wir uns als GIS-Entwickler und -Nutzer etwas verbessern.
Antworten:
Dies ist ein Thema, das immer wieder auftaucht. Möglicherweise habe ich nicht die richtige Antwort, aber ich kann Ihnen meine persönliche Meinung mitteilen .
Der Grund, warum sie unterstützt werden, kann auf mehrere Merkmale über sie zurückgeführt werden, lassen Sie mich einige erwähnen.
Erstens gibt es eine Spezifikation . Ich meine, ich bin Anfang dreißig und dieses Ding gab es, seit ich ein Teenager war. Man kann also mit Sicherheit sagen, dass es diese Spezifikation schon seit einiger Zeit gibt. Natürlich gibt es auch einige andere Formate, die veröffentlicht werden, aber der Unterschied zu diesem ist, dass ...
Es ist relativ einfach! Es baut auf dem DBF-Format auf , das zu diesem Zeitpunkt bereits existierte und auf mehreren Plattformen / Betriebssystemen weitgehend unterstützt wurde. Es gab bereits Parser, die die Hälfte dieses Formats (den DBF-Teil) lesen konnten, wodurch die Unterstützung des zusätzlichen Zusatzes vereinfacht wurde. Sie haben eine Geometrie? Sicher, serialisiere es einfach und schreibe es. Du bist fertig. Vergleichen Sie dies mit einer Berichterstattung ! Versuchen Sie, jemandem in einfachen Worten zu erklären, was eine Topologie-Bereinigung bewirkt . Es ist nicht trivial, eine topologisch saubere Berichterstattung zu schreiben.
Vor allem glaube ich, dass der Hauptgrund für die Beliebtheit von Shapefiles darin besteht, dass sie sowohl in Open Source- als auch in Proprietary-Systemen unterstützt werden . Welches GIS unterstützt keine Shapefiles?!? Unerhört.
Als Ersatz hören wir von File GeoDatabases und Spatialite . Beide Formate sind in Bezug auf Funktionalität, Flexibilität, Geschwindigkeit usw. Shapefiles weit überlegen. Auf ihre eigene Art haben sie bestimmte Dinge, die sie in verschiedenen Bereichen besser machen als andere, aber ein Vergleich von Spatialite und FileGDB ist sicherlich nicht in Frage zu stellen.
Glaube ich, dass eines dieser Formate Shapefiles ersetzen wird? Nicht in ihren aktuellen Inkarnationen .
Warum?
Nicht wegen eines technologischen Arguments (ich habe doch gesagt, dass sie in diesem Aspekt überlegen sind), sondern wegen etwas anderem: der Lizenzierung.
Also, was sind ihre Probleme?
FileGDB :
FileGDB bietet Interoperabilität über die neue FileGDB-API. Trotzdem wird diese API im Binärformat bereitgestelltvon ESRI. Dies ist keine Spezifikation. Nachdem ich in der Vergangenheit im GeoDatabase-Team gearbeitet habe, kann ich Ihnen sagen, dass dies, im Gegensatz zu allen Verschwörungstheoretikern, überhaupt nicht böswillig ist. Dies liegt daran, dass sich die Interna der GeoDatabase bei jeder Veröffentlichung ändern. Das Veröffentlichen einer vollständigen Spezifikation würde im Grunde bedeuten, alle Details darüber anzugeben, wie alles gewartet werden soll, und dann die Änderungen des Formats bei jeder jährlichen Veröffentlichung sorgfältig zu dokumentieren. Das ergibt keinen Sinn. Die FileGDB-API abstrahiert all diese kleinen Änderungen, auch wenn es sich nicht um eine Spezifikation handelt. Und jetzt kann es plattformübergreifend eingesetzt werden! Wohlgemerkt, das ist ein großer Schritt vorwärts! Angesichts des konservativen Charakters von ESRI ist dies definitiv eine Reaktion in die richtige Richtung.
Und dennoch macht die reine Binärunterstützung niemanden in der Open Source-Welt allzu glücklich. Wie können Sie dann den Vorteil nutzen, Code zu portieren, um ihn einer anderen Linux-Variante mitzuteilen, wenn ESRI dies nicht unterstützt? Das kannst du nicht. Das macht Open Source so mächtig, und jetzt können Sie das nicht mehr ausnutzen. Wenn ESRI beschließt, Debian nicht mehr zu unterstützen, ist das alles. Du bist fertig. Und es gibt nichts, was Sie tun können, um es zu ändern.
Spatialite :
Spatialite ist fantastisch, weil es die gesamte kostenlose Funktionalität von SQLite erhält . SQLite wird überall verwendet. Es ist auf Ihrem Android-Handy, auf Ihrem iPhone / iPad, in Firefox, in Google Chrome und auf mehreren kommerziellen Embedded-Geräten - kann für immer weitergehen. Um es wirklich in ein Geoformat zu verwandeln (und nicht nur dumme Bounding-Box-Operationen auszuführen), muss dieselbe Geometriebibliothek verwendet werden, die PostGIS verwendet: GEOS . Leider basiert GEOS auf einer weiteren, noch besseren Geometriebibliothek, die als JTS bekannt ist . Alle Algorithmen in JTS sind extrem leistungsfähig. Wo liegt also das Problem?
Nun, JTS ist als Open Source LGPL lizenziert und LGPL ist eine virale Lizenz . JTS ist LGPL, bedeutet, dass GEOS LGPL ist, bedeutet, dass Spatialite statisch mit GEOS LGPL verbunden ist. Das ist scheiße. Warum? Ohne zu viele Erklärungen zu Open-Source-Lizenzen zu machen, kann ich Ihnen sagen, dass ich beispielsweise nicht Spatialite für eine iPhone-App verwenden kann, da dadurch meine gesamte App automatisch Open Source wird (iOS erlaubt nur statische Verknüpfungen). Jede Art von GPL-Lizenz erschreckt (vernünftigerweise) den Mist von ESRI, und so werden sie ihn nicht mit einer 10-Fuß-Stange berühren. Daher unterstützt ArcGIS, das beliebteste GIS-System der Welt, Räumlichkeiten von Haus aus nicht (und wird dies wahrscheinlich auch nie tun). Dadurch wird es automatisch als funktionsfähiges Format gelöscht.
Und so kehren wir zu beschissenen Shapefiles zurück, die überall unterstützt werden.
Update :
Anscheinend war meine Antwort so kontrovers, dass jemand entschied, dass es in Ordnung sei , die gesamte Bedeutung meiner Antwort frei zu bearbeiten und zu ändern , um ihren Standpunkt darzulegen. Bitte tu das nicht. Wenn Sie mit mir nicht einverstanden sind, ist das völlig in Ordnung, posten Sie einfach Ihre Meinung in einer anderen Antwort und lassen Sie die Community entscheiden. Ich habe die Änderungen an meiner Antwort rückgängig gemacht, um die ursprüngliche Bedeutung zu zeigen. Ich füge dieses Update hinzu, falls Sie die bearbeitete Antwort lesen, in der behauptet wird, SQLite sei ein brauchbares Format.
quelle
Das SHP + SHX-Teil selbst ist nicht so schlecht. Das eigentliche Problem liegt im DBF-Teil. Das könnte mit einem neuen Format geschehen, das Unicode und alle möglichen modernen Feldtypen unterstützt. Das Problem ist, dass es von der gesamten Software gut unterstützt wird.
quelle
GeoPackage ist ein vielversprechender Nachfolger. Es ähnelt Spatialite, stammt jedoch von OGC und wurde von vielen Programmen übernommen, einschließlich ArcGIS und OGR.
Siehe die offizielle Homepage http://www.geopackage.org/ und zB diese Präsentation: http://www.slideshare.net/JeffYutzler/geopackage-swg-overview
quelle
Zumindest Spatialite hat das vor, siehe zB diese Präsentation http://www.sourcepole.ch/assets/2010/9/10/foss4g2010_spatialite.pdf
Andererseits glaube ich, dass der Hauptgrund für das Scheitern darin besteht, dass shp von vielen Anwendungen gut unterstützt wird und nur geringfügige Mängel aufweist.
Andere teilen diese Meinung ebenfalls:
http://www.spatiallyadjusted.com/2010/09/16/spatialite-is-not-the-shapefile-of-the-future/
Weitere Gedanken zu Esri File Geodatabase, Spatialite und Autodesk SDF hier: http://www.spatialdbadvisor.com/blog/121/the-shapefile-manifesto
quelle
Esri bewirbt File Geodatabases seit mehreren Jahren als Ersatz für Shapefiles.
In jüngerer Zeit haben sie eine API bereitgestellt , die alle Kuriositäten verbirgt.
quelle
Ein XML-Dialekt wie GML ist definitiv nicht für den Betrieb großer Datenmengen optimiert, sondern kann als Austauschformat zwischen Software oder zwischen Plattformen verwendet werden.
Ich glaube nicht, dass es ein Problem mit der Lizenzierung gibt (siehe Ragi Yaser Burhums Post über die viralen Eigenschaften von Spatialite), und es ist ziemlich einfach, vorhandene Parser bei Bedarf anzupassen.
quelle
Um dies aus einer anderen Perspektive zu betrachten, bin ich mir nicht sicher, ob die Verwendung von "Prozentsatz der Bürger ab 25 Jahren mit einem Bachelor-Abschluss oder höher" ein perfekter Fachname ist. Während das Mischen von Leerzeichen und Apostrophen behandelt werden kann, ist es wahrscheinlicher, dass beim Schreiben von Code oder Abfragen Fehler auftreten.
Meiner Meinung nach sollte sich die Zukunft der Geodatenverteilung auf das Web und die Webdienste konzentrieren, und die WFS- Spezifikation (die GML verwendet) ist offen und etabliert. GeoJSON ist kleiner und es kann einfacher sein, mit JavaScript zu arbeiten. Bei Kompression sind die Größen jedoch vergleichbar.
Ich möchte auch eine Stimme für die Personal Geodatabases von ESRI abgeben . Möglicherweise handelt es sich um ein häufig fehlerhaftes Microsoft-Format, es unterstützt jedoch ODBC, SQL-Abfragen und -Sichten und ermöglicht es Nicht-Entwicklern, einfache Dateneingabeformulare zu erstellen und mindestens einige Datenintegritätsprüfungen (Datentypen, Längen, eindeutige Werte) durchzuführen. .
quelle