Start › Forum › Diverse forumfrågor › IGO 8
- Detta ämne har 192 svar, 7 deltagare, och uppdaterades senast för 7 år, 5 månader sedan av
Tenn.
-
FörfattareInlägg
-
2 september, 2016 kl. 17:37 #219
Tyvärr är trafikverket som dom gamla grekerna eller vilka nu det var som trodde att jorden var platt. Dom använder sweref99 som tycker att jorden är platt IGO med flera har wgs84 som tycker att jorden är rund. Det är en ganska komplicerad matris för att räkna om som övergår mina matte kunskaper. Det finns massor med sidor för att omvandla en koordinat i taget men jag har inte hittills lyckats hitta nån bra batch konverterare. en bra sida är http://rl.se/rtmob jag hittade en konverterare i excel men lat blev fel long vart ok. Kan man fixa konverteringen så är väl resten mindre problem men i steg 1 blir det väl en del manuellt arbete som vi kan hjälpas åt med.
Jag tycker det är synd att inte utnyttja trafikverkets data och istället förlita sig på mer eller mindre manuella mätta koordinater. Det kan vara lönt att försöka fixa till det.Erik
2 september, 2016 kl. 18:27 #220Ja, man kan ju tycka att det borde räcka med en 3×3-matris för att konvertera mellan olika koordinatsystem, men matten blir ofta mer avancerad än så. Då kart-länkarna till hitta.se byggde på RT90 var jag tvungen att konvertera WGS84-koordinaterna i databasen till RT90 för att stödja kartlänkar till hitta.se. Den delen av phpoi blev såhär:
<?php /****************************************************************** Copyright 2008 Henrik Carlqvist This file is part of phpoi. Phpoi is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Phpoi is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with phpoi. If not, see <http://www.gnu.org/licenses/>. ******************************************************************/ function RT90($lat, $long) { $sin_lat = sin(deg2rad($lat)); $cos_lat = cos(deg2rad($lat)); $sin_lon = sin(deg2rad($long)); $cos_lon = cos(deg2rad($long)); $a_wgs = 6378137.0; $e2p_wgs = 0.00669437999013; $Bessel_Ellipsoid_a = 6377397.1542; $Bessel_Ellipsoid_e2p = 0.006674372232; $Gd_dR0 = 424.3; $Gd_dR1 = -80.5; $Gd_dR2 = 613.1; $Gd_dC0 = 0.000021315; $Gd_dC1 = -0.0000096313; $Gd_dC2 = 0.000025136; /* Transform WGS84 Lat/Long/H to geo-centric coordinates */ $N_wgs = $a_wgs/sqrt( 1.0 - $e2p_wgs * $sin_lat*$sin_lat ); $X_wgs = $N_wgs*$cos_lat*$cos_lon; $Y_wgs = $N_wgs*$cos_lat*$sin_lon; $Z_wgs = $N_wgs*(1.0 - $e2p_wgs)*$sin_lat; /* Bursa-Wolf transformation */ $X_gd = ( $X_wgs-$Gd_dC2*$Y_wgs+$Gd_dC1*$Z_wgs ) - $Gd_dR0; $Y_gd = ( $Y_wgs+$Gd_dC2*$X_wgs-$Gd_dC0*$Z_wgs ) - $Gd_dR1; $Z_gd = ( $Z_wgs-$Gd_dC1*$X_wgs+$Gd_dC0*$Y_wgs ) - $Gd_dR2; /* Transform geo-centric coordinates to Lat/Long/H in Generic Datum */ $P = hypot($X_gd, $Y_gd); $Q = sqrt(1.0 - $Bessel_Ellipsoid_e2p); $R = $Bessel_Ellipsoid_a*$Bessel_Ellipsoid_e2p; $Eta = atan( $Z_gd/($P*$Q) ); $lat_gd = atan( ($Z_gd + $R*pow(sin($Eta),3.0)/$Q) / ($P - $R*pow(cos($Eta),3.0) ) ); $long_gd = atan2( $Y_gd, $X_gd ); $N_gd = $Bessel_Ellipsoid_a / sqrt( 1.0 - $Bessel_Ellipsoid_e2p*pow(sin($lat_gd), 2)); $h_gd = $P/cos($lat_gd) - $N_gd; $a1 = 6.674372206E-3; /* Series expansion coefficients */ $a2 = 3.7073149E-5; $a3 = 2.569374E-7; $a4 = 1.9482E-9; $b1 = 8.3522527E-4; $b2 = 7.56302E-7; $b3 = 1.193E-9; $Y0 = 1500000.0; /* Mean Meridian Y Coordinate */ $RTH_L0 = 0.2759064963; /* Mean Meridian in RT90 (rad) */ $EarthRadius = 6366742.5194; /* [m] Mean Earth Radius */ $sin_lat = sin($lat_gd); $sin2_lat = pow($sin_lat, 2); $Lat_gc = $lat_gd - $sin_lat*cos($lat_gd) * ($a1+$sin2_lat*($a2+$sin2_lat*($a3+$sin2_lat*$a4))); $Xsi = atan(tan($Lat_gc) / cos($long_gd-$RTH_L0)); $Eta = atanh(cos($Lat_gc) * sin($long_gd-$RTH_L0)); $res["X"] = $EarthRadius*($Xsi+$b1*sin(2.0*$Xsi)*cosh(2.0*$Eta) + $b2*sin(4.0*$Xsi)*cosh(4.0*$Eta) + $b3*sin(6.0*$Xsi)*cosh(6.0*$Eta)); $res["Y"] = $Y0 + $EarthRadius*($Eta+$b1*cos(2.0*$Xsi)*sinh(2.0*$Eta) + $b2*cos(4.0*$Xsi) * sinh(4.0*$Eta) + $b3*cos(6.0*$Xsi) * sinh(6.0*$Eta)); return $res; } /* RT90 */ ?>
Det går säkert åt någonting med motsvarande komplexitetsnivå för att konvertera från Sweref99 till WGS84.
m v h Henrik
2 september, 2016 kl. 19:27 #221Vad har ni för versioner ? inställningar om…
På¨den jag kör har jag en ruta med aktuell hastighet och en varning om att efter xxx m kommer en kamera med xx km/tim2 september, 2016 kl. 19:47 #222[quote quote=221]Vad har ni för versioner ? inställningar om…
På¨den jag kör har jag en ruta med aktuell hastighet och en varning om att efter xxx m kommer en kamera med xx km/tim[/quote]
Som jag skrev så är det inga problem att konvertera en koordinat men att hitt nått som kan göra en batchkonvertering är värre, kan du fixa det?
4 september, 2016 kl. 19:07 #224Jag tror mig kunna fixa batch-konvertering. Då det är mera avancerade beräkningar som skall göras duger det nog inte med enkla script i bash och awk. Sannolikt kommer jag i stället förlita mig på php eller i värsta fall C. Men hur stor nytta har vi av konverterade koordinater när övriga data saknas? Framför allt hastigheten vill vi ju ha till varje punkt. Även vägnamn vill vi helst ha för att kunna fortsätta med samma namnkonvention.
m v h Henrik
4 september, 2016 kl. 19:35 #225Om det gick att fixa vilka kameror som saknas så går det att manuellt ta reda på hastighet och vägnummer hos trafikverket. Det tar väl en stund men inte så svårt, det rör väl sig om ca 150 st. När det väl är gjort så är det ju bara nya kameror som tillkommer.
Mvh
Erik4 september, 2016 kl. 20:31 #226Ja, men även att jämföra koordinaterna mellan trafikverkets alla kameror och våra kameror kommer kräva en hel del manuellt arbete. Beakta t ex positione för den här fartkameran som vi fick in häromdagen:
https://www.google.com/maps/place/62%C2%B027’18.0%22N+17%C2%B009’45.4%22E/@62.455,17.1604213,17z/data=!3m1!4b1!4m5!3m4!1s0x0:0x0!8m2!3d62.455!4d17.16261Genom att bara studera kartan skulle jag gissa att precisionen på den positionsinmätningen har ett fel som i meter överstiger hur många meter bred vägen är. Men även om positionen skulle vara 10, 20 eller rentav 50 meter fel duger den mer än väl till att låta våra GPSer varna för dess position.
Låt oss anta att trafikverkets positioner är mer exakta och att vi efter koordinattransformationer får ett fel på bara några enstaka meter. Hur långt avstånd skall vi då tillåta mellan fartkamerapositioner för att anse att två positioner från olika källor skall vara samma fartkamera? Å ena sidan bör detta avstånd vara större än felet på våra inmätta kameror, å andra sidan bör avståndet vara mindre än minsta avståndet mellan två kameror. Så hur litet avstånd kan det vara mellan två kameror? Jag skulle tro att det avståndet är något större än bredden på den smalaste väg som har två kameror på varsin sida om vägen som mäter motsatt riktning.
Däri består problemet att automatiskt identifiera nya kameror, precisionen på våra positioner är nog sämre än minsta möjliga avstånd mellan två kameror.
m v h Henrik
4 september, 2016 kl. 21:19 #227http://rl.se/rt90?northing=+6482374&easting=512598
Attachments:
You must be logged in to view attached files.5 september, 2016 kl. 05:26 #229När du skrev att du kunde konvertera en koordinat utan problem trodde jag att du menade att du hade programkod och formel för konvertering av en koordinat. Då menade jag att det skulle vara trivialt att modifiera programkoden till att loopa över flera koordinater. Att någon tredje part implementerat detta till en tjänst där vem som helst kan konvertera en koordinat hjälper oss inte så mycket, utan tillgång till källkod och formel kan vi inte modifiera eller skriva om koden till att köra batch-job.
m v h Henrik
5 september, 2016 kl. 07:48 #230Hej Vad jag menade var att jag hittar ingen batchconverter för Sweref 99 till WGS84, jag har en för RT90 till WGS84
Jag vet inte om det går att modda den.
Men om det går att sortera ut dom kameror som saknas är det inte så väldigt mycket jobb att fixa dom.
Bilden jag skickade var den du länkade i Googlemaps, om du stoppar in koordinaterna i konverteraren får du exakt positionMvh
Erik6 september, 2016 kl. 12:24 #231Hej på Er !
Till Breflabb: Tack för din återkoppling i min version har jag bara kunnat hitta 3 alternativ Ingen varning alls, varna endast vid för hög hastighet eller varna alltid.
Har försökt hitta versionsnumret på min Igo8 men se det gör jag inte hmmmm….
Försökte även gå in i zipfilen och lägga till kod ett långskott men det var värt ett försök, fungerade dessvärre inte.
Mvh // Shas
6 september, 2016 kl. 21:05 #234Jag har ett skin(skal)som heter (GJ6.17).Det fanns en gång i tiden en sajt
som hade en hel del skal med ofantligt mycket mer funktioner än sdandard IGO.
Har för mig att den sajten blev förbjuden att lägga ut dom olika skal,men snoka
lite på google7 september, 2016 kl. 06:05 #235Till Breflabb.. Det har jag gjort nu och jag blir inte visare av detta. GJ6.17 är mycket riktig omskriven men finns inte att få tag på. Hittade en länk men den var på över en Gig och det känns lite fel
10 september, 2016 kl. 14:57 #238Hej Shas.Jag har GJ6.15 som jag har sparat.Ångrar mig nu att jag inte sparade
fler när det gick att göra.Men jag kan gärna skicka den till dig,vet bara inte hur.
Storleken är under 3 MB på disk.Är en zip fil.Finns det itresse så hör av dig12 september, 2016 kl. 05:04 #241Hej på dig !
Den filen tas tacksamt emot, Jag håller på att bli tokig av allt plingande Du kan väl ladda upp filen här.
https://www.dropbox.com/sh/wusvfwe2rbn6vws/AADc3kOJM_2zDXfLXy6D1eg-a?dl=0Det ligger en fil som heter black där också ladda ner den, jag återkommer till detta.
Mvh // Shas
-
Detta svar redigerades för 8 år, 4 månader sedan av
admin. Anledning: felskrivning
-
Detta svar redigerades för 8 år, 4 månader sedan av
-
FörfattareInlägg
- Du måste vara inloggad för att svara på detta ämne.