How to generate triangulation file via QGIS C++ APIHow to address the new “Task-Completed” QgsMessageBar in Python?grass algorithms no longer run in QGIS/SextanteHow to find out Why a QGIS plugin is rejected for Version 2QGIS 2.0 Python API: Layer vector style loaded from file, marker symbology is respected, labels are notGenerate delaunay triangulation from 3D(x,y,z) pointsPyQgis - How to update a spatial index?Keep up to date a cpp-plugin(windows) for QGIS with less effortOn the flow generated Symbols in QGIS (2.14), FunctionPyQGIS interpolation classes and triangulation file without interpolation rasterUnequally spaced points along a line script - QGIS Python error trying to add integer attribute
Is it "common practice in Fourier transform spectroscopy to multiply the measured interferogram by an apodizing function"? If so, why?
How can a day be of 24 hours?
Is it a bad idea to plug the other end of ESD strap to wall ground?
Could the museum Saturn V's be refitted for one more flight?
Why is it a bad idea to hire a hitman to eliminate most corrupt politicians?
What is required to make GPS signals available indoors?
Why are UK visa biometrics appointments suspended at USCIS Application Support Centers?
Why didn't Boeing produce its own regional jet?
Spam email "via" my domain, but SPF record exists
How does a dynamic QR code work?
When handwriting 黄 (huáng; yellow) is it incorrect to have a disconnected 草 (cǎo; grass) radical on top?
How to compactly explain secondary and tertiary characters without resorting to stereotypes?
How to aggregate categorical data in R?
Were days ever written as ordinal numbers when writing day-month-year?
Is this draw by repetition?
What is the most common color to indicate the input-field is disabled?
Finding the reason behind the value of the integral.
Processor speed limited at 0.4 Ghz
How could sorcerers who are able to produce/manipulate almost all forms of energy communicate over large distances?
Inclusion symbol
How to install cross-compiler on Ubuntu 18.04?
How badly should I try to prevent a user from XSSing themselves?
Did 'Cinema Songs' exist during Hiranyakshipu's time?
What historical events would have to change in order to make 19th century "steampunk" technology possible?
How to generate triangulation file via QGIS C++ API
How to address the new “Task-Completed” QgsMessageBar in Python?grass algorithms no longer run in QGIS/SextanteHow to find out Why a QGIS plugin is rejected for Version 2QGIS 2.0 Python API: Layer vector style loaded from file, marker symbology is respected, labels are notGenerate delaunay triangulation from 3D(x,y,z) pointsPyQgis - How to update a spatial index?Keep up to date a cpp-plugin(windows) for QGIS with less effortOn the flow generated Symbols in QGIS (2.14), FunctionPyQGIS interpolation classes and triangulation file without interpolation rasterUnequally spaced points along a line script - QGIS Python error trying to add integer attribute
I created a plugin few years ago in Python. The plugin uses QGIS interpolation and works for QGIS 2.18. But because the QGIS interpolation creates raster (grid) and I need only Triangulation (TIN as lines) I checked the QGIS code and call function int QgsTinInterpolator::interpolatePoint( double x, double y, double &result, QgsFeedback * )
via PyQGIS.
The Python code for 2.18 QGIS API:
ld_layer = QgsInterpolator.LayerData()
ld_layer.vectorLayer = layer
ld_layer.zCoordInterpolation = False
ld_layer.interpolationAttribute = index
ld_layer.mInputType = 1
ld2_layer = QgsInterpolator.LayerData()
ld2_layer.vectorLayer = layer2
ld2_layer.zCoordInterpolation = False
ld2_layer.interpolationAttribute = index
ld2_layer.mInputType = 1
itp = QgsTINInterpolator(lds)
itp.setExportTriangulationToFile(True)
itp.setTriangulationFilePath(self.path)
rect = lds[0].vectorLayer.extent()
current_y_value = rect.yMaximum() - self.resolution / 2.0
current_x_value = rect.xMinimum() + self.resolution / 2.0
itp.interpolatePoint(current_x_value, current_y_value)
I created LayerData objects and then I called setExportTriangulationToFile(True)
and setTriangulationFilePath(self.path)
.
After calling itp.interpolatePoint(current_x_value, current_y_value)
the Triangulation filed was created. It is because of the void QgsTinInterpolator::initialize()
function. This function is inside the qgstininterpolator.cpp and because it is private function I can't call that function via PyQGIS API, so I decided call interpolatePoint()
which calls initialize()
if initialization is not configured.
But now mainly because of in the plugin there is a performance need and because I am really interesting in exploring the world of C/C++ I decided few months ago learn C++ and rewrite the plugin. There are some changes in API:
- there is no
setExportTriangulationToFile(True)
- there is no
setTriangulationFilePath(self.path)
- instead of there is
setTriangulationSink(QgsFeatureSink)
So I started hacking with QGIS and I wrote some code in C++:
QgsVectorLayer *exp5Layer = new QgsVectorLayer("/home/username/Downloads/data/testing_data/exp_q5_1.shp", "exp_q5", "ogr");
QgsVectorLayer *exp20Layer = new QgsVectorLayer("/home/username/Downloads/data/testing_data/exp_q20_1.shp", "exp_q20", "ogr");
const int index = 0;
QgsInterpolator::LayerData ld5;
QgsInterpolator::LayerData ld20;
ld5.source = exp5Layer;
ld5.interpolationAttribute = index;
ld5.sourceType = QgsInterpolator::SourceType::SourceStructureLines;
ld5.valueSource = QgsInterpolator::ValueSource::ValueZ;
ld20.source = exp20Layer;
ld20.interpolationAttribute = index;
ld20.sourceType = QgsInterpolator::SourceType::SourceStructureLines;
ld20.valueSource = QgsInterpolator::ValueSource::ValueZ;
QList<QgsInterpolator::LayerData> lds;
lds.append(ld5);
lds.append(ld20);
QgsTinInterpolator *itp = new QgsTinInterpolator(lds);
QgsWkbTypes::Type wkbType = exp5Layer->wkbType();
QgsFields fields = exp5Layer->fields();
QgsVectorLayer *sink = new QgsVectorLayer("/home/username/Downloads/data/testing_data/triangulation.shp", "triangulation", "ogr");
itp->setTriangulationSink(sink);
double current_y_value = rect.yMaximum() - 0.1 / 2.0;
double current_x_value = rect.xMinimum() + 0.1 / 2.0;
double interpolatedValue;
QgsFeedback *feedback = new QgsFeedback();
itp->interpolatePoint(current_x_value, current_y_value, interpolatedValue, feedback);
sink->~QgsVectorFileWriter();
The code is pretty similiar to Python code but of course there are changes in the API of QGIS 3.7. But the problem is the triangulation file (triangulation.shp) is created but there are not features.
It is because in bool DualEdgeTriangulation::saveTriangulation( QgsFeatureSink *sink, QgsFeedback *feedback ) const
function in DualEdgeInterpolation.cpp there is a cycle (at line 2997) and because of mHalfEdge.size() == 0
addFeature function sink->addFeature( edgeLineFeature, QgsFeatureSink::FastInsert );
(at line 3031) is not called).
There is no error and triangulation file is created but without features. If I run interpolation from the QGIS GUI with same parameters the triangulation file is created with features correctly.
Is there any problem with new API (like more changes that I didn't notice) or there is any other problem? I can't figure why mHalfEdge
is empty.
I continued with the investigating the problem and I found there was some big changes in QgsTINInterpolator::initialize()
function (commit). Maybe this can lead to solution or some clue.
qgis pyqgis qgis-3 interpolation c++
add a comment |
I created a plugin few years ago in Python. The plugin uses QGIS interpolation and works for QGIS 2.18. But because the QGIS interpolation creates raster (grid) and I need only Triangulation (TIN as lines) I checked the QGIS code and call function int QgsTinInterpolator::interpolatePoint( double x, double y, double &result, QgsFeedback * )
via PyQGIS.
The Python code for 2.18 QGIS API:
ld_layer = QgsInterpolator.LayerData()
ld_layer.vectorLayer = layer
ld_layer.zCoordInterpolation = False
ld_layer.interpolationAttribute = index
ld_layer.mInputType = 1
ld2_layer = QgsInterpolator.LayerData()
ld2_layer.vectorLayer = layer2
ld2_layer.zCoordInterpolation = False
ld2_layer.interpolationAttribute = index
ld2_layer.mInputType = 1
itp = QgsTINInterpolator(lds)
itp.setExportTriangulationToFile(True)
itp.setTriangulationFilePath(self.path)
rect = lds[0].vectorLayer.extent()
current_y_value = rect.yMaximum() - self.resolution / 2.0
current_x_value = rect.xMinimum() + self.resolution / 2.0
itp.interpolatePoint(current_x_value, current_y_value)
I created LayerData objects and then I called setExportTriangulationToFile(True)
and setTriangulationFilePath(self.path)
.
After calling itp.interpolatePoint(current_x_value, current_y_value)
the Triangulation filed was created. It is because of the void QgsTinInterpolator::initialize()
function. This function is inside the qgstininterpolator.cpp and because it is private function I can't call that function via PyQGIS API, so I decided call interpolatePoint()
which calls initialize()
if initialization is not configured.
But now mainly because of in the plugin there is a performance need and because I am really interesting in exploring the world of C/C++ I decided few months ago learn C++ and rewrite the plugin. There are some changes in API:
- there is no
setExportTriangulationToFile(True)
- there is no
setTriangulationFilePath(self.path)
- instead of there is
setTriangulationSink(QgsFeatureSink)
So I started hacking with QGIS and I wrote some code in C++:
QgsVectorLayer *exp5Layer = new QgsVectorLayer("/home/username/Downloads/data/testing_data/exp_q5_1.shp", "exp_q5", "ogr");
QgsVectorLayer *exp20Layer = new QgsVectorLayer("/home/username/Downloads/data/testing_data/exp_q20_1.shp", "exp_q20", "ogr");
const int index = 0;
QgsInterpolator::LayerData ld5;
QgsInterpolator::LayerData ld20;
ld5.source = exp5Layer;
ld5.interpolationAttribute = index;
ld5.sourceType = QgsInterpolator::SourceType::SourceStructureLines;
ld5.valueSource = QgsInterpolator::ValueSource::ValueZ;
ld20.source = exp20Layer;
ld20.interpolationAttribute = index;
ld20.sourceType = QgsInterpolator::SourceType::SourceStructureLines;
ld20.valueSource = QgsInterpolator::ValueSource::ValueZ;
QList<QgsInterpolator::LayerData> lds;
lds.append(ld5);
lds.append(ld20);
QgsTinInterpolator *itp = new QgsTinInterpolator(lds);
QgsWkbTypes::Type wkbType = exp5Layer->wkbType();
QgsFields fields = exp5Layer->fields();
QgsVectorLayer *sink = new QgsVectorLayer("/home/username/Downloads/data/testing_data/triangulation.shp", "triangulation", "ogr");
itp->setTriangulationSink(sink);
double current_y_value = rect.yMaximum() - 0.1 / 2.0;
double current_x_value = rect.xMinimum() + 0.1 / 2.0;
double interpolatedValue;
QgsFeedback *feedback = new QgsFeedback();
itp->interpolatePoint(current_x_value, current_y_value, interpolatedValue, feedback);
sink->~QgsVectorFileWriter();
The code is pretty similiar to Python code but of course there are changes in the API of QGIS 3.7. But the problem is the triangulation file (triangulation.shp) is created but there are not features.
It is because in bool DualEdgeTriangulation::saveTriangulation( QgsFeatureSink *sink, QgsFeedback *feedback ) const
function in DualEdgeInterpolation.cpp there is a cycle (at line 2997) and because of mHalfEdge.size() == 0
addFeature function sink->addFeature( edgeLineFeature, QgsFeatureSink::FastInsert );
(at line 3031) is not called).
There is no error and triangulation file is created but without features. If I run interpolation from the QGIS GUI with same parameters the triangulation file is created with features correctly.
Is there any problem with new API (like more changes that I didn't notice) or there is any other problem? I can't figure why mHalfEdge
is empty.
I continued with the investigating the problem and I found there was some big changes in QgsTINInterpolator::initialize()
function (commit). Maybe this can lead to solution or some clue.
qgis pyqgis qgis-3 interpolation c++
add a comment |
I created a plugin few years ago in Python. The plugin uses QGIS interpolation and works for QGIS 2.18. But because the QGIS interpolation creates raster (grid) and I need only Triangulation (TIN as lines) I checked the QGIS code and call function int QgsTinInterpolator::interpolatePoint( double x, double y, double &result, QgsFeedback * )
via PyQGIS.
The Python code for 2.18 QGIS API:
ld_layer = QgsInterpolator.LayerData()
ld_layer.vectorLayer = layer
ld_layer.zCoordInterpolation = False
ld_layer.interpolationAttribute = index
ld_layer.mInputType = 1
ld2_layer = QgsInterpolator.LayerData()
ld2_layer.vectorLayer = layer2
ld2_layer.zCoordInterpolation = False
ld2_layer.interpolationAttribute = index
ld2_layer.mInputType = 1
itp = QgsTINInterpolator(lds)
itp.setExportTriangulationToFile(True)
itp.setTriangulationFilePath(self.path)
rect = lds[0].vectorLayer.extent()
current_y_value = rect.yMaximum() - self.resolution / 2.0
current_x_value = rect.xMinimum() + self.resolution / 2.0
itp.interpolatePoint(current_x_value, current_y_value)
I created LayerData objects and then I called setExportTriangulationToFile(True)
and setTriangulationFilePath(self.path)
.
After calling itp.interpolatePoint(current_x_value, current_y_value)
the Triangulation filed was created. It is because of the void QgsTinInterpolator::initialize()
function. This function is inside the qgstininterpolator.cpp and because it is private function I can't call that function via PyQGIS API, so I decided call interpolatePoint()
which calls initialize()
if initialization is not configured.
But now mainly because of in the plugin there is a performance need and because I am really interesting in exploring the world of C/C++ I decided few months ago learn C++ and rewrite the plugin. There are some changes in API:
- there is no
setExportTriangulationToFile(True)
- there is no
setTriangulationFilePath(self.path)
- instead of there is
setTriangulationSink(QgsFeatureSink)
So I started hacking with QGIS and I wrote some code in C++:
QgsVectorLayer *exp5Layer = new QgsVectorLayer("/home/username/Downloads/data/testing_data/exp_q5_1.shp", "exp_q5", "ogr");
QgsVectorLayer *exp20Layer = new QgsVectorLayer("/home/username/Downloads/data/testing_data/exp_q20_1.shp", "exp_q20", "ogr");
const int index = 0;
QgsInterpolator::LayerData ld5;
QgsInterpolator::LayerData ld20;
ld5.source = exp5Layer;
ld5.interpolationAttribute = index;
ld5.sourceType = QgsInterpolator::SourceType::SourceStructureLines;
ld5.valueSource = QgsInterpolator::ValueSource::ValueZ;
ld20.source = exp20Layer;
ld20.interpolationAttribute = index;
ld20.sourceType = QgsInterpolator::SourceType::SourceStructureLines;
ld20.valueSource = QgsInterpolator::ValueSource::ValueZ;
QList<QgsInterpolator::LayerData> lds;
lds.append(ld5);
lds.append(ld20);
QgsTinInterpolator *itp = new QgsTinInterpolator(lds);
QgsWkbTypes::Type wkbType = exp5Layer->wkbType();
QgsFields fields = exp5Layer->fields();
QgsVectorLayer *sink = new QgsVectorLayer("/home/username/Downloads/data/testing_data/triangulation.shp", "triangulation", "ogr");
itp->setTriangulationSink(sink);
double current_y_value = rect.yMaximum() - 0.1 / 2.0;
double current_x_value = rect.xMinimum() + 0.1 / 2.0;
double interpolatedValue;
QgsFeedback *feedback = new QgsFeedback();
itp->interpolatePoint(current_x_value, current_y_value, interpolatedValue, feedback);
sink->~QgsVectorFileWriter();
The code is pretty similiar to Python code but of course there are changes in the API of QGIS 3.7. But the problem is the triangulation file (triangulation.shp) is created but there are not features.
It is because in bool DualEdgeTriangulation::saveTriangulation( QgsFeatureSink *sink, QgsFeedback *feedback ) const
function in DualEdgeInterpolation.cpp there is a cycle (at line 2997) and because of mHalfEdge.size() == 0
addFeature function sink->addFeature( edgeLineFeature, QgsFeatureSink::FastInsert );
(at line 3031) is not called).
There is no error and triangulation file is created but without features. If I run interpolation from the QGIS GUI with same parameters the triangulation file is created with features correctly.
Is there any problem with new API (like more changes that I didn't notice) or there is any other problem? I can't figure why mHalfEdge
is empty.
I continued with the investigating the problem and I found there was some big changes in QgsTINInterpolator::initialize()
function (commit). Maybe this can lead to solution or some clue.
qgis pyqgis qgis-3 interpolation c++
I created a plugin few years ago in Python. The plugin uses QGIS interpolation and works for QGIS 2.18. But because the QGIS interpolation creates raster (grid) and I need only Triangulation (TIN as lines) I checked the QGIS code and call function int QgsTinInterpolator::interpolatePoint( double x, double y, double &result, QgsFeedback * )
via PyQGIS.
The Python code for 2.18 QGIS API:
ld_layer = QgsInterpolator.LayerData()
ld_layer.vectorLayer = layer
ld_layer.zCoordInterpolation = False
ld_layer.interpolationAttribute = index
ld_layer.mInputType = 1
ld2_layer = QgsInterpolator.LayerData()
ld2_layer.vectorLayer = layer2
ld2_layer.zCoordInterpolation = False
ld2_layer.interpolationAttribute = index
ld2_layer.mInputType = 1
itp = QgsTINInterpolator(lds)
itp.setExportTriangulationToFile(True)
itp.setTriangulationFilePath(self.path)
rect = lds[0].vectorLayer.extent()
current_y_value = rect.yMaximum() - self.resolution / 2.0
current_x_value = rect.xMinimum() + self.resolution / 2.0
itp.interpolatePoint(current_x_value, current_y_value)
I created LayerData objects and then I called setExportTriangulationToFile(True)
and setTriangulationFilePath(self.path)
.
After calling itp.interpolatePoint(current_x_value, current_y_value)
the Triangulation filed was created. It is because of the void QgsTinInterpolator::initialize()
function. This function is inside the qgstininterpolator.cpp and because it is private function I can't call that function via PyQGIS API, so I decided call interpolatePoint()
which calls initialize()
if initialization is not configured.
But now mainly because of in the plugin there is a performance need and because I am really interesting in exploring the world of C/C++ I decided few months ago learn C++ and rewrite the plugin. There are some changes in API:
- there is no
setExportTriangulationToFile(True)
- there is no
setTriangulationFilePath(self.path)
- instead of there is
setTriangulationSink(QgsFeatureSink)
So I started hacking with QGIS and I wrote some code in C++:
QgsVectorLayer *exp5Layer = new QgsVectorLayer("/home/username/Downloads/data/testing_data/exp_q5_1.shp", "exp_q5", "ogr");
QgsVectorLayer *exp20Layer = new QgsVectorLayer("/home/username/Downloads/data/testing_data/exp_q20_1.shp", "exp_q20", "ogr");
const int index = 0;
QgsInterpolator::LayerData ld5;
QgsInterpolator::LayerData ld20;
ld5.source = exp5Layer;
ld5.interpolationAttribute = index;
ld5.sourceType = QgsInterpolator::SourceType::SourceStructureLines;
ld5.valueSource = QgsInterpolator::ValueSource::ValueZ;
ld20.source = exp20Layer;
ld20.interpolationAttribute = index;
ld20.sourceType = QgsInterpolator::SourceType::SourceStructureLines;
ld20.valueSource = QgsInterpolator::ValueSource::ValueZ;
QList<QgsInterpolator::LayerData> lds;
lds.append(ld5);
lds.append(ld20);
QgsTinInterpolator *itp = new QgsTinInterpolator(lds);
QgsWkbTypes::Type wkbType = exp5Layer->wkbType();
QgsFields fields = exp5Layer->fields();
QgsVectorLayer *sink = new QgsVectorLayer("/home/username/Downloads/data/testing_data/triangulation.shp", "triangulation", "ogr");
itp->setTriangulationSink(sink);
double current_y_value = rect.yMaximum() - 0.1 / 2.0;
double current_x_value = rect.xMinimum() + 0.1 / 2.0;
double interpolatedValue;
QgsFeedback *feedback = new QgsFeedback();
itp->interpolatePoint(current_x_value, current_y_value, interpolatedValue, feedback);
sink->~QgsVectorFileWriter();
The code is pretty similiar to Python code but of course there are changes in the API of QGIS 3.7. But the problem is the triangulation file (triangulation.shp) is created but there are not features.
It is because in bool DualEdgeTriangulation::saveTriangulation( QgsFeatureSink *sink, QgsFeedback *feedback ) const
function in DualEdgeInterpolation.cpp there is a cycle (at line 2997) and because of mHalfEdge.size() == 0
addFeature function sink->addFeature( edgeLineFeature, QgsFeatureSink::FastInsert );
(at line 3031) is not called).
There is no error and triangulation file is created but without features. If I run interpolation from the QGIS GUI with same parameters the triangulation file is created with features correctly.
Is there any problem with new API (like more changes that I didn't notice) or there is any other problem? I can't figure why mHalfEdge
is empty.
I continued with the investigating the problem and I found there was some big changes in QgsTINInterpolator::initialize()
function (commit). Maybe this can lead to solution or some clue.
qgis pyqgis qgis-3 interpolation c++
qgis pyqgis qgis-3 interpolation c++
edited yesterday
Bulva
asked 2 days ago
BulvaBulva
293112
293112
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
I continue with going through the code and it is not a bug but change in the API (and mainly my fault) which leads to the problems with triangulation.
In python there is zCoordInterpolation = False
property but in the new API there is an enumeration so instead of ValueZ
(which I wrongly set up) you need set up the different value from enumeration (of course based on your data). So in the C++ it is ValueAttribute
(in my specific case):
layerDataVariable.valueSource = QgsInterpolator::ValueSource::ValueAttribute;
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "79"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f317268%2fhow-to-generate-triangulation-file-via-qgis-c-api%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I continue with going through the code and it is not a bug but change in the API (and mainly my fault) which leads to the problems with triangulation.
In python there is zCoordInterpolation = False
property but in the new API there is an enumeration so instead of ValueZ
(which I wrongly set up) you need set up the different value from enumeration (of course based on your data). So in the C++ it is ValueAttribute
(in my specific case):
layerDataVariable.valueSource = QgsInterpolator::ValueSource::ValueAttribute;
add a comment |
I continue with going through the code and it is not a bug but change in the API (and mainly my fault) which leads to the problems with triangulation.
In python there is zCoordInterpolation = False
property but in the new API there is an enumeration so instead of ValueZ
(which I wrongly set up) you need set up the different value from enumeration (of course based on your data). So in the C++ it is ValueAttribute
(in my specific case):
layerDataVariable.valueSource = QgsInterpolator::ValueSource::ValueAttribute;
add a comment |
I continue with going through the code and it is not a bug but change in the API (and mainly my fault) which leads to the problems with triangulation.
In python there is zCoordInterpolation = False
property but in the new API there is an enumeration so instead of ValueZ
(which I wrongly set up) you need set up the different value from enumeration (of course based on your data). So in the C++ it is ValueAttribute
(in my specific case):
layerDataVariable.valueSource = QgsInterpolator::ValueSource::ValueAttribute;
I continue with going through the code and it is not a bug but change in the API (and mainly my fault) which leads to the problems with triangulation.
In python there is zCoordInterpolation = False
property but in the new API there is an enumeration so instead of ValueZ
(which I wrongly set up) you need set up the different value from enumeration (of course based on your data). So in the C++ it is ValueAttribute
(in my specific case):
layerDataVariable.valueSource = QgsInterpolator::ValueSource::ValueAttribute;
answered yesterday
BulvaBulva
293112
293112
add a comment |
add a comment |
Thanks for contributing an answer to Geographic Information Systems Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f317268%2fhow-to-generate-triangulation-file-via-qgis-c-api%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown