前提・実現したいこと
シングルコーテンションとダブルコーテンションの違いについて
レンタルの開発環境で、衛星画像の取得のために例題プログラムを
うごかしていました。
例題文では、ダブルコーテーションで囲んでいた部分について
以下のエラーが出ていました。
結論としては、そこの部分は、ダブルコーテーションではなく
シングルコーテーションのようであることが判明したのですが、
このダブルコーテーションとシングルコーテーションの使い分けは
どのよなものなのでしょうか。
発生している問題・エラーメッセージ
query_AVNIR2 = "r=3&g=2&b=1"
上記のコードに対して以下のメッセージでした。
SyntaxError:invalid character in identifier
追記です。10/7 18:58
エラーが出る最後の行まで全文を載せます。これでわかるでしょうか。
min_lat =35.357416
min_lon =138.724022
max_lat =35.369735
max_lon =138.737926
AVNIR-2のURL\n",
url_AVNIR2 = 'https://gisapi.tellusxdp.com/api/v1/av2ori/scene'
LandsatのURL\n",
url_Landsat8 = 'https://gisapi.tellusxdp.com/api/v1/landsat8/scene'
headers = { 'Authorization': 'Bearer ' + API_TOKEN }
パラメータ(緯度、経度の最大値、最小値)を指定\n",
parameter = { 'min_lat': min_lat, 'min_lon': min_lon,
'max_lat': max_lat, 'max_lon': max_lon }
AVNIR-2の検索\n",
r_AVNIR2 = requests.get(url_AVNIR2,
params=parameter,
headers=headers)
Landsat-8の検索\n",
r_Landsat8 = requests.get(url_Landsat8,
params=parameter,
headers=headers)
AVNIR-2の検索結果を表示\n",
print("AVNIR-2のリスト [撮影日時、rspId、productId]")
for res in r_AVNIR2.json():
print(",".join([res['acquisitionDate'],
res['rspId'], res["productId"]]))
Landsat-8の検索結果を表示\n",
print("Landsat-8のリスト [撮影日時、path、row、productId]")
for res in r_Landsat8.json():
print(", ".join([res['acquisitionDate'],
str(res["path"]), str(res["row"]),res["productId"]]))
選択したAVNIR-2衛星画像の productId、rspIdを格納\n",
AVNIR2_rspId = 'D070P3'
AVNIR2_productId = 'ALAV2A097002890'
選択したLandsat-8衛星画像の productId、path、rowを格納\n",
Landsat8_path = '108'
Landsat8_row = '35'
Landsat8_productId = 'LC08_L1TP_108035_20181125_20181210_01_T1'
緯度経度をタイル座標に変換する関数を定義\n",
def LatLon2Tile(lat,lon, z):
L= 85.05112878
tileX = int( (2**(z+7)) * ((lon/180) + 1) )
tileY = int( (2**(z+7)/math.pi) * (-1 * np.arctanh(math.sin(lat * math.pi/180)) + np.arctanh(math.sin(L * math.pi/180))) ) return int(tileX/256), int(tileY/256)
今回の指定エリアの中心座標(緯度、経度)\n",
center_lat = ( min_lat + max_lat ) / 2
center_lon = ( min_lon + max_lon ) / 2
今回はズームレベル zを 12とします。\n",
z = 12
タイル座標を取得\n",
x, y = LatLon2Tile(center_lat,center_lon, z)
print("タイル座標(%d, %d, %d)" % (x, y, z))
AVNIR-2のURL\n",
url_AVNIR2 = 'https://gisapi.tellusxdp.com/blend/av2ori/'
Landsat-8のURL
url_Landsat8 = 'https://gisapi.tellusxdp.com/blend/landsat8/'
ヘッダ\n",
headers={"Authorization": "Bearer " + API_TOKEN }
AVNIR-2のバンド割り当て(赤:バンド3、緑:バンド2、青:バンド1)\n",
query_AVNIR2 = ”r=3&g=2&b=1”
python3 ### 試したこと__イタリックテキスト__ ここで、"r=3&g=2&b=1"を ’r=3&g=2&b=1' としたところ、プログラムとしては動きだした。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。