今使っているインドの地図は、座標系が設定されていないもの、あるいは設定されていても間違っているもの(涙)が多い。形状を入力してくれただけでも、ありがたいんだけど、それを正しい位置に置くのもそれなりの作業量となる。
座標系が間違っている場合は、正しい座標系を設定し、それをWGS84に変換し、既存の地図と重ねてみたりする。いや、旧日本測地系をWGS84に変換するなら楽だけど、Everest 1830だか、1956だか、1962だかをWGS84にするには、その変換式とパラメターから探さねばならない。
作業の道のりが長すぎて笑っちゃうって、最近多いなぁ。
で、座標系の設定間違いみたいな、ある意味系統的に間違っているものは、まだ直す意欲がわく。でも、形状自体ゆがんでるんですね、というような地図だったり、どんな座標系で示そうが位置が間違っているんですね、というような場合には、奥の手で地図の形状を編集することになる。具体的には、地図をえいやっと拡大、縮小、移動をしたり、アジャストをかけたりするのだ。
先日も、必要にかられ、誰が入力したんだがわからないデータのアジャスト作業をしていた。1つは行政界が入っていて、その他には道路とか、水域とかのデータが入力されている。
Googlemapの示すインド国内の位置がどこまで正しいのか、これも検証のしようがないのだが、これしか頼りようがないので、ともかくGooglemapから地図とか衛星画像を持ってきて、それをジオリファレンスしアジャストのリンクを作成する際の参考とする。
アジャストの基準にする行政界の地図は2通りの表示で示したかったので、同じシェープファイルを2つのレイヤとして読み込んで(2回読み込んで)、作業を行う。
で、アジャストをするとなぜかうまくデータがゆがんでくれない。この行政界の角は、衛星画像のここと一致するっていうリンクを作ったのに、設定したよりも下に移動してしまう。アジャストの方法がアフィンじゃだめかと思い、ラバーシートにしてもうまくいかない。
んんんん~、いつもながら、GIS使いながらうなってしまう。なんかのバグ?
ところが、一緒にアジャストした他のデータ(道路とか水域とか)を見てみると、うまくアジャストできているっぽい。なぜ行政界だけずれる???
そこでよぉーくよぉーく考えてみると、アジャストの対象レイヤの選択のところで、1つのシェープファイルから読み込んだ2つのレイヤをどちらも対象としていたことに気がついた。
同じシェープファイルを2回読み込んで、別のレイヤになっていると、そのシェープファイルに2回アジャストが実行されるらしきことが判明した。ふふふ。
そうかそうか。アジャストの処理はレイヤを対象に行われるのであって、データに対して行われる訳ではないんだなぁ…。こりゃうっかりだったなぁ…。バグってたのは自分だったなぁ…(フェードアウト)。