Prikazi cijelu temu 27.07.2011 00:44
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Lokacija:Tuzla


Predmet:Re: Queries vece manje
Da kao sto sam i pretpostavljao imas tacku stajalista i ovo kako si poceo nemozes odraditi nikako dobro mada se tebi cini da je dobro.
Neznam dali si po struci geodeta?
Ovo je posao za gedete.
Naime ja imam jednu app. koju sam radio za geodete prije nekada davno i vjerovatno bi ti ona trebala bar jedan dio.
Evo ti tvoj Query samo nakacena moja procedura.
PreuzmiIzvorni kôd (SQL):
  1. SELECT x.[1] AS x_1, y.[1] AS y_1, y.[2] AS y_2, x.[2] AS x_2, Sqr((([x_2]-[x_1])^2)+(([y_2]-[y_1])^2)) AS metara, RacunK([x].[1],[x].[2],[y].[1],[y].[2])+Sqr((Atn(([x_2]-[x_1])/([y_2]-[y_1]))*57.29577951)^2) AS stepeni
  2. FROM x INNER JOIN y ON x.id_x = y.id_y;

a avo ti i procedura kako si zadnji puta napisao da treba.
Citat:
.Trebalo bi biti ovaj azimut sto sam ja dobio neki broj recimo 250 plus ili minus zavisno od kvadranta neki od slijedeci brojeva (prvi kvadrant 90- drugi kvdrant 90+ treci kvadrant 270+ i cetvrti kvadrant 270-) te bi tad imao pravi azimut...

PreuzmiIzvorni kôd (Visual Basic):
  1. Function RacunK(X_t1 As Double, X_t2 As Double, Y_t1 As Double, Y_t2 As Double)
  2. Dim DeltaX As Double
  3. Dim DeltaY As Double
  4.  
  5. DeltaX = X_t1 - X_t2
  6. DeltaY = Y_t1 - Y_t2
  7. If DeltaX > 0 Then
  8.     If DeltaY > 0 Then
  9.     RacunK = -90
  10.     Else
  11.     RacunK = 90
  12.     End If
  13. Else
  14.     If DeltaY > 0 Then
  15.     RacunK = 270
  16.     Else
  17.     RacunK = -270
  18.     End If
  19. End If
  20. End Function

Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.