Go to content Go to navigation Go to search

geo-spatial.org: An elegant place for sharing geoKnowledge & geoData

Căutare



RSS / Atom / WMS / WFS


Contact


Lista de discuții / Forum


Publicat cu Textpattern


Comunitatea:

Conferința FOSS4G-Europe 2017
Conferința FOSS4G 2017

PHPcoord

de Vasile Crăciunescu

Publicat la 12 Mar 2007 | Secţiunea: Blog | Categoria: Programare/

Recent m-am lovit de necesitatea de a transforma, în cadrul unei aplicații web, coordonate Lat/Lon în coordonate UTM și invers. Cunoșteam capabilitățile librăriei PROJ4 dar doream ceva mult mai simplu, scris în PHP. Așa că am pornit la vînatoare pe Google, convins ca voi găsi imediat un răspuns. Nu mică mi-a fost surpriza să văd că, în marea de link-uri returnate, nu se găsea și funcția dorită. După mai bine de o oră găsisem doar spreadsheet-uri Excel și aplicații online (majoritatea scrise în Java), care nu ofereau codul sursă. Sau, mai bine zis, îl ofereau dar contra cost. Cel mai bun exemplu este cel al popularului The UTM <-> Lat/Lon applet. Tocmai mă gindeam să mă întorc la PROJ4, cînd, în a n-a pagină de rezultate, am dat peste PHPcoord, exact genul de aplicație pe care îl căutam.

PHPcoord este o aplicație open source (GPL), ce permite conversia coordonatelor geografice în două sisteme de coordonate carteziene: Universal Transverse Mercator (UTM) & Ordnance Survey (OSGB) și invers. De asemenea, e posibilă calcularea distanței dintre două perechi de coordonate. PHPcoord este disponibil și în format Java (Jcoord) sau JavaScript (JScoord).

Utilizarea PHPcoord în propriul script se face extrem de simplu, prin includerea phpcoord.php și apelarea funcție de conversie dorită. Codul listat mai jos realizează conversia unei perechi de coordonate Lat/Lon în coordonate UTM:

Listing: call_phpcoord
#Code
0001<?php
0002include ('phpcoord.php');
0003$coord_lat_lon = new LatLng(44.51209, 26.08000);
0004echo 'Latitudine/Longitudine: ' . $coord_lat_lon->toString() . '<br />';
0005$coord_utm = $coord_lat_lon->toUTMRef();
0006echo "Coordonatele UTM (zona, X, Y): " . $coord_utm->toString() ;
0007?>

Descarcă codul în format text
[Nr. descărcări: 779]

Rezultatul fiind:

Latitudine/Longitudine: (44.51209, 26.08)

Coordonatele UTM (zona, X, Y): 35T 426877.12673897 4929163.696294

Discută articolul (4 comentarii)

Categorii