Skip to content
Permalink
Browse files

Allow creation of Z/M gpkg layers (#5060)

Fix #16888: create gpkg layer does not allow to add Z/M dimension
  • Loading branch information
m-kuhn committed Aug 24, 2017
2 parents 9f18050 + bd8dece commit 65455c4b9ea763d56e7bdfb7ee8b912e7caf56c0
Showing with 38 additions and 13 deletions.
  1. +7 −0 src/gui/qgsnewgeopackagelayerdialog.cpp
  2. +31 −13 src/ui/qgsnewgeopackagelayerdialogbase.ui
@@ -351,6 +351,13 @@ bool QgsNewGeoPackageLayerDialog::apply()
OGRwkbGeometryType wkbType = static_cast<OGRwkbGeometryType>
( mGeometryTypeBox->currentData( Qt::UserRole ).toInt() );

// z-coordinate & m-value.
if ( mGeometryWithZCheckBox->isChecked() )
wkbType = OGR_GT_SetZ( wkbType );

if ( mGeometryWithMCheckBox->isChecked() )
wkbType = OGR_GT_SetM( wkbType );

OGRSpatialReferenceH hSRS = nullptr;
// consider spatial reference system of the layer
QgsCoordinateReferenceSystem srs = mCrsSelector->crs();
@@ -61,12 +61,12 @@
<rect>
<x>0</x>
<y>0</y>
<width>530</width>
<height>635</height>
<width>514</width>
<height>663</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_5">
<item row="4" column="0">
<item row="8" column="0">
<widget class="QCheckBox" name="mCheckBoxCreateSpatialIndex">
<property name="toolTip">
<string>Add an integer id field as the primary key for the new layer</string>
@@ -79,7 +79,7 @@
<item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_6"/>
</item>
<item row="5" column="0">
<item row="9" column="0">
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>New field</string>
@@ -342,7 +342,7 @@
</item>
</layout>
</item>
<item row="6" column="0">
<item row="10" column="0">
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>Fields list</string>
@@ -421,13 +421,31 @@
</layout>
</widget>
</item>
<item row="2" column="0">
<widget class="QgsProjectionSelectionWidget" name="mCrsSelector" native="true">
<item row="6" column="0">
<widget class="QgsProjectionSelectionWidget" name="mCrsSelector">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
<item row="3" column="0">
<layout class="QHBoxLayout" name="horizontalZMLayout">
<item>
<widget class="QCheckBox" name="mGeometryWithZCheckBox">
<property name="text">
<string>Geometries with Z coordinate</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="mGeometryWithMCheckBox">
<property name="text">
<string>Geometries with M coordinate</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
@@ -436,18 +454,18 @@
</widget>
<layoutdefault spacing="6" margin="11"/>
<customwidgets>
<customwidget>
<class>QgsScrollArea</class>
<extends>QScrollArea</extends>
<header>qgsscrollarea.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>QgsProjectionSelectionWidget</class>
<extends>QWidget</extends>
<header>qgsprojectionselectionwidget.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>QgsScrollArea</class>
<extends>QScrollArea</extends>
<header>qgsscrollarea.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<tabstops>
<tabstop>scrollArea</tabstop>

0 comments on commit 65455c4

Please sign in to comment.
You can’t perform that action at this time.