トラックをテキスト ファイルに記録したので、SQL Server 2008 R2 データベースのテーブルに Point タイプとして挿入したいと考えています。
OpenRowSet を使用してテキスト ファイルを読み取り、各行を一時テーブルに挿入します。次に、すべての行を解析し、正しい値を実際のテーブルに挿入します。ファイルの各行は次のようになります。
$GPRMC,101142.415,A,6210.1547,N,02929.2220,E,3.9,231.8,150310,,,A*62
私はそのようなコードで緯度と経度を解析しています:
INSERT INTO Track(Point)
SELECT
geography::Point(
SUBSTRING(entry,21,2)+'.'+SUBSTRING(entry,23,2)+
SUBSTRING(entry,26,CHARINDEX(',',entry,26)-26),
SUBSTRING(entry,33,3)+'.'+SUBSTRING(entry,36,2)+
SUBSTRING(entry,39,CHARINDEX(',',entry,39)-39)
,4326)
FROM #MYTEMP
その後、実際のテーブル (Track という名前) を調べていると、次のようなものが表示されます。
Point
0xE6100000010CE200FA7DFF0C4F40B43C0FEECE4A3D40
これらのポイントはマップ上の正しい位置に配置されます (SQL Management Studio の [空間結果] タブを使用) が、データベースで通常の地理的値として表示される可能性はありますか?