タグ付けされた質問 「large-datasets」

2
2億ポイントのPoint in Polygon分析の最速のソリューションを探しています[終了]
次の形式の2億の観測値を含むCSVがあります。 id,x1,y1,x2,y2,day,color 1,"-105.4652334","39.2586939","-105.4321296","39.2236632","Monday","Black" 2,"-105.3224523","39.1323299","-105.4439944","39.3352235","Tuesday","Green" 3,"-104.4233452","39.0234355","-105.4643990","39.1223435","Wednesday","Blue" 座標セット(x1 / y1およびx2 / y2)ごとに、それが含まれる米国国勢調査地区または国勢調査ブロックを割り当てたい(国勢調査地区TIGERシェープファイルをここからダウンロードした:ftp : //ftp2.census.gov/ geo / tiger / TIGER2011 / TRACT / tl_2011_08_tract.zip)。そのため、観測ごとにポリゴンのポイント操作を2回行う必要があります。一致が非常に正確であることが重要です。 ソフトウェアを習得する時間を含め、これを行う最も速い方法は何ですか?48GBのメモリを搭載したコンピューターにアクセスできます-これが関連する制約になる場合があります。 いくつかのスレッドは、PostGISまたはSpatialiteの使用を推奨しています(Spatialiteは使いやすいようですが、PostGISと同じくらい効率的ですか?)。これらが最良のオプションである場合、空間インデックス(RTree?)を設定することが必須ですか?もしそうなら、どのようにそれを行うのでしょうか(例:国勢調査シェープファイルの使用)サンプルコード(またはサンプルコードへのポインター)を含む推奨事項に非常に感謝します。 このサイトを見つける前の最初の試みは、ArcGISを使用して、米国国勢調査ブロックのデータのサブサンプル(100,000ポイント)の空間結合(x1 / y1のみ)を行うことでした。プロセスを強制終了するまでに5時間以上かかりました。40時間未満の計算時間でデータセット全体に実装できるソリューションを期待しています。 以前に尋ねられた質問をおApびします-私は答えを一読しましたが、どのように推奨事項を実装するのか疑問に思っています。私はSQL、Python、Cを使用したことがなく、ArcGISを使用したことが一度もありません-私は完全な初心者です。


3
ArcGIS DesktopでMergeとAppendのパフォーマンスの違いを測定しますか?
多くの場合、自分のツールが新しいフィーチャクラスを生成するかどうかは気にしませんが、大規模なデータセットをすべて結合するのにかかる時間は気にします。Appendツールの代わりにMergeツールを使用して新しいフィーチャクラスを作成するのに時間がかかりますか、それともMergeとAppendはパフォーマンスの面で本質的に同じですか?

4
海岸線を一般化するには?
基本的に世界の海岸線を表す多数のデータポイントがあります。正確な解像度はわかりませんが、5〜10mの範囲内だと思います。 ギザギザの海岸線を表す一連のポイントを想像してください。1mの解像度ではすべての詳細が表示され、海岸を正確に表すために50個のデータポイントが必要ですが、10kmの解像度では海岸は直線に見え、2ポイントしか必要ありません。 私は、データを「全惑星」解像度から「ストリート」解像度にスケーリングする必要があるマッピングアプリケーションを作成しています。データポイントの解像度を下げ、さらに広い解像度のデータ量を減らすための手助けが必要です。 私はベクタータイリングについて読んでおり、これが最良の解決策だと思います(私はすでにこのようなことをしています)が、低解像度では、データセットはまだかなりの意味で、それは[比較的]長い時間がかかります「有効な」データセットが小さいため全体のサブセットであるため、高解像度は高速です。 「フルプラネット」ビューのタイルデータが管理可能なサイズになるように、大規模なデータセットを取得してそのスケールを縮小する方法を決定しようとしています。より大きな完全なデータセットからタイルサブデータセットを作成するにはどうすればよいですか? ツールを使用できてうれしいですが、それがどのように行われるかを学ぶために自分でやろうと思っています。

1
50 Gb DEMに必要なクラスター処理リソース?
「レンタル目的」では、大学のコンピューティングセンターから必要なコンピューティングリソースを指定する必要があります。何を求めればいいのか、ほとんどわからない。 以下の情報を考慮して、何か提案がありますか? これは計算クラスタです。「各ブレードが2つのクアッドコアインテルXeon 2.33 Ghz CPUと16 GBのメモリで構成され、合計80 CPUと160 GBのメモリで構成される10ブレードサーバー。2TBディスクシステムのアカウント。実行中64ビットLinux」 ロスレス圧縮では、元のデータは1つの50GB TIFFファイルです。ある時点で、サイズが50GBのいくつかの(最大10個の)ファイルを処理します。 GDAL、Pythonスクリプト、そして多分C ++スクリプトを使用します。許可されれば、Grass GISやSaga GISなどのソフトウェアを使用します。また、空間ライブラリを備えたR言語。通常の地形パラメータを導き出し、オブジェクト指向アルゴリズムを適用して特定の特徴(地形)を抽出し、統計分析を使用して説明とモデリングを行います。

4
大規模なLiDAR点群を細くしますか?
大きな点群(LASファイル)があり、複雑な手法を使用してこれを薄くしようとしています。n 番目ごとのポイントを抽出するなどの簡単な手法を使用して、ポイントクラウドを薄くできることを知っています。ただし、私が使用している点群は、一部の領域では密度が高く、他の領域では密度が低くなっています。密度の低い部分よりも密度の高い部分の方が薄くなるように、雲を薄くできるようにしたいと思います。これを手動で行うには、グリッドを作成し、各セル内の特定の数のポイントを選択します。(つまり、各コーナーに1つ、中央に1つ)ただし、この点群はこのタスクには大きすぎます。複雑な選択クエリ、他の自動化されたプロセス、または使用可能な既存のソフトウェアアプリケーションなど、この問題に対する既存の解​​決策があるかどうかを把握しようとしています。

2
数十億のポリゴン(バウンディングボックス)の効率的なラスターサンプリング
何十億ものバウンディングボックス(ファイルから順番に読み込まれる)で構成されるセットが与えられ、各セルのラスター値が重複するバウンディングボックスの数を与える必要がある場合、ラスターを効率的に(Pythonで)計算するにはどうすればよいですか? 4000 * 4000ラスターの場合 私はnumpy行列の作成に時間をかけました: $ python -m timeit 'import numpy' 'a = numpy.zeros(shape=(4000,4000))' 10 loops, best of 3: 51.7 msec per loop 標準のPython行列の作成: $ python -m timeit 'a = 4000*[0]' 'for i in range(4000):' ' a[i]=4000*[0]' 10 loops, best of 3: 218 msec per loop したがって、numpyはより高速ですが、ループあたり50ミリ秒、10億回の反復により、実行時間は約1年(0.05ミリ秒* 1000000000/60/60/24/365 = 1.5年)になります。 …

2
ジオプロセシングタスクGeocode Addressesに有効な制限はありますか?
私が直面している問題の背景は次のとおりです。 レコードの膨大なディレクトリをジオコーディングしています。1億を超えるアドレスです。私は可能な限り、地理的な理由で住所を細かく分けました。それでも、1つの州でジオコーディングするレコードが500万を超える場合があります。私が作成したarcpyスクリプトは、各州の住所をループし、適切なロケーターを使用して適切なジオコーディングプロセスを実行します。 問題: 36時間かかることもあれば、20時間しかかかることもありませんが、これまでにないエラーでスクリプトが停止します(これはXMLログファイルからのものです)。 ERROR 001143: Background server threw an excecption. スクリプトがArcCatalogまたはArcmapのPythonウィンドウで実行されると、赤いエラーメッセージが表示されます Runtime error <class 'arcgisscripting.ExecuteError'>: ERROR 001143: Background server threw an excecption. スクリプトをIDLEで実行すると、エラーなしで処理が停止し、シェルが再起動します(通常の=====RESTART=====見出しを使用)。 このarcpyスクリプトは、数か月前から使用しているため、小さいデータセットでも機能することを知っています。このエラーの原因は何ですか?ジオコーディングを確実に行うために、住所リストをより小さな数に分割する必要がありますか? 編集:@DEライトごとにイベントビューアーログを追跡しました。これは、最新のエラーの下にリストされているものです Faulting application name: pythonw.exe, version: 0.0.0.0, time stamp: 0x4ba3e4e2 Faulting module name: Geocoding.dll, version: 10.0.1.2800, time stamp: 0x4cbcbb71 Exception code: 0xc0000005 Fault offset: 0x000be1f3 …

9
さまざまなユーザーのアクセス制御(ACL)を備えたWMS?またはWebマップ上の何千ものポイントの解決策?
私は何千ものサイトのセットを持っています。すべてのユーザーがマップ上で同じサイトを見るとは限りません-したがってACL。データは非GISデータベース(mssql、oraなど)に格納され、現在標準のSQLクエリで取得され、JSPを使用してクライアント(OpenLayers)に返されます。 現在のコードはすでにクライアント側のクラスタリング(クライアントの混乱は少ないですが、すべてのデータはそこにあります)、境界ボックスの取得(データのサブセットですが、すべてのサーバーにアクセスする必要がある)を実行するようにすでに最適化されています新しいデータのパン/ズーム)およびサーバー側のクラスタリング(クライアントに送信されるデータを減らすため)。 代わりに、すべてのデータに対して画像/タイルを生成します。これは、Googleマップがすべての結果に対して大量の小さな赤い点を表示する方法と似ています-http://bit.ly/d73qrw [google maps search for "coffee"]クライアントに表示します。クリックすると、情報を取得するためにWMSサービスをすばやくajaxで呼び出します。それは少なくともアイデアです。 しかし、ここに問題があります。すべてのユーザーが同じデータを表示するわけではないため、データの前に標準のWMSサービスをセットアップすることはできません。これらのタイルをオンザフライで生成したり、WMSをACL対応にする方法はありますか? 編集-2010年9月22日-Googleがタイルを生成する方法、またはその背後にあるテクノロジーを見つけました。彼らはGoogle Fusion Tablesを使用しています。テーブルにN行を格納し、データが緯度/経度を認識している場合、Fusion Table製品はその場でタイルを生成できます(!)。これは私が探している種類のものです-大量のデータを含む高性能のマップ。しかしもちろん、ACLで制御する必要があります。WMS仕様のカスタムの軽量実装を記述したり、既存の製品を変更したりすることには意味がありますか?geoserverは、ACLをサポートするために「ただ」変更するだけのように思えます。 編集-2010年9月27日-バウンティを追加してからの詳細情報。私のデータはOracleにあります。Ora空間が有効になっていません。現在、データはビジネスレベルで抽出されてデータに変換され、クライアントに送信されます。クライアントは「ドット」をマップに配置します。ACLは、DBやActivDirなどではなく、ビジネスロジックレベルで実行されます。認証は単純ですが、承認は単純ではないため、コードに取り込む必要がありました。各ユーザーに異なるドットのサブセットが表示されるマップ上で最大数千の「ドット」を提供するWMSサービスを最適に作成する方法を知りたい。答えはCQL_FILTERですか?しかし、パラメーターはどのように設定されますか?私が今持っている考えの1つは、2ステップのプロセスを実行することです。最初に社内クエリを実行して、ユーザーが表示を許可されているIDのリストを取得し、次に、CQL_FILTERパラメーターでそれらのIDを使用してWMSリクエスト文字列を作成します。このプロセスを簡略化するものはありますか?そして、これを使用する場合、エンドポイントをOLにするには、GeoServer上の実際のWMSサービスではなくDBからIDを取得するためのコードなので、このレイヤーを「WMS」レイヤーとしてOpen Layersクライアントに追加するにはどうすればよいですか?

4
PostGISで非常に大きなデータセットを返すクエリ
数百万行を返すPostGISクエリがあります。 SELECT t1.id AS id1, t2.id AS id2, ABS(t1.mean_h - t2.mean_h) AS h_diff, ST_Distance(t1.the_geom, t2.the_geom) AS dist FROM tas_ponds as t1, tas_ponds as t2 WHERE (t1.gid > t2.gid) AND ST_DWithin(t1.the_geom, t2.the_geom, 17000) で実行するとpsql、out of memory for query resultエラーが発生します。 Googlingは、これはpostgres / PostGISではなくpsql内のエラーであることを示唆しています。クエリをフォームにSELECT ... INTO x FROM ...修正すると問題が解決しますか?非常に大きなデータセットを処理するために推奨される他の方法はありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.