問題タブ [kml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - 250,000 ポリラインを表示する必要がある Google マップ アプリケーションに関するガイダンスが必要
Google マップを使用して開発中のアプリケーションについてアドバイスを求めています。
概要: ユーザーは、基準を満たすストリート セグメントを検索するための基準のリストを持っています。道路セグメントは、平均以下、平均、平均以上の 3 色で表示されます。次に、ユーザーが道路セグメントをクリックすると、その特定のセグメントのプロパティを示す情報ウィンドウが表示され、ウィンドウを閉じて他のポリラインが再び表示されるまで、選択されていないセグメントが非表示になります。これはハズブロが数ヶ月前に作ったモノポリー シティ ストリート ゲームによく似ていますが、私は Flash を使用しておらず、ストリート セグメントをリストしていないため、オープン ストリート マップを使用できません。とにかく同じ)、Google スケッチの構築を表示する必要はありません。
情報: ID、ポリライン ポイント、重心を持つ道路セグメントのデータベースがあります。データベースには、6,000,000 のストリート セグメント レコードが含まれています。生成されたデータを少し絞り込むために、都市に注目します。表示しなければならない最大の都市には、250,000 通りのセグメントがあります。これは、250,000 線分のポリラインを表示することを意味します。
最も長いポリラインは、SQL Server 2008 の 2 つの 8000 varchar 列に格納されている 9600 文字を使用しています。
API v2 より高速で、アプリケーションを iPhone に移植するため、API v3 を使用する必要があります。今のところ、SQl Server 2008 アプリケーションを使用した ASP.NET 3.5 です。パフォーマンスが優先されます。
問題: これを行うデモ プロジェクトのほとんどは、API v2 で作成されています。したがって、Google API v3 リファレンス ページのチュートリアル以外に、目標を達成するためのパフォーマンスやテクノロジの使用を比較するものは何もありません。API v3 用の .NET ラッパーはまだありません。
250,000 線分のポリラインを生成すると、重いファイルが作成され、転送と解析に時間がかかります。(390,000 ポイントの 1 つのポリラインのデモを見つけました。ポイントが少ないポリラインが多いと、丸みが少なくなるため、エンコーダの効率が大幅に低下すると思います。) 道路セグメントは基準に基づいて表示されるため、ポリラインは動的に作成する必要があります。キャッシュは使用できません。
いくつかの考え:
KML/KMZ:
長所: 標準であるため、Bing マップ、Yahoo! マップ、Google マップ、Google Earth、同じ KML ファイル。データ生成は同じです。
短所: KML の LineString は、Google マップ API が処理できるようにポリラインをエンコードできません。したがって、おそらく大きくなり、表示が遅くなります。このサイズでファイルを圧縮すると、処理時間が長くなり、クライアント側でデータを圧縮解除する必要があります。250,000 個のデータで、iPhone がこれをどのように処理し、サーバーが 40 人のユーザーの同時ブラウジングをどのように処理するかはよくわかりません。
JavaScript ファイル:
長所: JavaScript ファイルにはエンコードされたポリラインを含めることができ、転送するファイルが大幅に削減されます。
短所: オーバーレイを追加したり、ポリラインを作成したりするために、独自のストリップ バージョンの API v3 を作成する必要があります。単に KML ファイルを作成してソースを指すよりも複雑です。
GeoRSS: このオプションは私のニーズには合っていないと思いますが、間違っている可能性があります。
MapServer: MapServer を使用してオーバーレイを生成することを提案する投稿を見ました。データベースとの接続とそれがもたらすパフォーマンスについてはよくわかりません. さらに、KML を生成するためのプラグインが必要です。独自の KML ファイルまたは JavaScript ファイルを作成するよりも良い結果が得られるとは思えません。メンテナンスはなくても簡単です。
モノポリー シティ ストリート: ゲームは終了しましたが、モノポリー シティ ストリートは最大ズーム レベルで重心がウィンドウの境界内にある通りのみを表示していました。マップを移動すると、新しい通りを表示するようにサーバーに要求が送信されました。これは独創的だと思いますが、同様のものを実装する方法がわかりません。私が考えた唯一のことは、long がマップ エリア X の境界内にあり、Y と同じであるかどうかを比較することでした。これにより、高ズーム レベルでパフォーマンスが大幅に向上する可能性がありますが、都市全体を表示する場合は何も得られません。
クラスタリング: クラスターはマーカーには最適ですが、ポリラインをクラスター化することはできないようです。ポリライン用のMarkerClustererのようなものが好きで、3 つのポリラインの色でクラスタリングできるようにしたいと思います。これはおそらく、「すごいことになっていただろうが、それを忘れる」というままになるでしょう.
矢印: ポリラインの方向を示す将来のバージョンがあり、重心に矢印を表示する必要があります。画像またはマーカーをロードしてもデータが 2 倍になるだけなので、カスタム オーバーレイを作成することがおそらく唯一の選択肢になるでしょう。私が達成したい同様のデモを見つけました残念ながら、デモは非常に遅いですが、デモのように複数ではなく、ポリラインごとに 1 つの矢印のみを表示したいと考えています。KML はカスタム オーバーレイをサポートしていないと思うので、この機能はデータの形式に依存します。
基準: アプリケーションは ASP.NET 3.5 で作成されますが、iPhone へのポートはアプリケーションを表示するために Web を使用せず、基準を選択するための画面サイズが制限されます。これが、パラメーターで渡された基準に基づいてファイルを生成するサービスまたはページをより重視していた理由です。サービスは、マップ上にポリラインを表示するために必要なファイルを生成します。これを行う aspx ページを作成することもできます。aspx ページは、サービスの方法よりも詳細に文書化されています。理由があるはずです。
質問:
- 道路セグメント ファイルを返す Web サービスを作成するか、ファイルを返す aspx ページを作成する必要がありますか?
- 最大経度/緯度ポリラインには 9600 文字があり、最大 250,000 の線分ポリラインをレンダリングする必要があるという事実に基づいて、エンコードされたポリラインまたは経度/緯度を含む KML を含む JavaScript ファイルを作成する必要があります。または、オーバーレイを生成する MapServer を使用する必要がありますか?
- 次のバージョンでポリライン上にシンプルな矢印を表示できるようになるでしょうか。
- KML 生成の場合
XDocument
、XmlDocumentを使用してファイルを作成しXmlWriter
、これを手動で作成するか、ストリーム内のストリート セグメントを単にシリアル化する方が高速ですか?
これは、実際のコードの問題というよりは、ブレインストーミング スタック オーバーフローの質問です。可能性を狭めるのに役立つ答えは、より良い選択を指摘するすべての知識を持っている人と同じくらい良い.
php - GXml は KMZ ファイルで動作しますか?
Google Map API GXml は .kmz ファイルを直接解析できますか? そうでない場合、.kmz ファイルを .kml に変換する最良の方法は? .kmz ファイルはデータベースに保存され、PHP コードを使用して取得します。
kml - 経度が180度を超えるポリゴンを含むGoogle Earth KML?
Google Earth kml ファイルで地上から軌道へのロケットの飛行経路を表示するために、kml ファイルでポリゴンを使用します。
問題は、Google Earth が 180 度を超える経度を処理できないことです。そのため、ロケットが地球を 2 回以上周回する場合、経度の値を再計算する必要があります。720度のような経度を使用する方法はありますか?Googleはこれを単独で翻訳できますか? プログラムを変更する必要がなく、座標によって地球の周りのロケットの回転を直接見ることができるので、私はこれを好みます。
javascript - GGeoXmlオブジェクトからKMLデータを取得する方法
次のコードを使用して、KMLファイルをGoogleマップオブジェクトに読み込みます。
KMLファイルから目印を読み取り、リストに表示したいと思います。必要な情報がブラウザに転送されていることは知っていますが、アクセス方法がわかりません。
jquery - Googleマップのタイムラインスライダー
複数のKMLファイル(それぞれが異なる日付を表す)を取得して、スライダーを使用してGoogleマップを作成するための最良の方法は何ですか?
google-maps - 運転ルートと徒歩ルートの Google マップ HTTP API
2 つの特定の座標を指定して、Google から徒歩ルートを取得する方法を知っていますか? 簡単な HTTP GET リクエストを送信して、その結果を KML ファイルにする方法を教えてください。
ジオコーディングはしたくありませんが、次のメソッドによって返される KML ファイルとして運転ルートを取得します。
http://www.gringod.com/2008/02/26/save-google-maps-driving-directions/
iphone - 車の動きをシミュレートするCLLocationManager Simulator?
かなり長い間、CLLocationManager
シミュレーターのようなものを探していCLLocation
ます。たとえばCLLocationManager
、事前定義されたルートに沿って ( KMLまたはGPXファイルを入力として、またはとにかく、KML がいいでしょう ;)。
このようなものは Android エミュレーターで利用できますが、iPhone シミュレーターにもこのようなものが存在するかどうか疑問に思っていました。少なくともこれは素晴らしいことであり、実際に運転する代わりにシミュレーターでのテストをスピードアップします.... :/
このようなものが存在しない場合、そのような動作を偽造し、クライアントが影響を受けないようにシミュレーターを実装するためのアプローチは何ですか? CLLocationManager
(たとえば、デリゲートのコード変更はありません。)
リンク、ヒント、アプローチをありがとう...
json - JSON から KML への変換
Google 徒歩ルートの JSON レスポンスを KML に変換する方法を知っていますか?
このメソッドを使用して、Google から JSON 形式で運転ルートを取得しています。
これを処理して KML にエクスポートし、Google Earth で表示するにはどうすればよいですか? Java API などはありますか?
android - Android Emulator Control用にKMLファイルを準備するにはどうすればよいですか?
位置情報を使用してアプリケーションをテストしようとしています。エミュレータコントロールにはKMLファイルから読み込む機能があることをご存知でしょう。(Eclipse-> DDMS-> Emulator Control-> Location Controls-> KML-> Load KML ...)「パスの追加」でGoogleEarthアプリケーションを使用してKMLファイルを準備しました。次に、拡張子を.kmlで保存し、Eclipseに読み込みます。EclipseはこのKMLファイルを読み込みませんでした。
Android Emulator Control用にKMLファイルを準備するにはどうすればよいですか?
kml - KMZ ファイルのネスト
複数の小さな KMZ ファイルで構成される 1 つの KMZ ファイルを作成することはできますか? 実際の KML エンティティを手動でマージする必要はありませんが、それが唯一のオプションである場合はそうします。