コード ```EsriASCⅡファイル(リンク先に保存した) 緯度経度に対応する値をpythonを使って正しく抽出したいと考えています。 例えば、緯度33.117 経度131.262 の場合はGISで値を確認すると79.5が入っているようですが pythonを使って値を見ると全く違った値をとってきてしまいます。 試しに、データを少なく(人工的に作った)場合はOKそうなんですが 原因が分かりません。 どなたかpythonでご教授できませんでしょうか。 よろしくお願いいたします。 「プログラム」 ```ここに言語を入力 #!/usr/bin/python # -*- coding: utf-8 -*- def read_asc(lonAme,latAme,lines): #メッシュ最南端 lat0 = 20.004167 #メッシュ最西端 lon0 = 118.00625 #メッシュの長さ dx_mesh = 0.0125 dy_mesh = 0.0083333 #データは北西端から格納されている #経度X方向の座標番号 lon_no = int((lonAme-lon0)/dx_mesh) lon = lon0+(dx_mesh)*lon_no #緯度Y方向の座標番号 lat_no = int((latAme-lat0)/dy_mesh) lat = lat0+(dy_mesh)*lat_no print(lon_no,lat_no) #北西端原点⇒南西端原点へ i =nrows - lat_no-1 a = lines[i].split() j = lon_no print(a[j]) #ASCファイルの読み込み global ncols global nrows nrows = 3360 ncols = 2560 #ヘッダー global head head = 6 f = open("RDR.asc") #すべてのデータを読み込み lines = f.readlines()[head+1:nrows+head+1] f.close() lonAme = 131.262 latAme = 33.117 read_asc(lonAme,latAme,lines)
【使用データ】
https://drive.google.com/file/d/1i3HDCkZtOzlfB3x88B28lVIF1FqMtYSg/view?usp=sharing
あなたの回答
tips
プレビュー