さて、これを簡単に説明しましょう:
1.http: //fireeagle.yahoo.net/のようなロケーションベースのサービスを提供するWebサイトを構築したい。
2.これらのサービスのほとんどは経度と緯度に関係していると思います。
3.そのようなアプリに適した特定のデータベース/データストア/データ構造はありますか?つまり、経度、緯度を保存しやすく、計算しやすく、使いやすいということです。
私はこれに不慣れであり、どんなフィードバックも歓迎します
さて、これを簡単に説明しましょう:
1.http: //fireeagle.yahoo.net/のようなロケーションベースのサービスを提供するWebサイトを構築したい。
2.これらのサービスのほとんどは経度と緯度に関係していると思います。
3.そのようなアプリに適した特定のデータベース/データストア/データ構造はありますか?つまり、経度、緯度を保存しやすく、計算しやすく、使いやすいということです。
私はこれに不慣れであり、どんなフィードバックも歓迎します
リレーショナルデータベースシステムの空間拡張により、地理/ジオメトリデータ型のストレージとインデックス付きアクセスが提供されます。これらを使用すると、空間結合やあらゆる種類の空間クエリを実行できます。要するに、それらはまさにあなたが必要とするものです。
オープンソーススタックを使用している場合は、Postgresqlの空間拡張であるPostGISをお勧めします。MSスタックを使用している場合は、SQLServer2008の空間拡張を試してください。
MySQLには、ここにチュートリアルを備えた空間拡張機能があります。高速クエリを取得する基本的な考え方は、空間インデックスを含む列を使用してテーブルを設計することです。これは、「このポイントの近くにポイントを与える」などの範囲クエリに対して高速なRツリーインデックスです。
もちろん、PostGISにはPostgresがあり、SimpleGeoのような会社からこのサービスの料金を支払うことができます。
GeoDjangoを検討することをお勧めします。Python
/DjangoのシンプルさとPostGISのパワーが融合しているので、とても便利です。ただし、複雑で機能が多すぎるため、時間を無駄にする可能性もあります。
特に必要がない場合は、DjangoまたはPythonだけで使用できるもう1つの簡単なソリューション、Geopyがあります。データベースに空間拡張を追加しなくても、一般的なデータ構造(任意のデータベース)を使用して地理空間計算を実行できます。(逆)ジオコーディングを実行して、距離を計算できます。入門ページをご覧ください。また、十分に文書化されているため、コードも直接ご覧ください。私はそれをダイナミックカープーリングプロジェクトに使用していますが、非常にうまく機能します。
どちらのソリューションもDjangoフレームワークにうまく適合しているため、提供されているサービスを中心にWebサイトを簡単に開発できます。