[FOSSGIS-Talk] QGIS 3.18.1: Nächster Nachbar

Thomas B rdbath.regiodata at gmail.com
Do Apr 8 13:32:46 CEST 2021


Hallo auch,
um mal kurz meinen "Senf" dazuzugeben:

Warum die Algorithmen unterschiedliche Ergebnisse liefern ist  "aus der
Ferne" schwer zu sagen.

Ist denn der räumliche Index der Layer aktuell?
Je nachdem ob der jeweilige Algorithmus selbst einen erzeugt oder den
bestehenden nutzt könnte ein nicht korrekter räumlicher Index eventuell
Probleme machen.

( Da ich vermute, dass beides Punktlayer sind dürfte auch die Art der
Entfernungsmessung nicht ins Gewicht fallen. Der Algorithmus "Abstand zum
nächsten Knoten" misst ja die kürzeste Entfernung explizit zum Zentrum
eines Objektes, was z.B. bei einem Ziel-Polygon einen Unterschied macht zur
kürzesten Distanz zum nächsten Punkt auf dem äußeren Ring. )

Aber genug der Kaffeesatz-Leserei.

Es gibt in QGIS 3.18 ja noch die Algorithmen "Attribute nach nächstem
verknüpfen" und analog zum MMQGIS-Plugin einen Algorithmus "Durch Linien
verbinden".
Vielleicht klappt es mit einem der beiden Algorithmen besser?

Grundsätzlich könnte man das MMQGIS-Plugin schon auch abseits der GUI
ansprechen aber das fände ich relativ kompliziert, da man dann ja manuell
alle möglichen Parameter mit übergeben muss.

Von der Syntax her wäre das grob:


from mmqgis.mmqgis_library import mmqgis_hub_lines

mmqgis_hub_lines( notwendige Argumente hier... )

# 8 benötigte Parameter der Funktion:: 'hub_layer', 'hub_name_field',
'spoke_layer', 'spoke_hub_name_field', 'allocation_criteria',
'distance_unit', 'output_geometry' und 'output_file_name'


Viele Grüße,
Thomas



Am Do., 1. Apr. 2021 um 20:00 Uhr schrieb Dr. Michael Hälsig <
michael.haelsig at online.de>:

> Hallo,
> ich habe Oberzentren und Mittelzentren, und möchte die Mittelzentren an
> das
> nächstliegende Oberzentrum anbinden.
>
> Der Algorithmus 'Abstand zum nächsten Knoten (Linie zu Knoten)'
> aus der Werkzeugkiste liefert auch *weitgehend* passende Ergebnisse, der
> Algorithmus 'Distanzmatrix' mit k=1 das gleiche - weitgehend passende-
> Ergebnis. Allerdings sind einige Mittelzentren an weiter entfernte
> Oberzentren
> angebunden, was ich nicht verstehe. Es geht um Distanzen von 1.400 und
> 1.900
> m, kann also nicht an Rundungsfehlern oder unterschiedlicher
> Distanzberechnung
> liegen.
>
> Der Algorithmus 'Create Hublines / Distance' aus dem Plugin MMQGIS liefert
> mir
> *genau* das richtige Ergebnis. Er hat allerdings den Nachteil für mich,
> dass
> ich ihn nicht in einen Workflow, wie die anderen Algorithmen, einbinden
> kann.
>
> ==> Wieso liefern die Algorithmen unterschiedliche Ergebnisse? Was
> übersehe
> ich - oder wo schaue ich nicht genau hin?
>
> ==>  Gibt es (alternativ) eine einfache Möglichkeit, den 'Create Hublines'
> Algorithmus aus MMQGIS in einen Workflow einzubinden?
>
> Vielen Dank für Tipps!
> Michael Hälsig
>
> --
> Dr. Michael Hälsig
> Diefenbachstr. 9
> 81479 München
>
> Tel: +49 89 79 199 563
> Mobil: +49 171 333 7558
>
>
> --
> ....................................................................
> FOSSGIS Veranstaltungen
> https://www.fossgis.de/news/fossgis-events/
>
> FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
> GIS-Bereich und Freier Geodaten!
> https://www.fossgis.de/             https://twitter.com/fossgis_eV
>
> ____________________________________________________________________
> FOSSGIS-Talk-Liste mailing list
> FOSSGIS-Talk-Liste at fossgis.de
> https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste
>


Mehr Informationen über die Mailingliste FOSSGIS-Talk-Liste