1

次の形式の座標を持つデータ ソースがあります。

N642500,W0241600
N660700,W0240000
N652000,W0222700
N660800,W0195500
S645500,E0170800
S644000,E0162200

これらがどのような形式であるか、またはこれらを使用できる形式にする方法がわかりません。これは、JavaScript または PHP のいずれかです。

4

4 に答える 4

5

緯度、経度の度、分、秒 (DMS) のように見えます。変換については、 http://www.ngs.noaa.gov/PC_PROD/Inv_Fwd/readme.htmを参照してください。

通常、地図アプリケーションは緯度と経度を 10 進形式で取得するため、DMS を 10 進に変換する必要があります (N は +、S は -)。そうは言っても、Google マップが DMS を直接利用できることに少し驚きまし。したがって、変換する必要さえありません。例えば:

51 57' 32.48",00 55' 55.23" 
http://maps.google.com/maps?f=q&hl=en&q=51++57%27+32.48%22,00+55%27+5... 

計算する必要がある場合:

function DMS(lat,latm,lats,lon,lonm,lons) { 
  if (lat<0) { 
    latm = -latm; 
    lats = -lats; 
  } 
  if (lon<0) { 
    lonm = -lonm; 
    lons = -lons; 
  } 
  lat = lat + latm/60 + lats/3600; 
  lon = lon + lonm/60 + lons/3600; 
  return new GLatLng(lat,lon); 
} 
map.setCenter( DMS(35,3,39.08, -118,9,2.20)); 

http://groups.google.com/group/google-maps-api/msg/2e3436f3bf7d6155ごと。しかし、API はそれを直接受け取るべきだと思います。

于 2011-05-22T09:05:47.467 に答える
1

形式はコンマ区切り値(CSV)のようです

値は、緯度(North +またはSouth-)および経度(West +またはEast-)の後にddmmssが続くように見えます。

MMとSSの桁が59未満であるため、ddmmssは小数度よりも可能性が高いと思います

-編集-

LONGITUDEの値は+/-180(DDDMMSS)である必要がありますが、LATITUDEの値は+/- 90(DDMMSS)である必要があります

于 2011-05-22T09:11:57.067 に答える
1

それらは緯度経度になります。データ ソースのドキュメントには、単位が何であるかが示されているはずです。通常は度 (さまざまな分数形式) ですが、与えられた数値が度の小数なのか、度、分、秒なのかを知る必要があります。

それらを有用な数値に変換するという点では、それは分数度か、度、分、秒かによって異なります。そしてあなたがそれらを何に使いたいか。

于 2011-05-22T09:03:19.563 に答える
1

この js 関数は、文字列を既知の緯度経度形式にクリーンアップします。使用例:

clean('N51618017,W0248291');

非常に単純なので、ここに関数があります

function clean(string){

var values = string.split(','),
    lat,
    lon;

if(values[0].search(/S/)){
    lat = '-';
}
if(values[1].search(/W/)){
    lon = '-';
}

lat += values[0].substring(1, 3)+'.'+values[0].substring(4);
lon += values[1].substring(1, 3)+'.'+values[1].substring(4);

//now you got your values

//so can do this:
var url = 'http://www.gorissen.info/Pierre/maps/googleMapLocation.php?lat='+lat+'&lon='+lon+'&setLatLon=Set';

//or just return them as an object:
pos = {name:'your pos name',latitude:lat,longitude:lon}


}
于 2011-05-22T09:32:47.497 に答える