Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 3 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,12 @@ core/merginsecrets.cpp
test/temp_projects/
test/temp_extra_projects/
input.pro.user*
app/android/assets/qgis-data/proj_custom/
app/android/assets/qgis-data/projects/
app/android/assets/qgis-data/proj
app/android/assets/qgis-data/resources
app/android/assets/projects/
app/android/assets
app/android/AndroidManifest.xml
app/android/build.gradle
app/android/.gradle
*.gpkg-wal
*.gpkg-shm
Input_keystore.keystore
CMakeLists.txt.user
app/android/build.gradle
app/android/.gradle/*
app/android/.gradle
.github/secrets/ios/LutraConsulting*.mobileprovision
17 changes: 13 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -380,16 +380,25 @@ endif ()
# RESOURCES
# ########################################################################################
message(STATUS "Copying proj and qgis resources to android/assets/qgis-data")
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/app/android/assets/qgis-data/resources)

# On android we need to copy the resources into the source tree and then Qt will copy it
# to the android build directory with QT_ANDROID_PACKAGE_SOURCE_DIR
if (ANDROID)
set(ASSETS_DIR_PATH ${CMAKE_CURRENT_SOURCE_DIR})
else ()
set(ASSETS_DIR_PATH ${CMAKE_BINARY_DIR})
endif ()

file(MAKE_DIRECTORY ${ASSETS_DIR_PATH}/app/android/assets/qgis-data/resources)
file(COPY ${QGIS_RESOURCE_DIR}/qgis.db
DESTINATION ${CMAKE_BINARY_DIR}/app/android/assets/qgis-data/resources/
DESTINATION ${ASSETS_DIR_PATH}/app/android/assets/qgis-data/resources/
)
file(COPY ${QGIS_RESOURCE_DIR}/srs.db
DESTINATION ${CMAKE_BINARY_DIR}/app/android/assets/qgis-data/resources/
DESTINATION ${ASSETS_DIR_PATH}/app/android/assets/qgis-data/resources/
)
file(
COPY ${PROJ_DIR}
DESTINATION ${CMAKE_BINARY_DIR}/app/android/assets/qgis-data/
DESTINATION ${ASSETS_DIR_PATH}/app/android/assets/qgis-data/
PATTERN "*.cmake" EXCLUDE
PATTERN "vcpkg*" EXCLUDE
)
Expand Down
12 changes: 12 additions & 0 deletions app/position/positionkit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,13 @@ void PositionKit::parsePositionUpdate( const GeoPosition &newPosition )
hasAnythingChanged = true;
}

if ( !qgsDoubleNear( newPosition.elevation_diff, mPosition.elevation_diff ) )
{
mPosition.elevation_diff = newPosition.elevation_diff;
emit geoidSeparationChanged( mPosition.elevation_diff );
hasAnythingChanged = true;
}

if ( newPosition.hasValidPosition() != mHasPosition )
{
mHasPosition = newPosition.hasValidPosition();
Expand Down Expand Up @@ -349,6 +356,11 @@ double PositionKit::altitude() const
return mPosition.elevation;
}

double PositionKit::geoidSeparation() const
{
return mPosition.elevation_diff;
}

QgsPoint PositionKit::positionCoordinate() const
{
if ( mPosition.hasValidPosition() )
Expand Down
4 changes: 4 additions & 0 deletions app/position/positionkit.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,9 @@ class PositionKit : public QObject

Q_PROPERTY( double latitude READ latitude NOTIFY latitudeChanged )
Q_PROPERTY( double longitude READ longitude NOTIFY longitudeChanged )

Q_PROPERTY( double altitude READ altitude NOTIFY altitudeChanged )
Q_PROPERTY( double geoidSeparation READ geoidSeparation NOTIFY geoidSeparationChanged )

// auxiliary property providing QgsPoint for lat/long/alt instead of separate properties
Q_PROPERTY( QgsPoint positionCoordinate READ positionCoordinate NOTIFY positionCoordinateChanged )
Expand Down Expand Up @@ -84,6 +86,7 @@ class PositionKit : public QObject
double latitude() const;
double longitude() const;
double altitude() const;
double geoidSeparation() const;
QgsPoint positionCoordinate() const;
bool hasPosition() const;

Expand Down Expand Up @@ -127,6 +130,7 @@ class PositionKit : public QObject
void latitudeChanged( double );
void longitudeChanged( double );
void altitudeChanged( double );
void geoidSeparationChanged( double );
void positionCoordinateChanged( QgsPoint );
void hasPositionChanged( bool );

Expand Down
14 changes: 14 additions & 0 deletions app/qml/gps/MMGpsDataDrawer.qml
Original file line number Diff line number Diff line change
Expand Up @@ -316,6 +316,20 @@ MMComponents.MMDrawer {

alignmentRight: Positioner.index % 2 === 1
}

MMGpsComponents.MMGpsDataText {
width: parent.width / 2

title: qsTr( "Geoid separation" )
value: {
if ( !__positionKit.hasPosition || Number.isNaN( __positionKit.geoidSeparation ) ) {
return qsTr( "N/A" )
}
__inputUtils.formatNumber( __positionKit.geoidSeparation, 2 ) + " m"
}

alignmentRight: Positioner.index % 2 === 1
}
}
}

Expand Down
1 change: 1 addition & 0 deletions app/variablesmanager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ QgsExpressionContextScope *VariablesManager::positionScope()
addPositionVariable( scope, QStringLiteral( "longitude" ), position.longitude );
addPositionVariable( scope, QStringLiteral( "latitude" ), position.latitude );
addPositionVariable( scope, QStringLiteral( "altitude" ), position.elevation );
addPositionVariable( scope, QStringLiteral( "geoid_separation" ), position.elevation_diff );
addPositionVariable( scope, QStringLiteral( "horizontal_accuracy" ), getGeoPositionAttribute( position.hacc ) );
addPositionVariable( scope, QStringLiteral( "vertical_accuracy" ), getGeoPositionAttribute( position.vacc ) );
addPositionVariable( scope, QStringLiteral( "ground_speed" ), getGeoPositionAttribute( position.speed ) );
Expand Down
Loading