Was sind einige empfohlene Rahmenbedingungen für räumliche Daten in C ++ zu manipulieren? [geschlossen]

StackOverflow https://stackoverflow.com/questions/1046248

Frage

Was sind einige empfohlene Rahmenbedingungen für räumliche Daten in C ++ zu manipulieren?

Ich bin auf der Suche für ein Polygon-Objekt, zeigen, und einige Operationen wie Vereinigung, Schnitt, Entfernung und Größe des Gebiets. Ich brauche Koordinaten in WGS84 (lon, lat) und die Fläche in Quadratkilometern erhalten einzugeben.

Ich möchte einen Free / Open-Source-Framework bevorzugen, aber ich bin offen für Vorschläge.

Edit: Leider muss ich eine Nicht-GPL-Lösung. LGPL ist in Ordnung.

War es hilfreich?

Lösung

GEOS ist ein Open Source (LGPL) C ++ Geometrie / Topologie Motor. Könnten Sie passen?

Nützliche Orte für diese Sachen zu suchen sind diese nützliche Artikel auf der O'Reilly-Website und auch OSGeo , die eine Zusammenarbeit ist Open-Source-Unterstützung geospatial Sachen.

Andere Tipps

Allgemeine Geometriebibliothek auch vor kurzem die empfehlen wurde prüft und schließlich in die Sammlung akzeptiert von Boost C ++ Bibliotheken . Wie in Boost-enthalten ist, wird die GGL jetzt Boost.Geometry, genauer gesagt Boost.Geometry aka GGL, Allgemein Geometrie-Bibliothek namens .

Weitere nützliche Tools

  • ORFEO Toolbox (aka OTB) - eine Bibliothek von Bildverarbeitungsalgorithmus
  • MetaCRS -. Ein Projekt mehrere Vorsprünge umfasst, und systembezogenen Technologien koordinieren
  • libgeotiff zur alleinigen GeoTIFF Manipulation
  • Die CGAL Open Source Project bietet einen einfachen Zugang zu einer effizienten und zuverlässige geometrische Algorithmen in der Form einer C ++ Bibliothek. CGAL wird verwendet, in verschiedenen Bereichen, um geometrische Berechnung, wie zum Beispiel: Computer Grafiken, wissenschaftliche Visualisierung, Computer Aided Design und Modellierung, Geografisches Informationssystem, Molekularbiologie, die medizinische Bildgebung, Robotik und Bewegungsplanung, Mesh Generation, numerische Methoden.

  • Die Generic Geometrie Library (geometrylibrary.geodan.nl, die derzeit in "Vorschau 4") stellt eine generische Implementierung von Geometrie-Algorithmen, die Arbeit mit benutzerdefinierten Geometrien. Die Algorithmen umfassen einige bekannte und häufig Algorithmen als Punkt-in-Polygon erforderlich, Polygonfläche, Punkt-zu-Punkt-Abstand, Punkt-zu-Zeilenabstand, Zeilen Clipping und Polygon Clipping, konvexen Hüllen. Es enthält auch Transformationsalgorithmen, die Karten Projektionen und Auswahlalgorithmen. Neben Algorithmen bietet die Bibliothek Geometrieklassen, die verwendet werden könnten, aber die generischen Algorithmen hängen nicht von ihnen. (Vorgeschlagen, in Boost-enthalten sein)

GEOS für das Geometriemodell und GDAL / OGR für einen räumlichen Datenabstraktion Bibliothek, die Rastern und Vectors .

Bibliotheken Durch die Verwendung, werden Sie auch in der Lage sein, Systeme zu handhaben unterschiedliche Koordinaten (wie von / nach Transformation von WGS84), da beide verwenden Proj.4 unter der Haube. Für Entfernungen in Metern können Sie von WGS84 in etwas verwandeln, das Meter wie UTM verwendet.

Je nachdem, wie komplex diese Berechnungen werden Sie Ihre eigene sein könnte zu prüfen, zu schreiben. Wenn Sie gerade Bereich tun, die beste Wahl für die Geschwindigkeit und den Mangel an aufblasen sein könnte.

sonst die Geographic Foundation Class (GFC) Bibliothek ist die beste Wahl.

Es ist nicht umfassend und auf hohem Niveau genug für das, was Sie gefragt, aber für geodätische tun verwandelt Sie die NGA ausgezeichneten GEOTRANS Bibliothek verwenden können:

http://earth-info.nga.mil/GandG/geotrans/

Das lässt Sie zwischen den Dingen wie WGS84 lat / long und ein lokales kartesisches Koordinatensystem zu konvertieren. Der C-Code ist gut getestet, dokumentiert und ist öffentlich zugänglich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top