GPXファイルをC#データテーブルにインポートする方法があるかどうか、誰かに教えていただきます。 私はそれを何度も見つけましたが無駄でした。GPXファイルからC#でデータテーブルを作成する
答えて
これにアプローチする1つの方法は、XMLをオブジェクトにデシリアライズして、望みどおりにナビゲートして使用できるオブジェクトにすることです。
<gpx xmlns="http://www.topografix.com/GPX/1/1" xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1" creator="Oregon 400t" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd">
<metadata>
<link href="http://www.garmin.com">
<text>Garmin International</text>
</link>
<time>2009-10-17T22:58:43Z</time>
</metadata>
<trk>
<name>Example GPX Document</name>
<trkseg>
<trkpt lat="47.644548" lon="-122.326897">
<ele>4.46</ele>
<time>2009-10-17T18:37:26Z</time>
</trkpt>
<trkpt lat="47.644548" lon="-122.326897">
<ele>4.94</ele>
<time>2009-10-17T18:37:31Z</time>
</trkpt>
<trkpt lat="47.644548" lon="-122.326897">
<ele>6.87</ele>
<time>2009-10-17T18:37:34Z</time>
</trkpt>
</trkseg>
</trk>
</gpx>
あなたがXMLのデシリアライゼーションのために使用することができ、いくつかのカスタムクラスを作成することができます。:
[Serializable()]
[System.Xml.Serialization.XmlRoot("gpx")]
public class gpx {
[System.Xml.Serialization.XmlElement("metadata")]
public Metadata mData { get; set; }
[System.Xml.Serialization.XmlElement("trk")]
public TrackCollection tCollection { get; set; }
}
[Serializable()]
public class Metadata {
/// Fill in metadata elements here
}
[Serializable()]
public class TrackCollection {
[System.Xml.Serialization.XmlElement("name")]
public string name { get; set; }
[XmlArray("trkseg")]
[XmlArrayItem("trkpt", typeof(TrackPart))]
public TrackPart[] tPart { get; set; }
}
[Serializable()]
public class TrackPart {
[System.Xml.Serialization.XmlElementAttribute("lat")]
public double lattitude { get; set; }
[System.Xml.Serialization.XmlElementAttribute("lon")]
public double longitude { get; set; }
[System.Xml.Serialization.XmlElement("ele")]
public int elapsed { get; set; }
[System.Xml.Serialization.XmlElement("time")]
public DateTime dateTime { get; set; }
}
Iの避難所」を例としてGarmin Oregon 400Tから生成されたXMLデータを使用して
この例をダブルチェックすると慎重に使用してください。代わりに、.NET XML Readerライブラリを使用して、各オブジェクトのプロパティを手動で設定することもできます。
XML hereとhereのデシリアライズの詳細についても読むことができます。
次に、新しく作成されたオブジェクトを使用してDataTable
を入力するケースに過ぎません。 DataTable
の入力方法は次のとおりです。
gpx myObject = deserialseGPXFile(); // example
DataTable table = new DataTable();
table.Columns.Add("lat", typeof(double));
table.Columns.Add("lon", typeof(double));
foreach (TrackPart tPart in myObject.TrackCollection)
{
table.Rows.Add(tPart.lattitude, tPart.longitude);
}
ありがとうございます。しかし、抽出されたデータを使用してデータテーブルを作成する方法はまだ分かりません。 – geocoder
@geocoder私は例で私の答えを更新しました。 – galacticfan
ありがとう、私はそれをテストします – geocoder
- 1. GeoPointsからGPXファイルを作成する
- 2. CLLocationの配列からGPXファイルを作成する
- 3. オブジェクトタイプLINQからデータテーブルを作成する
- 4. CSVファイルから「クリーンな」データテーブルを作成するには
- 5. 既存のデータからClosedXML C#でExcelデータテーブルを作成
- 6. lldbからC++ファイルを作成する
- 7. データテーブルからのフォームでの動的オブジェクトの作成C#
- 8. KMLファイルからKMZファイルを作成するC#でプログラム的に作成
- 9. データテーブル/ Excelからチャートを作成
- 10. C#での型を使用してXMLファイルからデータテーブルを作成する方法
- 11. C#でデータテーブルを返すクラスを作成する方法は?
- 12. イメージをC#の.dotファイルから作成
- 13. gpxデータからノイズをフィルタリングする
- 14. GPXファイルは、Androidエミュレータで
- 15. .cと.hファイルからexeファイルを作成する
- 16. Pythonを使ってgpxファイルを生成するには?
- 17. XmlDocumentでGPXファイルを読み取る
- 18. C#でゼロからDBFファイルを作成するには?
- 19. フォルダからZipファイルを作成する - C++で
- 20. クラスからデータテーブルを作成してストアドプロシージャに渡すSQL ServerとC#
- 21. codeigniterでデータテーブルを作成するには?
- 22. データテーブルからsqliteファイルを更新する
- 23. LatLng ArrayListからGPXファイルを書き出す方法
- 24. メモリストリームからのZipファイルの作成C#
- 25. 単一のデータテーブルから複数のグラフを作成する
- 26. オブジェクト配列からデータテーブルを作成する
- 27. 2つのカテゴリのベクトルからデータテーブルを作成するR
- 28. ASP.NETからC#でデータテーブルをExcelにエクスポート
- 29. データテーブルからのC#LINQクエリ
- 30. PythonからC#のデータテーブルxml
どのような種類のデータベースを作成したいのですか、SQLですか? – galacticfan
これはデータベースではなく、**これらのデータを使用してシェイプファイルを作成するためにデータテーブルにデータを挿入するだけです** – geocoder