地理情報システム

地図製作者、地理学者、およびGIS専門家のためのQ&A

5
太平洋の適切な地図投影
私はhttp://www.transpacificproject.comから太平洋を示すこの地図を見つけました: 地球の同じ地域について、同様の地図を作成したいと思います。また、大陸間の距離をよく示していると思うのと同じ投影法を使用したいと思います。 このプロジェクションの名前を検索しましたが、答えがまだわからないと思います。最初はロビソンだと思っていましたが、ウィキペディアによると: ロビンソン図法は、全世界を一度に表示する世界地図の地図図法です。 そうではないようです。(ここではヨーロッパとアフリカを見ることができません。) だから、私の質問は2つあります:この投影の名前は何ですか?以前に言ったことを説明するためにそれを使用する必要がありますか、それとも何か他のものを使用する必要がありますか?

1
Hstoreキー/値と空間クエリの組み合わせが大きすぎるOSM抽出を処理するには遅すぎる
PostgreSQL 9.3.5およびPostGIS 2.1.4を使用して、OSMデータの統計を計算しようとしています。Geofabrikからダウンロードした小さなバイエルン抽出物から始めました。dbスキーマは通常のAPI 0.6スキーマであり、データはダンプアプローチを介してPostgresにインポートされました(osmosisに付属のpgsnapshot_schema_0.6 * .sqlスクリプトを使用)。ANALYZE VACUUMも実行されました。 私が使用している唯一のカスタムメイドのものは、すべての管理境界関係のマルチポリゴンを含むポリゴンテーブルです。ポリゴンジオメトリは、決して簡素化されていません。 私が今達成しようとしているのは、バイエルンのadmin = 6境界内にあるすべてのノードをカウントすることです。これが私のSQLクエリです。 SELECT relpoly.id, count(node) FROM bavaria.relpolygons relpoly, bavaria.nodes node WHERE relpoly.tags @> '"boundary"=>"administrative","admin_level"=>"6"'::hstore AND ST_Intersects(relpoly.geom, node.geom) GROUP BY relpoly.id; Postgresはネストされたループ結合を行っており、admin = 6境界ごとにすべてのノードをスキャンするため、このクエリの実行時間はひどいです。参考までに、バイエルンは98個のadmin = 6ポリゴンに分割され、バイエルン抽出物には約3,000万個のノードがあります。 この準最適なクエリの実行を回避し、Postgresにすべてのノードを一度だけスキャンするように指示することは可能ですか(たとえば、結果セット内の対応するポリゴンのカウンターをインクリメントするか、ヒントを使用して) 編集: 1)バイエルンノードに空間インデックスが存在する: CREATE INDEX idx_nodes_geom ON bavaria.nodes USING gist (geom); 2)クエリプランは次のようになります。 HashAggregate (cost=284908.49..284908.75 rows=26 width=103) …

6
matplotlibでシェープファイルをプロットする
シェープファイルを読み取り、matplotlibを使用してプロットしようとしています。コードは次のとおりです。 import matplotlib.pyplot as plt import shapefile shpFilePath = "D:\test.shp" listx=[] listy=[] test = shapefile.Reader(shpFilePath) for sr in test.shapeRecords(): for xNew,yNew in sr.shape.points: listx.append(xNew) listy.append(yNew) plt.plot(listx,listy) plt.show() ただし、ポリゴンを接続する線が表示されます。シェイプファイル内の方法になるようにポリゴンを描画するにはどうすればよいですか。これは、ArcGISで開いたときのプロットとシェープファイルのスクリーンショットです。

3
ポリゴンフィーチャをグループ化して一連の仕様に一致させる
2つの異なるポリゴンフィーチャセット(398の国勢調査地区と80の郵便番号)があり、それぞれがより大きなフィーチャ(米国の郡)にロールアップします。国勢調査地区は郵便番号よりも小さいものの、郵便番号をロールアップ(ネスト)しません。 私の質問-ArcGISまたはQGIS(または任意のソフトウェア)を使用して、398個の国勢調査区と80個の郵便番号を個別にグループ化して10個のポリゴンフィーチャを形成し、2つの結果の10個のポリゴンフィーチャセットの差を最小限に抑える方法/ツールはありますか? 明確にするために、398個のトラクト-> 10個のフィーチャをグループ化し、次に80個の郵便番号-> 10個のフィーチャを個別にグループ化して、それぞれ10個のフィーチャの2つの異なるセットを作成します。このグループ化を最適化して、これら2つのセット間のオーバーレイが最大化されるようにします(つまり、不一致を最小化します)。

4
座標のポリゴンからのKMの面積
私は(python shapely)の座標からのポリゴンを持っています POLYGON ((24.8085317 46.8512821, 24.7986952 46.8574619, 24.8088238 46.8664741, 24.8155239 46.8576335, 24.8085317 46.8512821)) このポリゴンの面積をkm ^ 2で計算したいと思います。Pythonでこれを行う最良の方法は何でしょうか?
13 python  polygon  area  shapely 

4
OpenLayers3にLayerSwitcherがありませんか?
LayerSwitcherOpenLayers 3にコントロールがあるかどうか疑問に思っていましたか? ol3は完全に書き直されていると読みました。しかしLayerSwitcher、http://openlayers.org/en/latest/apidoc/ol.control.htmlから同等のものを見つけることができないようです。この制御なしにレイヤーをオン/オフする方法はわかりません。されてLayerSwitcher行方不明、何か他のものに名前を変更したり、不完全なドキュメントですか? OpenLayers3にがない場合LayerSwitcher、古いLayerSwitcherのようなカスタムコントロールを実装する例を知っていますか?

3
RTreeでの空間インデックスの使用を理解していますか?
RTreeでの空間インデックスの使用を理解できません。 例:300個のバッファーポイントがあり、各バッファーの交差領域とポリゴンシェープファイルを知る必要があります。ポリゴンシェープファイルには、20,000を超えるポリゴンがあります。プロセスを高速化するために空間インデックスを使用することが提案されました。 SO ...ポリゴンシェープファイルの空間インデックスを作成する場合、何らかの方法でファイルに「アタッチ」されますか、それともインデックスはスタンドアロンですか?つまり、作成後、ポリゴンファイルで交差関数を実行するだけで、より高速な結果を得ることができますか?交差点は空間インデックスがあることを「認識」し、何をすべきかを知っていますか?または、インデックスで実行してから、FIDなどを介して元のポリゴンファイルにそれらの結果を関連付ける必要がありますか? RTreeのドキュメントはあまり役に立ちません(おそらくプログラミングを学んでいるだけだからです)。手動で作成されたポイントを読み取り、それから他の手動で作成されたポイントに対してクエリを実行して、ウィンドウ内に含まれるIDを返すことにより、インデックスを作成する方法を示します。理にかなっています。しかし、インデックスの元のファイルにどのように関連するかについては説明していません。 私はそれがこのような何かに行かなければならないと考えています: ポリゴンシェープファイルから各ポリゴンフィーチャのbboxを取得し、空間インデックスに配置して、シェープファイル内のIDと同じIDを与えます。 そのインデックスをクエリして、交差するIDを取得します。 次に、インデックスのクエリによって特定された元のシェープファイル内のフィーチャのみで交差を再実行します(この最後の部分をどのように行うかはわかりません)。 正しいアイデアはありますか?私は何かが欠けていますか? 現在、このコードを、1つのポイントフィーチャのみを含む1つのポイントシェープファイルと、20,000個以上のポリゴンフィーチャを含む1つのポリゴンシェープファイルで動作するようにしています。 Fionaを使用してシェープファイルをインポートし、RTreeを使用して空間インデックスを追加し、Shapelyを使用して交差を試みています。 私のテストコードは次のようになります。 #point shapefile representing location of desired focal statistic traps = fiona.open('single_pt_speed_test.shp', 'r') #polygon shapefile representing land cover of interest gl = MultiPolygon([shape(pol['geometry']) for pol in fiona.open('class3_aa.shp', 'r')]) #search area areaKM2 = 20 #create empty spatial index idx …

5
OpenLayers 3のZ-index 3:OL3でのレイヤーの順序付け
古いバージョンのようにOpenLayers3のレイヤーのZ-indexを変更する方法はありますか? map.setLayerIndex(markers, 99); //set the marker layer to an arbitrarily high layer index マップを使用して、レイヤーの順序を変更する必要があります。したがって、このようなz-indexを定義するような可能性は役に立たない var geoLayer = new ol.layer.Vector({ source : new ol.source.GeoJSON({ projection : 'EPSG:900913', url : './myGeoJson.json' }), style : function(feature, resolution) { var text = resolution < 5000 ? feature.get('name') : ''; if (!styleCache[text]) { styleCache[text] = …



2
PostGISを使用してすべてのポイントを接続する最小のネットワークを計算する方法は?
2つのテーブルを生成するpostgisスクリプトのセットがあります-1つはポイントのセット、もう1つはそれらを囲む道路のセットです。すべてのデータは同じプロジェクションにあり、両方の出力はpostgis 2.1でpostgres 9.2テーブルに保存されます 道路ネットワークのトポロジーを作成し、ポイントテーブルに最も近い道路セグメントを含む列があります。 次に、最小全域木などを使用してすべてのポイントを接続する最小のネットワークを表す道路ネットワークのサブセットを生成します。道路ネットワークは無向であり、コストは単にルートの長さです。 モジュールのv.netファミリを使用してQGIS / Grassでこれを行うことができますが、理想的にはSQLでもこの最終ステップを維持したいと思います。 新しいapspWarshall postgis関数を見てきましたが、ネットワーク全体ではなくポイントの接続にエネルギーを集中するように奨励する方法については迷っています。 これは、これを解決するためのフレームワークを作成するために作成した短いスクリプトですが、エッジのサブセットから開始するために関数をフォーカスできる場所がわかりません。 SELECT seq, id1 AS node, id2 AS edge, cost, the_geom FROM pgr_apspWarshall('SELECT gid AS id, source, target, st_length(the_geom) AS cost FROM road_network ', false, false ) AS tree JOIN road_network As roads ON tree.id2 = roads.gid 単一パスの最短パスの問題では、関数は開始と終了を要求しますが、明らかにすべてのポイントの問題ではありません。同様に、Grassでは、v.net.spanningtreeとv.net.steinerは、連携するネットワークとして一連のポイントとラインを使用することを想定しています。 PostGISでこれを行う方法についての提案はありますか?
13 postgis  routing 

2
ArcMapを使用せずに.gdbのデータをシェープファイルに変換する方法は?
LOCKファイル、FREELISTファイル、ATXファイル、GDBINDEXESファイル、GDBTABLEファイル、GDBTABLEXファイル、SPXファイルを含む.gdbフォルダーがあります。 このフォルダー内の区画データをシェープファイルに変換して、オンラインでArc GISに読み込むことができるようにします。それでも、ArcGISデスクトップバージョンを使用している場合、これは簡単なタスクになりますが、このバージョンのソフトウェアにアクセスできなくなりました。 この区画データをシェープファイルに取り込む方法に関するアイデアはありますか?QGISをまだダウンロードしていないので、ArcGIS 10.1のようにこのソフトウェアにその機能があるかどうかはわかりません


2
QGIS Query BuilderでESRIシェープファイルを使用してコメントを使用することはできますか?
クエリビルダでさまざまなクエリを試しています。クエリにコメントする方法はありますか?試した /* */ # -- 成功せずに: クエリの実行中にエラーが発生しました。データプロバイダーは言った:OGR [3]エラー1:SQL式解析エラー:構文エラー 編集: この質問の機能をリクエストしました:http : //hub.qgis.org/issues/10914 @Bernd V.は、式がベクトルの形式に従って異なる方法で評価されることを観察しました(詳細については、クエリビルダーの[ヘルプ]ボタンを参照してください)
13 qgis  query 


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.