簡體   English   中英

WP7-將地理坐標存儲在數據庫中

[英]WP7 - storing geocoordinates in a database

我需要在一條記錄中在數據庫中存儲大量的geoordians。 無法將地理坐標存儲在sql數據庫中,因此目前我正在這樣做:

geocoordinates-->string-->bytes-->database

數據庫中字符串的限制為8000個字節,因此必須以字節格式存儲此數據量(數據庫認為這是一個圖像,因此沒有字節限制)。 我已將地理坐標截斷為6d.p(從15d.p降低),但過程非常非常緩慢。

有人知道如何提高這項工作的效率嗎?

謝謝!

為什么不重新設計數據庫,並將點存儲為一對雙精度值來表示經度/緯度-如果需要,它們都可以引用“父級”行。

我建議您將地理定位數據以緯度-經度對的形式存儲到新表中,並與當前表中的行/記錄相關。

我不知道您對該數據有什么計划,但這對我來說似乎是合乎邏輯的解決方案。

Postgres確實直接支持點和其他幾何圖元: http : //www.postgresql.org/docs/9.1/interactive/datatype-geometric.html

另外,它還具有<->距離比較運算符,您可能會發現它有用的http://www.postgresql.org/docs/9.1/interactive/functions-geometry.html

也可以為最近的鄰居搜索優化索引,您可以在此處閱讀以下內容: http : //www.postgresql.org/docs/9.1/interactive/indexes-types.html

最后,這是一個示例,摘自上面的鏈接:

SELECT * FROM places ORDER BY location <-> point '(101,456)' LIMIT 10;

您可能還希望查看專用的GIS數據庫。 在Postgres之上構建的一種是PostGIS: http//postgis.refractions.net/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM