| | | Wie Sie mit 3D-Druck glattere Oberflächen erhalten, eine Pressemitteilung
|
Autor
|
Thema: Im Feldrechner Koordinaten in festem Abstand zu Ausgangspunkten errechnen (1181 / mal gelesen)
|
Billig-Globus Mitglied
Beiträge: 7 Registriert: 11.06.2021
|
erstellt am: 25. Jun. 2021 13:31 <-- editieren / zitieren --> Unities abgeben:
Liebes Forum, in einem QGIS-Projekt habe ich einen Punktelayer. Die Punkte basieren auf einem Gitternetz, es handelt sich um Stützpunkte von Quadraten. Für jeden Punkt habe ich im Feldrechner mit $x und $y die Koordinaten bestimmt. Jetzt benötige ich zusätzlich zu diesen Koordinaten für jeden einzelnen Punkt weitere Koordinaten, nämlich die eines Punktes, der 2,50 m rechts und 2,50 oberhalb des Ausgangspunktes liegt. Das ist kein Problem, solange das zugrundeliegende Gitter exakt genordet ist. In diesen Fällen habe ich einfach zwei weitere Spalten eingefügt und in den Feldrechner "x"+2.5 bzw. "y"+2.5 eingegeben. Das funktioniert aber nicht, wenn das zugrundeliegende Gitter nicht genordet ist, da die Punkte, die sich auf die Ausgangspunkte beziehen, nicht gerade östlich und nördlich der Ausgangspunkte liegen, sondern dem selben Winkel folgen, in dem das zugrundliegende Gitter verschoben ist. Ich überlege, ob es eine Formel für den Feldrechner geben kann, der den Abstand von 2,50 zum Ausgangspunkt unter Einbeziehung des Winkels berechnet. Der erste Schritt ist wohl die Anwendung von Pythagoras, um aus zwei Entfernungen (2,50 m rechts und 2,50 m hoch) nur eine Entfernung zu haben - gerundet 3,54 m. Die Winkelabweichung ist dann nicht mehr +100 Gon von null Gon, sondern +50 Gon in Bezug zum Winkel, auf den das Gitter ausgerichtet ist. Hier steige ich aus. Ich glaube, das ist eher Vermessungswissen als QGIS-Wissen. Aber vielleicht kann es jemand. Wie könnte man die Koordinaten des gewünschten Punktes errechnen? Grüße Billig-Globus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2799 Registriert: 02.05.2006 Autocad Map, ArcGIS, QGIS Visual Basic
|
erstellt am: 25. Jun. 2021 15:09 <-- editieren / zitieren --> Unities abgeben: Nur für Billig-Globus
Hallo, Nicht unbedingt Vermessungswissen aber normale Mathematik Wie Du schon angedeutet hast kannst Du Dir ja den Abweichungswinkel des gedrehten Gitternetzes aus zwei übereinanderliegenden Punkten berechnen: TDreh = arctan((Xoben-Xunten)/(Yoben-Yunten)) Winkel ist in Bogenmaß, könnte man auch in Gon haben, dann: TDreh * 200 / pi() Nehmen wir einmal eine Drehung von 15 Grad an. Du kennst den Winkel zu Deinem gesuchten Punkt, bei gleichmäßigen Abstand sind das 50 Gon bzw. 45 Grad. Diesen Winkel mußt Du addieren, also bekommst Du eine Nordrichtung von 60 Grad (Tneu) Die Länge der Strecke zum Neupunkt hast bereits gerechnet, bei 2,5m sind das 3,536 m (Sdiag) damit würden sich folgende Werte für die Addition ergeben: Rechtswert = sin(Tneu/180*pi()) * Sdiag = 3,0618 Hochwert = cos(Tneu/180*pi()) * Sdiag = 1,7678 Grüße Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Billig-Globus Mitglied
Beiträge: 7 Registriert: 11.06.2021
|
erstellt am: 01. Jul. 2021 13:43 <-- editieren / zitieren --> Unities abgeben:
Hmmmm, ich würde das gerne ausprobieren, aber dafür müssten die Winkel stimmen und mir ist aufgefallen, dass dies offenbar noch nicht der Fall ist. Ich habe aus dieser Anleitung die Formeln aus Antwort 44 verwendet: https://gis.stackexchange.com/questions/24260/adding-direction-and-distance-into-attribute-table (atan((xat(-1)-xat(0))/(yat(-1)-yat(0)))) * 180/3.14159 + (180 *(((yat(-1)-yat(0)) < 0) + (((xat(-1)-xat(0)) < 0 AND (yat(-1) - yat(0)) >0)*2))) oder CASE WHEN ((yat(-1)-yat(0)) = 0 and (xat(-1) - xat(0)) >0) THEN 90 WHEN ((yat(-1)-yat(0)) = 0 and (xat(-1) - xat(0)) <0) THEN 270 ELSE (atan((xat(-1)-xat(0))/(yat(-1)-yat(0)))) * 180/pi() + (180 * (((yat(-1)-yat(0)) < 0) + (((xat(-1)-xat(0)) < 0 AND (yat(-1) - yat(0)) > 0)*2))) END Auf den ersten Blick dachte ich, toll, das hat wohl funktioniert. Doch bei näherer Betrachtung fällt auf, dass die Winkel nicht stimmen können. Auf die Korrektur der Winkel von Grad nach Gon habe ich geachtet. Die Ergebnisse sind immer dieselben. Hier ein Beispiel:
Die obere in der Attributtabelle markierte Linie ist die nördlichere auf der Karte, die andere markierte die südlichere. Man sieht, dass die nördliche bei deutlich unter 50 Gon liegen muss (vielleicht 40, resp. 240) und die südlichere bei ca. 140 Gon (resp. 340). Die Karte ist natürlich genordet, KBS ist UTM32. Außerdem sind die beiden Geraden im rechten Winkel, so dass die Differenz genau 100 bzw. 300 Gon betragen müsste. Auch bei meinen übrigen Flächen habe ich diesen Befund. Die Ergebnisse der Berechnung weichen allerdings nicht gleichgerichtet ab. Das ist auch an diesem Beispiel erkennbar, da der erste Winkel offensichtlich zu hoch und der zweite offensichtlich zu niedrig ausgewiesen wird. Sind die oben angegebenen Formeln richtig bzw. richtig verwendet? Gruß Billig-Globus [Diese Nachricht wurde von Billig-Globus am 01. Jul. 2021 editiert.] [Diese Nachricht wurde von Billig-Globus am 01. Jul. 2021 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2799 Registriert: 02.05.2006 Autocad Map, ArcGIS, QGIS Visual Basic
|
erstellt am: 01. Jul. 2021 19:01 <-- editieren / zitieren --> Unities abgeben: Nur für Billig-Globus
Merkwürdig, aber prinzipiell stimmt die Formel. Wenn sie Dir nicht klar ist, kann ich sie Dir gerne erläutern. Kannst Du die Tabelle noch einmal ergänzen um: dx = xat(-1)-xat(0) dy = yat(-1)-yat(0) Abstände zwischen 1. und letztem Punkt. Dann würde man schon mal sehen ob der Winkel prinzipiell passt und welche Genauigkeit das Raster hat. Dann ist natürlich auch die Frage wie genau passen die Rasterpunkte und mit welcher Genauigkeit hast du Pi angegeben? Wie ist die Richtung definiert? (nach Norden? im Uhrzeigersinn?) X = Ostrichtung? Grüße Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Billig-Globus Mitglied
Beiträge: 7 Registriert: 11.06.2021
|
erstellt am: 02. Jul. 2021 13:13 <-- editieren / zitieren --> Unities abgeben:
Tja - weiß auch nicht so recht. Ich habe versucht, die Tabelle mit den Linien um das entsprechende Feld zu ergänzen, doch der Feldechner akzeptiert den Ausdruck nicht "ungültiger Ausdruck". Wie ich Dich verstanden habe, soll der Ausdruck den Abstand zwischen den beiden Endpunkten einer jeden Geraden ermitteln. Diese Punkte selbst sind in der Attributtabelle ja nciht enthalten, aber ich dachte, QGIS "weiß" die Punkte. Oder müssten sie im Feldrechner zuvor noch definiert werden? Pi habe ich nicht extra angegeben, sondern aus den beiden Formeln so übernommen. In der ersten Formel steht 3.14159; in der zweiten Formel der Ausdruck pi(). Ich ahbe aber festgestellt, dass beide Formeln zu demselben Ergebnis führen (mit jeweils drei Nachkommastellen). Wie die Richtung definiert ist, habe ich mich auch schon gefragt... ich wäre bisher damit zufruieden gewesen, wenn einfach die letzten beiden Ziffern der Gonzahl stimmen - den Rest merke ich dann im Gelände schon. Aber ich habe bisher nicht verstanden, wie man dem Feldrechner sagt, in welche Richtung er misst (mit oder gegen UZS) und welcher Endpunkte der Geraden dabei x und welcher y ist. Grüße Billig-Globus [Diese Nachricht wurde von Billig-Globus am 02. Jul. 2021 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2799 Registriert: 02.05.2006 Autocad Map, ArcGIS, QGIS Visual Basic
|
erstellt am: 02. Jul. 2021 21:46 <-- editieren / zitieren --> Unities abgeben: Nur für Billig-Globus
Hi, da muß ich leider passen, verwende hauptsächlich ArcGis aber ich kann ja Montag mal unsere QGis-Anwender fragen wenn sich hier kein anderer beteiligt. Hast Du die Formel auch mal als (xat(-1)-xat(0)) eingegeben? Die Attributtabelle ist ja mit der Grafik verbunden und holt sich von dort die Punktwerte. In ArcGis sind die Nordrichtung und Drehwinkel in den Projekteigenschaften eingetragen, so weit ich mich erinnere ist das bei QGis ähnlich bei der Zuordnung des Koordinatensystems. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|