2011-01-01から1年間の記事一覧

地球を見渡すオープンソースソフトウェア

Google Earth みたいなのでオープンソースなのってあるのか? と twitter で聞いたところ、頂きましたが、しばらくいなくなるので、メモを取っておくことにしたのです。 Marble http://edu.kde.org/marble/ WMS, タイル画像等のインポート可能がステキに思い…

pgRouting のはじめからつまづく

pgRouting は PostGIS にのっけるもので、最短経路探索を行う機能を提供するものです。アルゴリズムには、ダイクストラ、A*、Shooting* の三つ。 なお、アルゴリズムまわりでの質問は、全力で断ることとする。ていうか Shooting* は初めて聞いた。http://www…

zephyrの心拍計

Android に限らんです。 Zephyr は洋モノの心拍計。Bluetooth からデータがとれます。心拍とGPSとをマージすると、位置と負荷のシリーズがとれる、と。ステキー。GPS は Android から取るので、Bluetooth から心拍をとるだけ。受信データは 1ブロック60バイ…

GEOGRAPHY型ってのがあることをちょっと書いてみる

今回は Advent Calendar 特別企画だ http://atnd.org/events/23085 参照。 http://d.hatena.ne.jp/waigani/20111210 とか http://d.hatena.ne.jp/wata909/20111211 が先行していて、ハードルが高まっていってるわけですが、気にしたら負け。なので、いつもの…

eclipse に何は無くとも入れる拡張

本当にメモでしかないという…。 Android https://dl-ssl.google.com/android/eclipse/ プロパティエディタ http://propedit.sourceforge.jp/eclipse/updates/ Mercurial http://cbes.javaforge.com/update Subclipse http://subclipse.tigris.org/update_1.8…

タイルサービスの作成 (WMS)

GIS

id:yellow_73:20111122#p1 のつづき。 最後にブサイクとか言ってた問題については、そのまま放置にすると、とりあえずできたことになった。あと、KMLの自動生成等をやってしまえばできあがり。 GeoWebCacheでは WMS が出ます (サーバが対応できる解像度と違…

タイルサービスの作成

GIS

某大阪南港でタイルマップの話をしゃべってきました。 地理情報が付いた画像を gdal2tiles を使ってタイルマップにして、OpenLayers とか Google Maps とかの、ウェブベースのブラウザで表示してみる、というもの。これについては、某サイトに資料は上げてた…

プリンタとの通信でイタい目にあっている #2

id:yellow_73:20111025#p2 のつづき。 プリンタの設定は「認証なし」にしているし、パソコンとのボンディングやハンディターミナルではPINは不要です。 が、Android端末からの場合にはボンディングの際にPINが必要とされています。 …この点については、正直…

プリンタとの通信でイタい目にあっている

で、あるBluetoothを持つラベルプリンタとの通信を試みていたところ、問題が発生。 いくらボンディングしても、PINを要求されるのです。 自動でPINを入れる方法は無いものかと探したところ http://d.hatena.ne.jp/androiddev/20110225/ に遭遇。 そうか、隠…

Bluetooth でパソコンと通信

Bluetoothでゴニョゴニョしようとしています。 とりあえずSDKのサンプルについてくる Bluetooth Chat をコンパイル、実行してみると、Androi端末間はうまくいった、というところまでは、随分前に来てました。 ひっかかったのが、パソコンとの通信。 スタック…

空白文字を含むパスにSDK入れてたらエミュレータ動かなくなった

EclipseからAndroidエミュレータが動かねえ、 invalid command-line parameter とかいいやがるんだ。 そのまんまでgoogleさんに聞いたところ http://d.hatena.ne.jp/kiyotune/20110721/1311230418 に行き着く。 まさかの空白文字で切られる不具合の模様。SDK…

gdal2tiles.pyでもGDAL_CACHEMAXが効く

GIS

id:yellow_73:20110427 で、画像ファイルの変換の速度が飛躍的に上がった(逆に言うと、それまでさんざん時間を無駄にしていた)ことを書きました。 しかし、その時にひとつ抜けてたものがありました。 gdal2tiles.pyというPythonスクリプトがあります。タイル…

[プログラム] 回転行列を作ってみよう。

回転のみの3*3の行列を考える前に2*2の回転行列を。 C -S S C ただしC=cosθ, S=sinθ。Sにつく正負符号は、X=0, Y=1 を90度まわすと 0 -1 0 1 0 1 で (-1,0)になるのが分かります。 これを使って、3軸の回転行列を出します。 こんなかんじに3*3の回転行列をし…

画面上に投影する

2.2以降では Camera.Parameters#getHorizontalViewAngle() で画角が得られるので、ピクセルと方位とを線形関係とみなして(「レンズモデル?シラネ」で行く)、前述の姿勢に依存する座標系から Math.tan2() とかを使って方位を出してやればOK。 気をつけるべき…

[Android] 絶対座標系の物体を姿勢に依存する座標系に変換する

ある点xから、姿勢にあわせて回転させた際の位置 x' は、次のようになります。 x' = Rx*Ry*Rz*x Rx, Ry, Rz は、それぞれ X, Y, Z軸に、矢印方向に右ねじで進む回転行列です。つまり、右から(左からじゃないよ)ヨー、ピッチ、ロール、とかけていっています。…

AR用の姿勢を得る

id:yellow_73:20110815 の続き。 センサの基準となる画面の向きはタブレットとスマートフォンで違う ヨー、ピッチ、ローについて、前の記事ではうそ書きましたー (差し替え済み)。平面に置いたのが基準です。 繰り返しですが、ポートレイトがセンサの基準に…

いやインデクスは効かせられるのです

http://soudai1025.blogspot.com/2011/08/blog-post.html で、PostGISではインデクスが有効利用されない、とおっしゃってることについて、日本語や…それはともかく、ひとこと言わねばなるまい、ということで、つっこみを入れさせてもらいます。 PostGISでは…

ベストでもない位置プロバイダも含めて現在位置特定を行う

id:yellow_73:20110815#p1 および id:yellow_73:20110819#p2 のつづき。 ここまで言ってませんでしたが、今回の位置特定は、現在位置をワンショットで特定するもので、精度はあまり求めないものです。継続して精度良く現在位置を取得するものとは異なります…

ベストでないgetBestProvider

id:yellow_73:20110815#p1 のつづき。 LocationManager#getBestProvider() を使うと、Criteriaで指定した優先順位に沿って最も適切なロケーションプロバイダを探してくれるというものです。メソッド名からして「ベスト」なんだしこれで良いと思ってました。 …

Fustion Tables へのアクセスがうまくいかず結構悩んだ

id:yellow_73:20110809#p2 のつづきです。 unauthenticated が出まくる まず、昨日まで SHOW TABLES がうまくいってたのに、突然うまくいかなくなりました。 unauthenticated という文言が見え、HTTP応答ステータスは 401 でした。 他のクエリではどうだろう…

方位センサに悩まされる

プライベートでARっぽいのをやろうとしてて、方位センサまわりでちょっと引っかかったのでメモ。 方位センサの基準画面向きからみた現在の画面向きを知る まず、Androidのタブレット機では横長基準でセンサを仕掛けているものがあります。携帯電話機なら縦長…

Fusion Tables にアクセスしてみる

https://www.google.com/fusiontables/api/query?sql=SHOW TABLES とかこんなかんじ。 認証情報は、先ほどのトークンを使用。 どこに埋め込むかというと、HTTPヘッダ。 Authorization: GoogleLogin auth=(トークン) です。POSTでもGETでも同じ。 そのうえで…

googleアカウントの認証

Androidでgoogleアカウントの認証をやってみようとしてみました。 2.1以降ということにして、AccountManager を使います。1.6はもういいことにしておいてやって下さい…。 http://d.hatena.ne.jp/adsaria/20101012/1286886888 あたり参照。 AccountManager#ge…

サーバ入れ替えに時間がかかってしまった

公開サーバのハードディスク容量が逼迫しはじめていたのと、そろそろ故障しそうな雰囲気が漂ってきたので、急遽ハードディスク入れ替えが決定。 この際に、OSやサーバソフト等をバージョンアップしておこう、と思った次第。実はOSのバージョンが8.0 (現行は8…

しかし順序は4000番台だけ変わらない

さらにつづき。 数値記述順はEPSGコードごとに定められている通りでない場合があります。 EPSG:4326など4000番台です。 本来なら、lat,lonの順なんですが、4000番台だけは従来通りのlon,latの順です。バグではなく意図的になされています。

5でもWMS 1.3.0は対応していたけど振る舞いが違う

id:yellow_73:20110607 のつづき。 id:kooi:20110613 でご紹介頂いたのですが、補足を。 WMS 1.3.0 対応は、以前からされています。MapServer 6でも同じく WMS 1.3.0 に対応しています。 MapServer 6では WMS 1.3.0 モードでの振る舞いが id:yellow_73:20110…

WMS 1.3.0だと「変」になる

「変」な地図画像を返す MapServer 6.0 に無事移行したつもりだったのですが 、タレコミを頂きました。 平面直角でWMSサーバにリクエストを出したら、おかしな画像が返ってくる、ということでした。 とりあえず 5.x に戻したうえで、どこに「バグ」があるの…

6.0.0 導入 (5/29追加)

MapServer 6.0.0 がリリースされたので導入準備した。これまでも、mapfileが少しずつ変わってきているので、バージョンアップの際には注意が必要かなと。 http://mapserver.org/MIGRATION_GUIDE.html#migration あたりを参考に、私がひっかかった部分だけを…

ふたたびからませてもらいます

id:end0tknr:20110518 に、ごめんなさい、再び絡ませてもらいます。 空間参照系 私もこのあたり素人なので的確性を欠くうえ、話自体が長くなるので、かなりいい加減な表現をします。 地図を重ね合わせた際にズレが無いようにするためには、重ね合わせる地図…

Spatialiteを他の言語からふれてみる

spatialite をいじっていて、他のプログラミング言語から扱いたいねーと思いました。 まず、CPAN で無いかなーと探してみましたが、ちょっと見つからなかったです。DBD::SQLiteはありましたけど、たぶん空間関数群がないだろう、と。 で、Pytnonで無いかなー…