Latitud och longitud kan skrivas i ett antal olika format . Att arbeta med data i ett program , kan det vara nödvändigt att extrahera den från en textsträng och konvertera det till ett mer användbart format . PHP stöder reguljära uttryck , som ger ett mångsidigt sätt att hitta specifika data även när skriftligt i en mängd olika sätt . Efter latitud och longitud utvinns , kan du konvertera dem till decimal form med en enkel formel . Instruktioner
1
Initiera variabel som ska innehålla latitud eller longitud sträng i gradminuter -sekunder format ( DMS ) . Till exempel , skriv :
$ DMS = " 45:23:14.33 W " ,
2
Skriv ett mönster för reguljära uttryck för att analysera din DMS sträng . Följande reguljära uttryck accepterar kolon eller notskrift med symbolerna för grader, minuter och sekunder . Utrymmen kan användas mellan värderingar , och decimaler är frivilligt för sekunder . Dock är en bokstav som anger halvklotet ( N , S , E eller W ) krävs i slutet av strängen :
$ mönster =
3
Använd " preg_match " -funktionen för att skapa en rad av de analyserade data. Till exempel , typ :
preg_match ( $ mönster , $ DMS $ matcher ) ,
4
Beräkna decimala värdet av latitud och longitud och tilldela den till en variabel . En grad är lika med 60 minuter eller 3600 sekunder . Till exempel , typ :
$ decimal = $ matcher [ ' grader ' ] + $ matcher [ ' minuter ' ] /60 + $ matcher [ ' sekunder ' ] /3600 ,
5
Negera värdet om positionen i södra eller västra halvklotet . Det returnerade värdet är decimalform av latitud och longitud . Till exempel , typ :
if ( $ matcher [ ' halvklotet ' ] == ' S '