2

トラックをテキスト ファイルに記録したので、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 の [空間結果] タブを使用) が、データベースで通常の地理的値として表示される可能性はありますか?

4

2 に答える 2

3

値に対して.STAsText()//を呼び出して、人間が読める形式で表示します。.ToString().AsTextZM()

于 2012-05-06T13:16:08.313 に答える
0

私はマーティン・スミスが言ったことを言うためにここに来ました。しかし、それはあなたの幸運な日です。今日は「男に魚を教える日」です。利用可能な地理的方法を見てみましょう。また、「関連項目」セクションには、他にも利用可能なものがあることに注意してください。

于 2012-05-06T15:49:39.767 に答える