Skip to content

Commit

Permalink
Merge pull request #3773 from alexbruy/network-analysis
Browse files Browse the repository at this point in the history
Network analysis
  • Loading branch information
nyalldawson committed Nov 21, 2016
2 parents 8c8be00 + 82082b4 commit 3dcf03c
Show file tree
Hide file tree
Showing 55 changed files with 797 additions and 899 deletions.
2 changes: 1 addition & 1 deletion cmake/QsciAPI.cmake
Expand Up @@ -22,7 +22,7 @@ ENDIF(EXISTS "${CMAKE_BINARY_DIR}/python/qgis.gui.api")
# add qgis.core.NULL attribute defined in <src>/python/__init__.py for QPyNullVariant
FILE(APPEND "${QGIS_PYTHON_API_FILE}" "qgis.core.NULL?7\n")

FOREACH(apiFile qgis.core.api qgis.gui.api qgis.analysis.api qgis.networkanalysis.api qgis.server.api)
FOREACH(apiFile qgis.core.api qgis.gui.api qgis.analysis.api qgis.server.api)
SET(api "${CMAKE_BINARY_DIR}/python/${apiFile}")
IF(EXISTS "${api}")
FILE(READ "${api}" FILE_CONTENT)
Expand Down
14 changes: 0 additions & 14 deletions debian/control
Expand Up @@ -129,18 +129,6 @@ Description: QGIS - shared analysis library
.
This package contains the shared analysis library.

Package: libqgis-networkanalysis2.99.0
Architecture: any
Section: libs
Depends:
${shlibs:Depends},
${misc:Depends}
Description: QGIS - shared network analysis library
QGIS is a Geographic Information System (GIS) which manages, analyzes and
display databases of geographic information.
.
This package contains the shared network analysis library.

Package: libqgisgrass7-2.99.0
Architecture: any
Section: libs
Expand Down Expand Up @@ -204,7 +192,6 @@ Depends:
libqgis-core2.99.0 (= ${binary:Version}),
libqgis-gui2.99.0 (= ${binary:Version}),
libqgis-analysis2.99.0 (= ${binary:Version}),
libqgis-networkanalysis2.99.0 (= ${binary:Version}),
libqgisgrass7-2.99.0 (= ${binary:Version}),
libqgispython2.99.0 (= ${binary:Version}),
libsqlite3-dev,
Expand Down Expand Up @@ -241,7 +228,6 @@ Depends:
libqgis-core2.99.0 (= ${binary:Version}),
libqgis-gui2.99.0 (= ${binary:Version}),
libqgis-analysis2.99.0 (= ${binary:Version}),
libqgis-networkanalysis2.99.0 (= ${binary:Version}),
libqgisgrass7-2.99.0 (= ${binary:Version}),
libqgispython2.99.0 (= ${binary:Version}),
${misc:Depends}
Expand Down
14 changes: 0 additions & 14 deletions debian/control.in
Expand Up @@ -132,18 +132,6 @@ Description: QGIS - shared analysis library
.
This package contains the shared analysis library.

Package: libqgis-networkanalysis{QGIS_ABI}
Architecture: any
Section: libs
Depends:
${shlibs:Depends},
${misc:Depends}
Description: QGIS - shared network analysis library
QGIS is a Geographic Information System (GIS) which manages, analyzes and
display databases of geographic information.
.
This package contains the shared network analysis library.

Package: libqgisgrass{GRASSVER}-{QGIS_ABI}
Architecture: any
Section: libs
Expand Down Expand Up @@ -207,7 +195,6 @@ Depends:
libqgis-core{QGIS_ABI} (= ${binary:Version}),
libqgis-gui{QGIS_ABI} (= ${binary:Version}),
libqgis-analysis{QGIS_ABI} (= ${binary:Version}),
libqgis-networkanalysis{QGIS_ABI} (= ${binary:Version}),
libqgisgrass{GRASSVER}-{QGIS_ABI} (= ${binary:Version}),
libqgispython{QGIS_ABI} (= ${binary:Version}),
libsqlite3-dev,
Expand Down Expand Up @@ -244,7 +231,6 @@ Depends:
libqgis-core{QGIS_ABI} (= ${binary:Version}),
libqgis-gui{QGIS_ABI} (= ${binary:Version}),
libqgis-analysis{QGIS_ABI} (= ${binary:Version}),
libqgis-networkanalysis{QGIS_ABI} (= ${binary:Version}),
libqgisgrass{GRASSVER}-{QGIS_ABI} (= ${binary:Version}),
libqgispython{QGIS_ABI} (= ${binary:Version}),
${misc:Depends}
Expand Down
1 change: 0 additions & 1 deletion debian/libqgis-dev.install.in
Expand Up @@ -3,7 +3,6 @@ usr/lib/libqgis_app.so
usr/lib/libqgis_core.so
usr/lib/libqgis_gui.so
usr/lib/libqgis_analysis.so
usr/lib/libqgis_networkanalysis.so
#server#usr/lib/libqgis_server.so
usr/lib/libqgisgrass{GRASSVER}.so
usr/lib/libqgispython.so
Expand Down
1 change: 0 additions & 1 deletion debian/libqgis-networkanalysis{QGIS_ABI}.install

This file was deleted.

1 change: 0 additions & 1 deletion debian/libqgis-networkanalysis{QGIS_ABI}.lintian-overrides

This file was deleted.

1 change: 0 additions & 1 deletion debian/python-qgis.install.in
Expand Up @@ -3,7 +3,6 @@ usr/lib/python*/*-packages/qgis/*.so
usr/lib/python*/*-packages/qgis/core/*
usr/lib/python*/*-packages/qgis/gui/*
usr/lib/python*/*-packages/qgis/analysis/*
usr/lib/python*/*-packages/qgis/networkanalysis/*
usr/lib/python*/*-packages/qgis/PyQt/*
usr/lib/python*/*-packages/qgis/testing/*
usr/lib/python*/*-packages/pyspatialite/*
Expand Down
17 changes: 16 additions & 1 deletion doc/api_break.dox
Expand Up @@ -180,6 +180,9 @@ Renamed Classes {#qgis_api_break_3_0_renamed_classes}
<tr><td>QgsVectorRandomColorRampV2Dialog<td>QgsLimitedRandomColorRampDialog
<tr><td>QgsVectorRandomColorRampV2DialogBase<td>QgsLimitedRandomColorRampDialogBase
<tr><th>QgsSymbolV2<th>QgsSymbol
<tr><th>QgsArcProperter<th>QgsStrategy
<tr><th>QgsDistanceArcProperter<th>QgsDistanceStrategy
<tr><th>QgsGraphArc<th>QgsGraphEdge
</table>

<table>
Expand All @@ -205,6 +208,17 @@ Renamed Classes {#qgis_api_break_3_0_renamed_classes}
<tr><td>QgsVectorLayerEditUtils<td>deleteVertexV2<td>deleteVertex
<tr><td>QgsComposerSymbolItem<td>symbolV2<td>symbol
<tr><td>QgsServerInterface<td>capabiblitiesCache<td>capabilitiesCache
<tr><td>QgsGraphEdge<td>property<td>cost
<tr><td>QgsGraphEdge<td>properties<td>strategies
<tr><td>QgsGraphVertex<td>outArc<td>outEdges
<tr><td>QgsGraphVertex<td>inArc<td>inEdges
<tr><td>QgsGraph<td>addArc<td>addEdges
<tr><td>QgsGraph<td>arcCount<td>edgeCount
<tr><td>QgsGraph<td>arc<td>edge
<tr><td>QgsGraphBuilder<td>addArc<td>addEdge
<tr><td>QgsGraphBuilderInterface<td>addArc<td>addEdge
<tr><td>QgsGraphDirectory<td>addProperter<td>addStrategy
<tr><td>QgsStrategy<td>addProperter<td>addStrategy
</table>


Expand Down Expand Up @@ -251,6 +265,7 @@ General changes {#qgis_api_break_3_0_global}
- All importXML() methods have been renamed to importXml()
- All methods taking or returning QGis::WkbType have been changed to use QgsWkbTypes::Type
- All methods taking or returning QGis::GeometryType have been changed to use QgsWkbTypes::GeometryType
- Network analysis library has been merged into analysis library


Data Providers {#qgis_api_break_3_0_DataProviders}
Expand Down Expand Up @@ -768,7 +783,7 @@ QgsEditFormConfig {#qgis_api_break_3_0_QgsEditFormConfig}
- widgetType() and widgetConfig() now reflect only the user configured values.
QgsEditorWidgetRegistry::instance()->findBest() must be used instead.
- widgetType(), widgetConfig(), setWidgetType(), setWidgetConfig() and removeWidgetConfig() now only take a string as first parameter. Access by index has been removed.
- expression(), setExpression(), expressionDescription() and setExpressionDescription()
- expression(), setExpression(), expressionDescription() and setExpressionDescription()
have been removed. Use QgsVectorLayer.setConstraintExpression()/constraintExpression(),
or QgsField.constraintExpression()/QgsField.constraintDescription() instead.
- notNull() and setNotNull() have been removed. Use QgsVectorLayer.setFieldConstraint()/fieldConstraints(), or QgsField.constraints() instead.
Expand Down
10 changes: 3 additions & 7 deletions doc/modules.dox
Expand Up @@ -12,14 +12,10 @@ The GUI library is build on top of the CORE library and adds reusable GUI widget

/** @defgroup analysis analysis library

The ANALYSIS library is built on top of CORE library and provides
The ANALYSIS library is built on top of CORE library and provides
high level tools for carrying out spatial analysis on vector and raster data.
*/

/** @defgroup networkanalysis network analysis library

The NETWORK_ANALYSIS library provides high level tools for building network
topologies and analysing them.
It also contains high level tools for building network topologies and analysing
them.
*/

/** @defgroup server server library
Expand Down
1 change: 0 additions & 1 deletion ms-windows/osgeo4w/package.cmd
Expand Up @@ -299,7 +299,6 @@ tar -C %OSGEO4W_ROOT% -cjf %ARCH%/release/qgis/%PACKAGENAME%-common/%PACKAGENAME
--exclude "*.pyc" ^
"apps/%PACKAGENAME%/bin/qgispython.dll" ^
"apps/%PACKAGENAME%/bin/qgis_analysis.dll" ^
"apps/%PACKAGENAME%/bin/qgis_networkanalysis.dll" ^
"apps/%PACKAGENAME%/bin/qgis_core.dll" ^
"apps/%PACKAGENAME%/bin/qgis_gui.dll" ^
"apps/%PACKAGENAME%/doc/" ^
Expand Down
20 changes: 7 additions & 13 deletions python/CMakeLists.txt
Expand Up @@ -138,20 +138,20 @@ IF(NOT QT_MOBILITY_LOCATION_FOUND)
SET(SIP_DISABLE_FEATURES ${SIP_DISABLE_FEATURES} MOBILITY_LOCATION)
ENDIF(NOT QT_MOBILITY_LOCATION_FOUND)

IF(PYQT4_VERSION_NUM LESS 263680) # 0x040600
IF(PYQT4_VERSION_NUM LESS 263680) # 0x040600
SET(SIP_DISABLE_FEATURES ${SIP_DISABLE_FEATURES} PROXY_FACTORY)
ENDIF(PYQT4_VERSION_NUM LESS 263680)

#
IF(NOT PYQT4_VERSION_NUM LESS 264194) # 0x040802
IF(NOT PYQT4_VERSION_NUM LESS 264194) # 0x040802
SET(SIP_DISABLE_FEATURES ${SIP_DISABLE_FEATURES} QSETTYPE_CONVERSION)
ENDIF(NOT PYQT4_VERSION_NUM LESS 264194)

IF(PYQT4_VERSION_NUM LESS 264196) # 0x040804
SET(SIP_DISABLE_FEATURES ${SIP_DISABLE_FEATURES} QLISTCONSTPTR_CONVERSION)
ENDIF(PYQT4_VERSION_NUM LESS 264196)

IF(NOT PYQT4_VERSION_NUM LESS 264453) # 0x040905
IF(NOT PYQT4_VERSION_NUM LESS 264453) # 0x040905
SET(SIP_DISABLE_FEATURES ${SIP_DISABLE_FEATURES} QVECTORINT_CONVERSION)
ENDIF(NOT PYQT4_VERSION_NUM LESS 264453)

Expand Down Expand Up @@ -200,7 +200,7 @@ ENDIF(UNIX AND NOT SIP_VERSION_NUM LESS 265984)
GENERATE_SIP_PYTHON_MODULE_CODE(qgis._gui gui/gui.sip cpp_files)
BUILD_SIP_PYTHON_MODULE(qgis._gui gui/gui.sip ${cpp_files} "" qgis_core qgis_gui)

SET(PY_MODULES core gui analysis networkanalysis)
SET(PY_MODULES core gui analysis)

# server module
IF (WITH_SERVER AND WITH_SERVER_PLUGINS)
Expand Down Expand Up @@ -228,8 +228,8 @@ INCLUDE_DIRECTORIES(
../src/analysis/interpolation
../src/analysis/openstreetmap
${CMAKE_BINARY_DIR}/src/analysis/vector
${CMAKE_BINARY_DIR}/src/analysis/network
${CMAKE_BINARY_DIR}/src/analysis/raster
${CMAKE_BINARY_DIR}/src/analysis/network
${CMAKE_BINARY_DIR}/src/analysis/interpolation
${CMAKE_BINARY_DIR}/src/analysis/openstreetmap
)
Expand All @@ -239,6 +239,7 @@ FILE(GLOB sip_files_analysis
analysis/*.sip
analysis/raster/*.sip
analysis/vector/*.sip
analysis/network/*.sip
analysis/interpolation/*.sip
analysis/openstreetmap/*.sip
)
Expand All @@ -247,21 +248,14 @@ SET(SIP_EXTRA_OPTIONS ${PYQT_SIP_FLAGS} -o -a ${CMAKE_BINARY_DIR}/python/qgis.an
GENERATE_SIP_PYTHON_MODULE_CODE(qgis._analysis analysis/analysis.sip cpp_files)
BUILD_SIP_PYTHON_MODULE(qgis._analysis analysis/analysis.sip ${cpp_files} "" qgis_core qgis_analysis)

# network-analysis module
FILE(GLOB_RECURSE sip_files_network_analysis analysis/network/*.sip)
SET(SIP_EXTRA_FILES_DEPEND ${sip_files_core} ${sip_files_network_analysis})
SET(SIP_EXTRA_OPTIONS ${PYQT_SIP_FLAGS} -o -a ${CMAKE_BINARY_DIR}/python/qgis.networkanalysis.api)
GENERATE_SIP_PYTHON_MODULE_CODE(qgis._networkanalysis analysis/network/networkanalysis.sip cpp_files)
BUILD_SIP_PYTHON_MODULE(qgis._networkanalysis networkanalysis/networkanalysis.sip ${cpp_files} "" qgis_core qgis_networkanalysis)

SET(QGIS_PYTHON_DIR ${PYTHON_SITE_PACKAGES_DIR}/qgis)

IF(WITH_QSCIAPI)
# wait until after python module builds for api files to be available
SET(QGIS_PYTHON_API_FILE "${CMAKE_BINARY_DIR}/python/qsci_apis/PyQGIS.api")

ADD_CUSTOM_TARGET(qsci-api ALL
DEPENDS python_module_qgis__gui python_module_qgis__core python_module_qgis__analysis python_module_qgis__networkanalysis)
DEPENDS python_module_qgis__gui python_module_qgis__core python_module_qgis__analysis)

# run update/concatenate command
ADD_CUSTOM_COMMAND(TARGET qsci-api
Expand Down
10 changes: 10 additions & 0 deletions python/analysis/analysis.sip
Expand Up @@ -52,3 +52,13 @@
%Include raster/qgsruggednessfilter.sip
%Include raster/qgsslopefilter.sip
%Include raster/qgstotalcurvaturefilter.sip

%Include network/qgsgraph.sip
%Include network/qgsnetworkstrategy.sip
%Include network/qgsnetworkspeedstrategy.sip
%Include network/qgsnetworkdistancestrategy.sip
%Include network/qgsgraphbuilderinterface.sip
%Include network/qgsgraphbuilder.sip
%Include network/qgsgraphdirector.sip
%Include network/qgsvectorlayerdirector.sip
%Include network/qgsgraphanalyzer.sip
15 changes: 0 additions & 15 deletions python/analysis/network/networkanalysis.sip

This file was deleted.

45 changes: 0 additions & 45 deletions python/analysis/network/qgsarcproperter.sip

This file was deleted.

10 changes: 0 additions & 10 deletions python/analysis/network/qgsdistancearcproperter.sip

This file was deleted.

0 comments on commit 3dcf03c

Please sign in to comment.