Fishnet 2.0.1
Framework for Graph-Based Analysis of GIS Vector Data
Loading...
Searching...
No Matches
VectorIO.hpp File Reference
#include <fishnet/VectorLayer.hpp>
#include <fishnet/ShapefileIO.hpp>
#include <fishnet/GeoPackageIO.hpp>
#include <fishnet/Either.hpp>
#include <fishnet/GISFile.hpp>
#include <regex>
Include dependency graph for VectorIO.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  fishnet
 
namespace  fishnet::VectorIO
 

Functions

template<geometry::AnyGeometry G>
VectorLayer< G > fishnet::VectorIO::empty (const OGRSpatialReference &spatialReference)
 Creates an empty VectorLayer with the given spatial reference.
 
template<geometry::AnyGeometry G = geometry::OGRGeometryAdapter, geometry::AnyGeometry O>
VectorLayer< G > fishnet::VectorIO::emptyCopy (const VectorLayer< O > &source)
 Creates an empty VectorLayer with the same spatial reference and fields as the source layer.
 
template<geometry::AnyGeometry G, geometry::AnyGeometry O>
VectorLayer< G > fishnet::VectorIO::transform (const VectorLayer< O > &source, auto &&convert)
 Copy a layer into one of another geometry type, carrying its spatial reference, fields and attributes.
 
template<geometry::OGRLayerGeometry G>
VectorLayer< G > fishnet::VectorIO::narrow (const VectorLayer< geometry::OGRGeometryAdapter > &source)
 Bring a layer read without a geometry type into a layer of one.
 
template<geometry::AnyGeometry O>
requires requires(const O & geometry){ geometry.toNative(); }
auto fishnet::VectorIO::nativeCopy (const VectorLayer< O > &source)
 Copy a layer of OGR backed geometries into one of the equivalent fishnet value types.
 
template<VectorLayerReader Reader>
auto fishnet::VectorIO::tryRead (const Reader &reader, const typename Reader::file_type &file) -> std::remove_cvref_t< decltype(reader(file))>
 
template<VectorLayerReader Reader>
auto fishnet::VectorIO::read (const Reader &reader, const typename Reader::file_type &file) -> std::remove_cvref_t< decltype(tryRead(reader, file).value())>
 
template<geometry::OGRLayerGeometry G = geometry::OGRGeometryAdapter>
VectorLayer< G > fishnet::VectorIO::read (const Shapefile &shapefile)
 
template<geometry::OGRLayerGeometry G = geometry::OGRGeometryAdapter>
VectorLayer< G > fishnet::VectorIO::read (const GeoPackage &geopackage)
 
template<geometry::OGRLayerGeometry G = geometry::OGRGeometryAdapter>
Either< VectorLayer< G >, std::string > fishnet::VectorIO::tryRead (const AbstractVectorFile &file)
 Generic tryRead overload that consumes any AbstractVectorFile and dispatches to the appropriate reader based on file extension. Returns an Either with the VectorLayer on success or an error message on failure.
 
template<geometry::OGRLayerGeometry G = geometry::OGRGeometryAdapter>
VectorLayer< G > fishnet::VectorIO::read (const AbstractVectorFile &file)
 Generic read overload that consumes any AbstractVectorFile and dispatches to the appropriate reader based on file extension.
 
VectorLayer< geometry::OGRPolygonAdapter > fishnet::VectorIO::readPolygonLayer (const AbstractVectorFile &vectorFile)
 
template<geometry::OGRWritableGeometry G, VectorGISFile F>
Either< F, std::string > fishnet::VectorIO::tryOverwrite (const VectorLayerWriter< G, F > auto &writer, const VectorLayer< G > &layer, const F &destination)
 
template<geometry::OGRWritableGeometry G, VectorGISFile F>
Either< F, std::string > fishnet::VectorIO::tryWrite (const VectorLayerWriter< G, F > auto &writer, const VectorLayer< G > &layer, const F &destination)
 
template<geometry::OGRWritableGeometry G, VectorGISFile F>
F fishnet::VectorIO::write (const VectorLayerWriter< G, F > auto &writer, const VectorLayer< G > &layer, const F &destination)
 
template<geometry::OGRWritableGeometry G, VectorGISFile F>
F fishnet::VectorIO::overwrite (const VectorLayerWriter< G, F > auto &writer, const VectorLayer< G > &layer, const F &destination)
 
template<geometry::OGRWritableGeometry G>
Shapefile fishnet::VectorIO::write (const VectorLayer< G > &layer, const Shapefile &destination)
 
template<geometry::OGRWritableGeometry G>
Shapefile fishnet::VectorIO::overwrite (const VectorLayer< G > &layer, const Shapefile &destination)
 
template<geometry::OGRWritableGeometry G>
GeoPackage fishnet::VectorIO::write (const VectorLayer< G > &layer, const GeoPackage &destination)
 
template<geometry::OGRWritableGeometry G>
GeoPackage fishnet::VectorIO::overwrite (const VectorLayer< G > &layer, const GeoPackage &destination)
 
template<geometry::OGRWritableGeometry G>
std::unique_ptr< AbstractVectorFile > fishnet::VectorIO::write (const VectorLayer< G > &layer, const AbstractVectorFile &destination)
 Generic write overload that consumes any AbstractVectorFile and dispatches to the appropriate writer based on file extension.
 
template<geometry::OGRWritableGeometry G>
std::unique_ptr< AbstractVectorFile > fishnet::VectorIO::overwrite (const VectorLayer< G > &layer, const AbstractVectorFile &destination)
 Generic overwrite overload that consumes any AbstractVectorFile and dispatches to the appropriate writer based on file extension.