[英]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.