Mam zainstalowany QGIS 2.18.16. Mój problem polega na tym, jak obliczyć promień łuku / cechy łuku (linii)? Linie pochodzą z pliku .dgn, który przeczytałem w FME i napisałem do PostGis DB. Utworzyłem klucze podstawowe itp., A tabela jest w pełni edytowalna. Pomyślnie obliczyłem długości łuków, ale nie mogę dowiedzieć się, jak obliczyć promień dla tych krzywych. To ( https://www.mathopenref.com/arcradius.html ) może dać jakiś pomysł po stronie matematyki, chociaż nie mogę wymyślić, jak go używać w kalkulatorze QGIS. Więc muszę obliczyć „R” dla wszystkich linii, które mam w DB.
Poniżej znajduje się przykład. Moje dane mają łuki / krzywe na innej tabeli niż „normalne” polilinie.
qgis
field-calculator
calculate-values
Sisuaski
źródło
źródło
Vertex Editor
po kliknięciuNode Tool
?Odpowiedzi:
Następują lekko przetestowane formuły, więc zachowaj ostrożność. Ale podążając wraz z przykładem tutaj: https://www.mathopenref.com/arcradius.html
Jeśli twoje okrągłe łuki mają wierzchołek w środkowym punkcie wzdłuż łuku (co mówię to x1, y1 na rysunku), możesz użyć go wraz z punktami początkowym i końcowym do obliczenia długości cięciwy „ W ” i wysokości „ h ”, aby uzyskać promień „R” przy użyciu następującego wzoru:
i mówiąc
W =
i
H =
w oknie dialogowym Wyrażenie kalkulatora pola będziesz mieć takie długie równanie do obliczenia promienia:
R =
źródło
$$W= \sqrt {(x_{-1} - x_0)^2 +(y_{-1}-y_0)^2}$$
$$H = \sqrt { (x_1- \frac {(x_{-1}+x_0)} 2 )^2 + (y_1- \frac {(y_{-1}+y_0)} 2 )^2}$$
i$$R = \frac {\sqrt { (x_1- \frac {(x_{-1}+x_0)} 2 )^2 + (y_1- \frac {(y_{-1}+y_0)} 2 )^2}} {2} + \frac {(x_{-1} - x_0)^2 +(y_{-1}-y_0)^2} {8 \sqrt { (x_1- \frac {(x_{-1}+x_0)} 2 )^2 + (y_1- \frac {(y_{-1}+y_0)} 2 )^2}}$$
Co z wyodrębnieniem promienia podczas wyodrębniania danych za pomocą FME? Tam masz transformator ArcPropertyExtractor, który powinien dać ci wartości promienia w atrybutach gotowych do ustawienia w DB PostGIS
źródło