★★★ GPSへの扉 ~FC2出張所~ ★★★

GPSがらみのお話を主につらつらと…

ここは GPSへの扉 のFC2出張所です。
GPS・サイクリング・お手製ソフトの話を中心につれづれなるままにつらつらと。。。
GPSへの扉 | PHPへの扉 | 淀川サイクリングへの扉| GPS関連リンク集|
トラックログからホームページを自動生成 trk2googlemaps|GPSへの扉 サポート掲示板

今週のGPS売れ筋ランキング

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

C#使って4sqからチェックイン履歴(Histroy)を取ってみた。

foursquare でチェックイン履歴(ヒストリー)を取ってみた。
BASIC認証はもうじきなくなるそうなので4ヶ月ほどしか使えない方法です。


using System;
using System.Linq;
using System.Text;
using System.Net;
using System.Xml;
namespace _4sq
{
class Program
{
static void Main(string[] args)
{
var dom = new XmlDocument();
dom.LoadXml(Get4sqCheckins());
foreach (XmlElement node in dom.GetElementsByTagName("name")) //場所の列挙
{
System.Diagnostics.Debug.WriteLine(node.InnerText);
}
}

static string Get4sqCheckins()
{
var webreq = (HttpWebRequest)WebRequest.Create("https://api.foursquare.com/v1/history");//HttpWebRequestの作成
var authBytes = Encoding.UTF8.GetBytes("abc@def.com:abcdefg").ToArray<byte>();//認証の設定
var _AuthStr="Basic " +Convert.ToBase64String(authBytes);
webreq.Headers.Add("Authorization", _AuthStr);
var webres = (HttpWebResponse)webreq.GetResponse();//HttpWebResponseの取得
var st = webres.GetResponseStream(); //受信
var sr = new System.IO.StreamReader(st);
var retValue = sr.ReadToEnd();
sr.Close();//閉じる
st.Close();//閉じる
return retValue;
}
}
}


結果はこんな感じ

淀川河川公園太間地区
菅原城北大橋
赤川鉄橋
淀川河川敷グラウンド
Vie De France Cafe ヨドバシカメラ梅田店
天満橋
川崎橋
桜宮橋
都島橋
春風橋
毛馬桜之宮公園
毛馬閘門
赤川仮橋南詰
菅原城北大橋
淀川河川公園(豊里地区)
豊里大橋
淀川河川敷 八雲地区
鳥飼大橋南詰
淀川河川公園太間地区
スポンサーサイト

テーマ:ソフトウェア - ジャンル:コンピュータ

GPSデータ視覚化ツール t2g ver 8.2 リリース

t2g version8.2


● アプリについて
・カシミール3D・GPSログデータコンバータgpslogcv・MtkDLutなどのGPS関連ソフト
・Garmin Foretrex/Forerunner/Edge, Holux M-241, Locosys, Sony nav-uなど各種GPSデバイス
・au,docomoの地図アプリ
などから出力されるトラックログファイルやウェイポイントファイルと
・旅の途上で撮影した写真を読み込ませて、

それらを組み合わせた上で、

・GoogleMapsのHTMLファイルを作成、FTP経由でアップロード
・google earthのkmlファイル
・gpxファイル
・static map
を行うアプリです。

● 改変点(8.1→8.2)は以下のとおりです。

・KMLのファイル入力に対応
・CASIO EXILIM EX-H20Gのファイル入力に対応
・TCXのファイル入力に対応
・LOCOSYS GPS Walkerのファイル入力に対応(.txtのまま取り込めます)
・Bingマップへのリンクをkmzからgpxへ変更
・トラック情報ウインドウでの右クリックコピーに対応
・少しリファクタリング

今回はご要望特集状態です。

テーマ:フリーソフト - ジャンル:コンピュータ

GPSデータ視覚化ツール t2g ver 8.1 リリース

t2g version8.1

カシミール3D・GPSログデータコンバータgpslogcv・GPS-CS1K・au,docomoの地図アプリ・MtkDLutなど各種GPSデバイスから出力されるトラックログファイル(.trk;*.log; *.nme; *.cs; *.txt; *.nmea)やウェイポイントファイル(.wpt)、あるいはauなどのGPS携帯などの写真を読み込ませて、GoogleMapsのHTMLファイルを作成、FTP経由でアップロード、google earthのkmlファイルを作成するアプリ t2g version 8.1を公開しました。

改変点は以下のとおりです。
・画面UIを大幅に変更
・正しく出力されない場合がある問題の修正

画面をウイザード形式ライクな表現に変更しました。
また、アイコンを用いてUIの"無言語化"にトライしています。

テーマ:フリーソフト - ジャンル:コンピュータ

GPSデータ視覚化ツール t2g ver 8.04 リリース

GPSデータ視覚化ツール t2g ver 8.04 をリリースしました。
http://etgps.net/gps/t2g/
対応内容は
 ・写真の追加で落ちる場合がある問題の修正
です。

テーマ:アウトドア - ジャンル:趣味・実用

trk2googlemaps & kml version 7.2

trk2googlemaps & kml version 7.20

カシミール3D・GPSログデータコンバータgpslogcv・GPS-CS1,3K・au,docomoの地図アプリ・MtkDLutなど各種GPSデバイスから出力されるトラックログファイル(.trk;*.log; *.nme; *.cs; *.txt; *.nmea)やウェイポイントファイル(.wpt)、あるいはauなどのGPS携帯などの写真を読み込ませて、GoogleMapsのHTMLファイルを作成、FTP経由でアップロード、google earthのkmlファイルやGPX、google static mapを作成するアプリ trk2googlemaps & kmlのversion 7.20を公開しました。

●おもな変化点は以下の通りです
・出力する写真にexif情報を追加。写真にAuthorやCopyrightを付与できるようにした。
・static mapの出力形式を v3に対応。API Keyが不要になりました。encoded polylineを採用し、urlの長さも1/7程度に圧縮。 右クリックでexplorerを開くや関連付けを開く機能の追加
・google chartの仕様変更への対応
・waypoint名にSJIS漢字が含まれていてもOKなように変更

ListViewの中身を右クリックでコピー

右クリックでリストビューの中身をコピーするコードを書いてみました。

            //
// 右クリックメニューを追加
//
var cms = new ContextMenuStrip();
var menuCopy = new ToolStripMenuItem("コピー");
cms.Items.AddRange( new ToolStripMenuItem[] { menuCopy } );
menuCopy.Click += ( sender, e) =>{
// listviewの中身をコピー
var strw = "";
foreach (var lvi in this.listViewInfo.Items)
{
strw += lvi.SubItems[0].Text + "," + lvi.SubItems[1].Text + "\r\n";
}
Clipboard.SetDataObject(strw);
};
this.listViewInfo.ContextMenuStrip = cms;

テーマ:プログラミング - ジャンル:コンピュータ

trk2googlemaps & kml ver 7.05

trk2googlemaps & kml version 7.05

カシミール3D・GPSログデータコンバータgpslogcv・GPS-CS1,3K・au,docomoの地図アプリ・MtkDLutなど各種GPSデバイスから出力されるトラックログファイル(.trk;*.log; *.nme; *.cs; *.txt; *.nmea)やウェイポイントファイル(.wpt)、あるいはauなどのGPS携帯などの写真を読み込ませて、GoogleMapsのHTMLファイルを作成、FTP経由でアップロード、google earthのkmlファイルを作成するアプリ trk2googlemaps & kmlのversion 7.05を公開しました。

・おもな変化点は以下の通りです
バグ取り (詳細設定の一部が機能していなかった問題の修正)

テーマ:フリーソフト - ジャンル:コンピュータ

ネットワークが不調になったらリブートするタスク

今日のコーディング。
たまにおうちサーバくんのネットワークが途切れてしまう問題に対応。
ルータに対してpingが通らなくなったら、virtualboxを停止してからリブートさせる。
タスクで30分間隔で実行。



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.NetworkInformation;

namespace MonitorNetwork
{
class Program
{
static void Main(string[] args)
{
var pingtarget = "192.168.1.1";
var vboxmanage = @"C:\Program Files\Sun\VirtualBox\VBoxManage.exe";
var logfile = @"d:\log\vmreport.log";
var waittimeonfailed = 60 * 1000; // 60sec=1分待つ
var servers = new[] { "SVR1", "SVR2" }; // 停止させるサーバ

var p = new Ping();
PingReply reply = p.Send(pingtarget);
for (int i = 0; i < 5; i++)
{
//Pingを送信する
reply = p.Send(pingtarget);

//結果を取得
if (reply.Status == IPStatus.Success)
{
// 成功
Console.WriteLine("Ping Success!");
break;
}
Console.WriteLine("Ping Failed!");
System.Threading.Thread.Sleep(waittimeonfailed);
}
if (reply.Status != IPStatus.Success)
{
// 失敗の場合、リブート
var procs=new Dictionary();
foreach (var server in servers)
{
procs.Add(server, new System.Diagnostics.Process());
}
foreach (var pr in procs)
{
Console.WriteLine("Needs to restart");
Console.WriteLine("Saving " + pr.Key);
System.IO.File.AppendAllText(logfile, "[Start Saving]"+DateTime.Now.ToString());
pr.Value.StartInfo.FileName = vboxmanage;
pr.Value.StartInfo.Arguments = "controlvm \"" + pr.Key + "\" savestate";
pr.Value.StartInfo.CreateNoWindow = true; // コンソールを開かない
pr.Value.StartInfo.UseShellExecute = false; // シェル機能を使用しない
pr.Value.StartInfo.RedirectStandardOutput = true; // 標準出力をリダイレクト
pr.Value.Start();
string output = pr.Value.StandardOutput.ReadToEnd();
pr.Value.WaitForExit();
System.IO.File.AppendAllText(logfile, output);
System.IO.File.AppendAllText(logfile, "[Finish Saving]" + DateTime.Now.ToString());
}
System.Diagnostics.Process.Start("shutdown", "/r /t 30");
}
p.Dispose();
}
}
}

テーマ:プログラミング - ジャンル:コンピュータ

trk2googlemaps ver 7.04

trk2googlemaps & kml version 7.04

カシミール3D・GPSログデータコンバータgpslogcv・GPS-CS1,3K・au,docomoの地図アプリ・MtkDLutなど各種GPSデバイスから出力されるトラックログファイル(.trk;*.log; *.nme; *.cs; *.txt; *.nmea)やウェイポイントファイル(.wpt)、あるいはauなどのGPS携帯などの写真を読み込ませて、GoogleMapsのHTMLファイルを作成、FTP経由でアップロード、google earthのkmlファイルを作成するアプリ trk2googlemaps & kmlのversion 7.04を公開しました。

・おもな変化点は以下の通りです
バグ取り

テーマ:フリーソフト - ジャンル:コンピュータ

XElementを使ってgpxファイルの読み出し

XElementを使ってgpxファイルの読み出しを作ろうとしてちょっとハマってしまった。
namespaceを指定しないといけないところに気がつかなかった。
ということで備忘録がわり
[正]
            XNamespace g = "http://www.topografix.com/GPX/1/1"; // namespaceの指定が必要
var x = XElement.Load(str);
var trks = x.Elements(g + "trk");
foreach (var trk in trks)
{
var trkseg = new t2g.GTrkSegs();
trkseg.Name = (trk.Element(g + "name") != null) ? trk.Element(g + "name").Value : "";
trkseg.Description = (trk.Element(g + "desc") != null) ? trk.Element(g + "desc").Value : "";

[誤]
            var x = XElement.Load(str);
var trks = x.Elements("trk");
foreach (var trk in trks)
{
var trkseg = new t2g.GTrkSegs();
trkseg.Name = (trk.Element("name") != null) ? trk.Element("name").Value : "";
trkseg.Description = (trk.Element("desc") != null) ? trk.Element("desc").Value : "";

テーマ:プログラミング - ジャンル:コンピュータ

Devfest Quiz

http://sites.google.com/site/devfest2010japan/
なんとかかんとか通過。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
このたびは、DevFest 2010 Japan にご応募いただきまして、まことにありがとうご
ざいます。

クイズの解答を厳正に審査した結果、見事、参加の基準点をクリアされました。おめ
でとうございます。

後日、参加証をご登録いただいたメールアドレス宛に送付いたしますので、今しばら
くお待ちください。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
配点詳細

ウォーミングアップ : 1.0 点
HTTP ステータスコード : 2.0 点
Google Code Discussion Group : 3.0 点
暗号通信 : 4.0 点
パッチワーク : 5.0 点
Issue Tracker : 0.0 点
Hackathon : 0.0 点
Android アプリケーション : 0.0 点
Chrome Extensions : 0.0 点
漢字変換サーバ : 7.0 点


合計 : 22.0 点

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

trk2googlemaps ver 7.02

trk2googlemaps & kml version 7.02

カシミール3D・GPSログデータコンバータgpslogcv・GPS-CS1,3K・au,docomoの地図アプリ・MtkDLutなど各種GPSデバイスから出力されるトラックログファイル(.trk;*.log; *.nme; *.cs; *.txt; *.nmea)やウェイポイントファイル(.wpt)、あるいはauなどのGPS携帯などの写真を読み込ませて、GoogleMapsのHTMLファイルを作成、FTP経由でアップロード、google earthのkmlファイルを作成するアプリ trk2googlemaps & kmlのversion 7.02を公開しました。

・おもな変化点は以下の通りです
バグ取り(プライバシー保護機能がデフォルト値に戻ることがあった問題の修正)

テーマ:フリーソフト - ジャンル:コンピュータ

trk2googlemaps ver 7.01

trk2googlemaps & kml version 7.01

カシミール3D・GPSログデータコンバータgpslogcv・GPS-CS1,3K・au,docomoの地図アプリ・MtkDLutなど各種GPSデバイスから出力されるトラックログファイル(.trk;*.log; *.nme; *.cs; *.txt; *.nmea)やウェイポイントファイル(.wpt)、あるいはauなどのGPS携帯などの写真を読み込ませて、GoogleMapsのHTMLファイルを作成、FTP経由でアップロード、google earthのkmlファイルを作成するアプリ trk2googlemaps & kmlのversion 7.01を公開しました。

・おもな変化点は以下の通りです
GPXファイル出力の追加
その他バグ取り

サンプル
screenshot4
Screenshot 4

screenshot5
Screenshot 5

screenshot6
Screenshot 6

テーマ:フリーソフト - ジャンル:コンピュータ

gpxファイル出力

gpxファイル出力の要望があったのでC#での書き方をちょっと調べてみた。

準備:
1. http://www.topografix.com/gpx.asp からスキーマファイルを取ってくる。
2. xsd.exeでスキーマファイルからcsを作成する。
3. 生成されたcsをプロジェクトに追加する。

で、2点のwaypointをもったgpxの書き方はこんな感じ。
だいぶ直感的に書けそう。



var g = new gpx.gpxType();
g.wpt = new gpx.wptType[2];
g.wpt[0] = new gpx.wptType();
g.wpt[0].lat = 35.5M;
g.wpt[0].lon = 135.5M;
g.wpt[0].name = "test 1";
g.wpt[0].time = DateTime.Now;
g.wpt[0].timeSpecified = true;
g.wpt[0].ele = 12.5M;
g.wpt[0].eleSpecified = true;

g.wpt[1] = new gpx.wptType();
g.wpt[1].lat = 34.5M;
g.wpt[1].lon = 136.5M;
g.wpt[1].name = "test 2";
g.wpt[1].time = DateTime.Now;
g.wpt[1].ele = 22.5M;
g.wpt[1].eleSpecified = true;
g.wpt[1].cmt = "comment";
g.wpt[1].timeSpecified = true;
g.wpt[1].desc = "description";
g.wpt[1].name = "name";

var serializer = new XmlSerializer(typeof(gpx.gpxType));
TextWriter writer = new StreamWriter(@"D:\Users\hoge\test.gpx");
serializer.Serialize(writer, g);
writer.Close();

テーマ:プログラミング - ジャンル:コンピュータ

trk2googlemaps ver 7.00 β版

trk2googlemaps & kml version 7.00

カシミール3D・GPSログデータコンバータgpslogcv・GPS-CS1,3K・au,docomoの地図アプリ・MtkDLutなど各種GPSデバイスから出力されるトラックログファイル(.trk;*.log; *.nme; *.cs; *.txt; *.nmea)やウェイポイントファイル(.wpt)、あるいはauなどのGPS携帯などの写真を読み込ませて、GoogleMapsのHTMLファイルを作成、FTP経由でアップロード、google earthのkmlファイルを作成するアプリ trk2googlemaps & kmlのversion 7.00のβを公開しました。取り説を整備したあたりでβははずしたいと思っています。

・おもな変化点は以下の通りです
処理速度向上
メモリ使用量の削減
[内部] スクリプトを使ったバッチテスト環境の作成
その他バグ取り

サンプル
screenshot4
Screenshot 4

screenshot5
Screenshot 5

screenshot6
Screenshot 6




テーマ:フリーソフト - ジャンル:コンピュータ

FC2Ad

まとめ

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。