jagodki / Offline-MapMatching

a QGIS-plugin for matching a trajectory with a network using a Hidden Markov Model and Viterbi algorithm
GNU General Public License v3.0
167 stars 51 forks source link

Could I use this plugin in other ide #40

Closed CNFeffery closed 3 years ago

CNFeffery commented 4 years ago

Hello!

I created an environment contains qgis in conda via the following code:

conda create -n qgis python=3.7 -y
conda activate qgis
conda install -c conda-forge qgis -y
qgis

then I installed Offline-MapMatching in qgis, bus I can't found Offline-MapMatching via following code:

from qgis.core import QgsApplication
from processing.core.Processing import Processing

qgs = QgsApplication([], False)
qgs.initQgis()

Processing.initialize()

for alg in QgsApplication.processingRegistry().algorithms():
        print(alg.id(), "--->", alg.displayName())

gdal:aspect ---> Aspect gdal:assignprojection ---> Assign projection gdal:buffervectors ---> Buffer vectors gdal:buildvirtualraster ---> Build virtual raster gdal:buildvirtualvector ---> Build virtual vector gdal:cliprasterbyextent ---> Clip raster by extent gdal:cliprasterbymasklayer ---> Clip raster by mask layer gdal:clipvectorbyextent ---> Clip vector by extent gdal:clipvectorbypolygon ---> Clip vector by mask layer gdal:colorrelief ---> Color relief gdal:contour ---> Contour gdal:convertformat ---> Convert format gdal:dissolve ---> Dissolve gdal:executesql ---> Execute SQL gdal:extractprojection ---> Extract projection gdal:fillnodata ---> Fill nodata gdal:gdal2tiles ---> gdal2tiles gdal:gdal2xyz ---> gdal2xyz gdal:gdalinfo ---> Raster information gdal:gridaverage ---> Grid (Moving average) gdal:griddatametrics ---> Grid (Data metrics) gdal:gridinversedistance ---> Grid (Inverse distance to a power) gdal:gridinversedistancenearestneighbor ---> Grid (IDW with nearest neighbor searching) gdal:gridlinear ---> Grid (Linear) gdal:gridnearestneighbor ---> Grid (Nearest neighbor) gdal:hillshade ---> Hillshade gdal:importvectorintopostgisdatabaseavailableconnections ---> Export to PostgreSQL (available connections) gdal:importvectorintopostgisdatabasenewconnection ---> Export to PostgreSQL (new connection) gdal:merge ---> Merge gdal:nearblack ---> Near black gdal:offsetcurve ---> Offset curve gdal:ogrinfo ---> Vector information gdal:onesidebuffer ---> One side buffer gdal:overviews ---> Build overviews (pyramids) gdal:pansharp ---> Pansharpening gdal:pcttorgb ---> PCT to RGB gdal:pointsalonglines ---> Points along lines gdal:polygonize ---> Polygonize (raster to vector) gdal:proximity ---> Proximity (raster distance) gdal:rastercalculator ---> Raster calculator gdal:rasterize ---> Rasterize (vector to raster) gdal:rasterize_over ---> Rasterize (overwrite with attribute) gdal:rasterize_over_fixed_value ---> Rasterize (overwrite with fixed value) gdal:rearrange_bands ---> Rearrange bands gdal:retile ---> Retile gdal:rgbtopct ---> RGB to PCT gdal:roughness ---> Roughness gdal:sieve ---> Sieve gdal:slope ---> Slope gdal:tileindex ---> Tile index gdal:tpitopographicpositionindex ---> Topographic Position Index (TPI) gdal:translate ---> Translate (convert format) gdal:triterrainruggednessindex ---> Terrain Ruggedness Index (TRI) gdal:warpreproject ---> Warp (reproject) grass7:i.albedo ---> i.albedo grass7:i.aster.toar ---> i.aster.toar grass7:i.atcorr ---> i.atcorr grass7:i.biomass ---> i.biomass grass7:i.cca ---> i.cca grass7:i.cluster ---> i.cluster grass7:i.colors.enhance ---> i.colors.enhance grass7:i.eb.eta ---> i.eb.eta grass7:i.eb.evapfr ---> i.eb.evapfr grass7:i.eb.hsebal01.coords ---> i.eb.hsebal01.coords grass7:i.eb.netrad ---> i.eb.netrad grass7:i.eb.soilheatflux ---> i.eb.soilheatflux grass7:i.emissivity ---> i.emissivity grass7:i.evapo.mh ---> i.evapo.mh grass7:i.evapo.pm ---> i.evapo.pm grass7:i.evapo.pt ---> i.evapo.pt grass7:i.evapo.time ---> i.evapo.time grass7:i.fft ---> i.fft grass7:i.gensig ---> i.gensig grass7:i.gensigset ---> i.gensigset grass7:i.group ---> i.group grass7:i.his.rgb ---> i.his.rgb grass7:i.ifft ---> i.ifft grass7:i.image.mosaic ---> i.image.mosaic grass7:i.in.spotvgt ---> i.in.spotvgt grass7:i.landsat.acca ---> i.landsat.acca grass7:i.landsat.toar ---> i.landsat.toar grass7:i.maxlik ---> i.maxlik grass7:i.modis.qc ---> i.modis.qc grass7:i.oif ---> i.oif grass7:i.pansharpen ---> i.pansharpen grass7:i.pca ---> i.pca grass7:i.rgb.his ---> i.rgb.his grass7:i.segment ---> i.segment grass7:i.smap ---> i.smap grass7:i.tasscap ---> i.tasscap grass7:i.topo.coor.ill ---> i.topo.coor.ill grass7:i.topo.corr ---> i.topo.corr grass7:i.vi ---> i.vi grass7:i.zc ---> i.zc grass7:m.cogo ---> m.cogo grass7:nviz ---> nviz grass7:r.basins.fill ---> r.basins.fill grass7:r.blend.combine ---> r.blend.combine grass7:r.blend.rgb ---> r.blend.rgb grass7:r.buffer ---> r.buffer grass7:r.buffer.lowmem ---> r.buffer.lowmem grass7:r.carve ---> r.carve grass7:r.category ---> r.category grass7:r.category.out ---> r.category.out grass7:r.circle ---> r.circle grass7:r.clump ---> r.clump grass7:r.coin ---> r.coin grass7:r.colors ---> r.colors grass7:r.colors.out ---> r.colors.out grass7:r.colors.stddev ---> r.colors.stddev grass7:r.composite ---> r.composite grass7:r.contour ---> r.contour grass7:r.cost ---> r.cost grass7:r.covar ---> r.covar grass7:r.cross ---> r.cross grass7:r.describe ---> r.describe grass7:r.distance ---> r.distance grass7:r.drain ---> r.drain grass7:r.fill.dir ---> r.fill.dir grass7:r.fill.stats ---> r.fill.stats grass7:r.fillnulls ---> r.fillnulls grass7:r.flow ---> r.flow grass7:r.geomorphon ---> r.geomorphon grass7:r.grow ---> r.grow grass7:r.grow.distance ---> r.grow.distance grass7:r.gwflow ---> r.gwflow grass7:r.his ---> r.his grass7:r.horizon ---> r.horizon grass7:r.horizon.height ---> r.horizon.height grass7:r.in.lidar ---> r.in.lidar grass7:r.in.lidar.info ---> r.in.lidar.info grass7:r.info ---> r.info grass7:r.kappa ---> r.kappa grass7:r.lake ---> r.lake grass7:r.latlong ---> r.latlong grass7:r.li.cwed ---> r.li.cwed grass7:r.li.cwed.ascii ---> r.li.cwed.ascii grass7:r.li.dominance ---> r.li.dominance grass7:r.li.dominance.ascii ---> r.li.dominance.ascii grass7:r.li.edgedensity ---> r.li.edgedensity grass7:r.li.edgedensity.ascii ---> r.li.edgedensity.ascii grass7:r.li.mpa ---> r.li.mpa grass7:r.li.mpa.ascii ---> r.li.mpa.ascii grass7:r.li.mps ---> r.li.mps grass7:r.li.mps.ascii ---> r.li.mps.ascii grass7:r.li.padcv ---> r.li.padcv grass7:r.li.padcv.ascii ---> r.li.padcv.ascii grass7:r.li.padrange ---> r.li.padrange grass7:r.li.padrange.ascii ---> r.li.padrange.ascii grass7:r.li.padsd ---> r.li.padsd grass7:r.li.padsd.ascii ---> r.li.padsd.ascii grass7:r.li.patchdensity ---> r.li.patchdensity grass7:r.li.patchdensity.ascii ---> r.li.patchdensity.ascii grass7:r.li.patchnum ---> r.li.patchnum grass7:r.li.patchnum.ascii ---> r.li.patchnum.ascii grass7:r.li.pielou ---> r.li.pielou grass7:r.li.pielou.ascii ---> r.li.pielou.ascii grass7:r.li.renyi ---> r.li.renyi grass7:r.li.renyi.ascii ---> r.li.renyi.ascii grass7:r.li.richness ---> r.li.richness grass7:r.li.richness.ascii ---> r.li.richness.ascii grass7:r.li.shannon ---> r.li.shannon grass7:r.li.shannon.ascii ---> r.li.shannon.ascii grass7:r.li.shape ---> r.li.shape grass7:r.li.shape.ascii ---> r.li.shape.ascii grass7:r.li.simpson ---> r.li.simpson grass7:r.li.simpson.ascii ---> r.li.simpson.ascii grass7:r.mapcalc.simple ---> r.mapcalc.simple grass7:r.mask.rast ---> r.mask.rast grass7:r.mask.vect ---> r.mask.vect grass7:r.mfilter ---> r.mfilter grass7:r.mode ---> r.mode grass7:r.neighbors ---> r.neighbors grass7:r.null ---> r.null grass7:r.out.ascii ---> r.out.ascii grass7:r.out.gridatb ---> r.out.gridatb grass7:r.out.mat ---> r.out.mat grass7:r.out.mpeg ---> r.out.mpeg grass7:r.out.png ---> r.out.png grass7:r.out.pov ---> r.out.pov grass7:r.out.ppm ---> r.out.ppm grass7:r.out.ppm3 ---> r.out.ppm3 grass7:r.out.vrml ---> r.out.vrml grass7:r.out.vtk ---> r.out.vtk grass7:r.out.xyz ---> r.out.xyz grass7:r.param.scale ---> r.param.scale grass7:r.patch ---> r.patch grass7:r.plane ---> r.plane grass7:r.profile ---> r.profile grass7:r.proj ---> r.proj grass7:r.quant ---> r.quant grass7:r.quantile ---> r.quantile grass7:r.random ---> r.random grass7:r.random.cells ---> r.random.cells grass7:r.random.surface ---> r.random.surface grass7:r.reclass ---> r.reclass grass7:r.reclass.area ---> r.reclass.area grass7:r.recode ---> r.recode grass7:r.regression.line ---> r.regression.line grass7:r.regression.multi ---> r.regression.multi grass7:r.relief ---> r.relief grass7:r.relief.scaling ---> r.relief.scaling grass7:r.report ---> r.report grass7:r.resamp.bspline ---> r.resamp.bspline grass7:r.resamp.filter ---> r.resamp.filter grass7:r.resamp.interp ---> r.resamp.interp grass7:r.resamp.rst ---> r.resamp.rst grass7:r.resamp.stats ---> r.resamp.stats grass7:r.resample ---> r.resample grass7:r.rescale ---> r.rescale grass7:r.rescale.eq ---> r.rescale.eq grass7:r.rgb ---> r.rgb grass7:r.ros ---> r.ros grass7:r.series ---> r.series grass7:r.series.accumulate ---> r.series.accumulate grass7:r.series.interp ---> r.series.interp grass7:r.shade ---> r.shade grass7:r.sim.sediment ---> r.sim.sediment grass7:r.sim.water ---> r.sim.water grass7:r.slope.aspect ---> r.slope.aspect grass7:r.solute.transport ---> r.solute.transport grass7:r.spread ---> r.spread grass7:r.spreadpath ---> r.spreadpath grass7:r.statistics ---> r.statistics grass7:r.stats ---> r.stats grass7:r.stats.quantile.out ---> r.stats.quantile.out grass7:r.stats.quantile.rast ---> r.stats.quantile.rast grass7:r.stats.zonal ---> r.stats.zonal grass7:r.stream.extract ---> r.stream.extract grass7:r.sun.incidout ---> r.sun.incidout grass7:r.sun.insoltime ---> r.sun.insoltime grass7:r.sunhours ---> r.sunhours grass7:r.sunmask.datetime ---> r.sunmask.datetime grass7:r.sunmask.position ---> r.sunmask.position grass7:r.surf.area ---> r.surf.area grass7:r.surf.contour ---> r.surf.contour grass7:r.surf.fractal ---> r.surf.fractal grass7:r.surf.gauss ---> r.surf.gauss grass7:r.surf.idw ---> r.surf.idw grass7:r.surf.random ---> r.surf.random grass7:r.terraflow ---> r.terraflow grass7:r.texture ---> r.texture grass7:r.thin ---> r.thin grass7:r.tile ---> r.tile grass7:r.tileset ---> r.tileset grass7:r.to.vect ---> r.to.vect grass7:r.topidx ---> r.topidx grass7:r.topmodel ---> r.topmodel grass7:r.topmodel.topidxstats ---> r.topmodel.topidxstats grass7:r.transect ---> r.transect grass7:r.univar ---> r.univar grass7:r.uslek ---> r.uslek grass7:r.usler ---> r.usler grass7:r.viewshed ---> r.viewshed grass7:r.volume ---> r.volume grass7:r.walk.coords ---> r.walk.coords grass7:r.walk.points ---> r.walk.points grass7:r.walk.rast ---> r.walk.rast grass7:r.water.outlet ---> r.water.outlet grass7:r.watershed ---> r.watershed grass7:r.what.color ---> r.what.color grass7:r.what.coords ---> r.what.coords grass7:r.what.points ---> r.what.points grass7:v.buffer ---> v.buffer grass7:v.build.check ---> v.build.check grass7:v.build.polylines ---> v.build.polylines grass7:v.class ---> v.class grass7:v.clean ---> v.clean grass7:v.cluster ---> v.cluster grass7:v.db.select ---> v.db.select grass7:v.decimate ---> v.decimate grass7:v.delaunay ---> v.delaunay grass7:v.dissolve ---> v.dissolve grass7:v.distance ---> v.distance grass7:v.drape ---> v.drape grass7:v.edit ---> v.edit grass7:v.extract ---> v.extract grass7:v.extrude ---> v.extrude grass7:v.generalize ---> v.generalize grass7:v.hull ---> v.hull grass7:v.in.ascii ---> v.in.ascii grass7:v.in.dxf ---> v.in.dxf grass7:v.in.e00 ---> v.in.e00 grass7:v.in.geonames ---> v.in.geonames grass7:v.in.lidar ---> v.in.lidar grass7:v.in.lines ---> v.in.lines grass7:v.in.mapgen ---> v.in.mapgen grass7:v.in.wfs ---> v.in.wfs grass7:v.info ---> v.info grass7:v.kcv ---> v.kcv grass7:v.kernel.rast ---> v.kernel.rast grass7:v.kernel.vector ---> v.kernel.vector grass7:v.lidar.correction ---> v.lidar.correction grass7:v.lidar.edgedetection ---> v.lidar.edgedetection grass7:v.lidar.growing ---> v.lidar.growing grass7:v.mkgrid ---> v.mkgrid grass7:v.neighbors ---> v.neighbors grass7:v.net ---> v.net grass7:v.net.alloc ---> v.net.alloc grass7:v.net.allpairs ---> v.net.allpairs grass7:v.net.bridge ---> v.net.bridge grass7:v.net.centrality ---> v.net.centrality grass7:v.net.components ---> v.net.components grass7:v.net.connectivity ---> v.net.connectivity grass7:v.net.distance ---> v.net.distance grass7:v.net.flow ---> v.net.flow grass7:v.net.iso ---> v.net.iso grass7:v.net.nreport ---> v.net.nreport grass7:v.net.path ---> v.net.path grass7:v.net.report ---> v.net.report grass7:v.net.salesman ---> v.net.salesman grass7:v.net.spanningtree ---> v.net.spanningtree grass7:v.net.steiner ---> v.net.steiner grass7:v.net.timetable ---> v.net.timetable grass7:v.net.visibility ---> v.net.visibility grass7:v.normal ---> v.normal grass7:v.out.ascii ---> v.out.ascii grass7:v.out.dxf ---> v.out.dxf grass7:v.out.postgis ---> v.out.postgis grass7:v.out.pov ---> v.out.pov grass7:v.out.svg ---> v.out.svg grass7:v.out.vtk ---> v.out.vtk grass7:v.outlier ---> v.outlier grass7:v.overlay ---> v.overlay grass7:v.pack ---> v.pack grass7:v.parallel ---> v.parallel grass7:v.patch ---> v.patch grass7:v.perturb ---> v.perturb grass7:v.proj ---> v.proj grass7:v.qcount ---> v.qcount grass7:v.random ---> v.random grass7:v.rast.stats ---> v.rast.stats grass7:v.reclass ---> v.reclass grass7:v.rectify ---> v.rectify grass7:v.report ---> v.report grass7:v.sample ---> v.sample grass7:v.segment ---> v.segment grass7:v.select ---> v.select grass7:v.split ---> v.split grass7:v.surf.bspline ---> v.surf.bspline grass7:v.surf.idw ---> v.surf.idw grass7:v.surf.rst ---> v.surf.rst grass7:v.surf.rst.cvdev ---> v.surf.rst.cvdev grass7:v.to.3d ---> v.to.3d grass7:v.to.lines ---> v.to.lines grass7:v.to.points ---> v.to.points grass7:v.to.rast ---> v.to.rast grass7:v.transform ---> v.transform grass7:v.type ---> v.type grass7:v.univar ---> v.univar grass7:v.vect.stats ---> v.vect.stats grass7:v.voronoi ---> v.voronoi grass7:v.voronoi.skeleton ---> v.voronoi.skeleton grass7:v.what.rast ---> v.what.rast grass7:v.what.vect ---> v.what.vect qgis:advancedpythonfieldcalculator ---> Advanced Python field calculator qgis:aggregate ---> Aggregate qgis:barplot ---> Bar plot qgis:basicstatisticsforfields ---> Basic statistics for fields qgis:boxplot ---> Box plot qgis:checkvalidity ---> Check validity qgis:climbalongline ---> Climb Along Line qgis:concavehull ---> Concave hull (alpha shapes) qgis:convertgeometrytype ---> Convert geometry type qgis:definecurrentprojection ---> Define Shapefile projection qgis:delaunaytriangulation ---> Delaunay triangulation qgis:deletecolumn ---> Drop field(s) qgis:distancematrix ---> Distance matrix qgis:distancetonearesthublinetohub ---> Distance to nearest hub (line to hub) qgis:distancetonearesthubpoints ---> Distance to nearest hub (points) qgis:eliminateselectedpolygons ---> Eliminate selected polygons qgis:executesql ---> Execute SQL qgis:exportaddgeometrycolumns ---> Add geometry attributes qgis:fieldcalculator ---> Field calculator qgis:findprojection ---> Find projection qgis:generatepointspixelcentroidsalongline ---> Generate points (pixel centroids) along line qgis:heatmapkerneldensityestimation ---> Heatmap (Kernel Density Estimation) qgis:hypsometriccurves ---> Hypsometric curves qgis:idwinterpolation ---> IDW interpolation qgis:importintopostgis ---> Export to PostgreSQL qgis:importintospatialite ---> Export to SpatiaLite qgis:joinbylocationsummary ---> Join attributes by location (summary) qgis:keepnbiggestparts ---> Keep N biggest parts qgis:knearestconcavehull ---> Concave hull (k-nearest neighbor) qgis:linestopolygons ---> Lines to polygons qgis:listuniquevalues ---> List unique values qgis:meanandstandarddeviationplot ---> Mean and standard deviation plot qgis:minimumboundinggeometry ---> Minimum bounding geometry qgis:pointsdisplacement ---> Points displacement qgis:pointstopath ---> Points to path qgis:polarplot ---> Polar plot qgis:polygonize ---> Polygonize qgis:postgisexecuteandloadsql ---> PostgreSQL execute and load SQL qgis:postgisexecutesql ---> PostgreSQL execute SQL qgis:randomextractwithinsubsets ---> Random extract within subsets qgis:randompointsalongline ---> Random points along line qgis:randompointsinlayerbounds ---> Random points in layer bounds qgis:randompointsinsidepolygons ---> Random points inside polygons qgis:randomselection ---> Random selection qgis:randomselectionwithinsubsets ---> Random selection within subsets qgis:rastercalculator ---> Raster calculator qgis:rasterlayerhistogram ---> Raster layer histogram qgis:rastersampling ---> Sample raster values qgis:rectanglesovalsdiamondsvariable ---> Rectangles, ovals, diamonds (variable) qgis:refactorfields ---> Refactor fields qgis:regularpoints ---> Regular points qgis:relief ---> Relief qgis:scatter3dplot ---> Vector layer scatterplot 3D qgis:selectbyattribute ---> Select by attribute qgis:selectbyexpression ---> Select by expression qgis:setstyleforrasterlayer ---> Set style for raster layer qgis:setstyleforvectorlayer ---> Set style for vector layer qgis:snapgeometries ---> Snap geometries to layer qgis:spatialiteexecutesql ---> SpatiaLite execute SQL qgis:splitvectorlayer ---> Split vector layer qgis:statisticsbycategories ---> Statistics by categories qgis:texttofloat ---> Text to float qgis:tilesxyzdirectory ---> Generate XYZ tiles (Directory) qgis:tilesxyzmbtiles ---> Generate XYZ tiles (MBTiles) qgis:tininterpolation ---> TIN interpolation qgis:topologicalcoloring ---> Topological coloring qgis:variabledistancebuffer ---> Variable distance buffer qgis:vectorlayerhistogram ---> Vector layer histogram qgis:vectorlayerscatterplot ---> Vector layer scatterplot qgis:voronoipolygons ---> Voronoi polygons

Are there some methods to use Offline-MapMatching in outer ide such as jupyter lab 🤔?

jagodki commented 4 years ago

Sorry for my late response 😕

I am sorry but I do not have any experience with PyQGIS in Conda. Are other plugins available via the processing framework in Conda and only Offline-MapMatching is missing or do all other plugins are missing too?

gottfriedmrs commented 4 years ago

Also interested to use this plugin in a Python framework, in order to do multiple tracks map-matching.

jagodki commented 4 years ago

@gottfriedmrs Do you want to run the plugin outside of QGIS? Or would it be enough, if you could run it in connection with QGIS? The plugin can be used also via the processing framework within QGIS. So what is your detailed target and set up?

jagodki commented 3 years ago

closed because of inactivity, please reopen this issue if necessary