VTK  9.3.20240424
vtkGDALVectorReader.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
21#ifndef vtkGDALVectorReader_h
22#define vtkGDALVectorReader_h
23
24#include "vtkIOGDALModule.h" // For export macro
26
27#include <map> // STL required.
28#include <string> // for ivars
29
30VTK_ABI_NAMESPACE_BEGIN
32{
33public:
35 void PrintSelf(ostream& os, vtkIndent indent) override;
37
40
45
49 int GetLayerType(int layerIndex = 0);
50
54 int GetFeatureCount(int layerIndex = 0);
55
60
65
67
72 vtkSetMacro(ActiveLayer, int);
73 vtkGetMacro(ActiveLayer, int);
75
77
83 vtkSetMacro(AppendFeatures, int);
84 vtkGetMacro(AppendFeatures, int);
85 vtkBooleanMacro(AppendFeatures, int);
87
91 std::map<int, std::string> GetLayersProjection();
92
96 const char* GetLayerProjection(int layerIndex);
97
104 const char* GetLayerProjectionAsProj4(int layerIndex);
105
107
117 vtkSetMacro(AddFeatureIds, int);
118 vtkGetMacro(AddFeatureIds, int);
119 vtkBooleanMacro(AddFeatureIds, int);
121
122protected:
125
128
130
132 char* FileName;
133
137
138 class Internal;
139
141 vtkGDALVectorReader::Internal* Implementation;
142
144 static int OGRRegistered;
145
147 std::map<int, std::string> LayersProjection;
148
149private:
151 void operator=(const vtkGDALVectorReader&) = delete;
152};
153
154VTK_ABI_NAMESPACE_END
155#endif // vtkGDALVectorReader_h
Read vector file formats using GDAL.
vtkGetFilePathMacro(FileName)
std::map< int, std::string > GetLayersProjection()
Return projection string belonging to each layer in WKT format.
static int OGRRegistered
Global variable indicating whether the OGR library has been registered yet or not.
const char * GetLayerProjectionAsProj4(int layerIndex)
Return projection string belonging to a layer in PROJ.4 format.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int GetActiveLayerType()
Return the active layer type (eg point, line, polygon).
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
char * FileName
The name of the file that will be opened on the next call to RequestData()
std::map< int, std::string > LayersProjection
Mapping of layer to projection.
const char * GetLayerProjection(int layerIndex)
Return projection string belonging to a layer in WKT format.
int GetFeatureCount(int layerIndex=0)
Given a layer index return number of features (shapes).
vtkGDALVectorReader::Internal * Implementation
Private per-file metadata.
int GetLayerType(int layerIndex=0)
Given a index return layer type (eg point, line, polygon).
static vtkGDALVectorReader * New()
vtkSetFilePathMacro(FileName)
int GetActiveLayerFeatureCount()
Return the number of features in the active layer (shapes).
~vtkGDALVectorReader() override
int GetNumberOfLayers()
Return number of layers.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only vtkMultiBlockDataSet as output.