地理情報システム

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

3
オープンソースソフトウェアによるGPSデータの後処理
ArcPad 7.1プラットフォームで動作するMagellan Professional Mapper CXを使用しています。後処理後のサブメーター精度を持ちます。後処理なしでは、フィールドで収集されたデータは10〜15フィート離れています。 GPSデータを後処理できるオープンソースソフトウェア/ Webアプリケーションはありますか?

4
OpenLayers 2でGoogleレイヤーに緯度/経度ポイントをオーバーレイする方法は?
OpenLayersのGoogleレイヤーの上に緯度/経度でベクターポイントを追加するのが面倒です。地図をパンすると、ポイントが移動します。GoogleレイヤーをWGS84のレイヤーに置き換えても、これは起こりません。どうすれば修正できますか? map = new OpenLayers.Map('map'); map.addControl(new OpenLayers.Control.LayerSwitcher()); var gmap = new OpenLayers.Layer.Google( "Google Streets", {numZoomLevels: 20} ); var pointLayer = new OpenLayers.Layer.Vector("Point Layer"); map.addLayers([gmap,pointLayer]); map.setCenter(new OpenLayers.LonLat(16.373056, 48.208333), 5); var point = new OpenLayers.Geometry.Point(16.373056, 48.208333); var pointFeature = new OpenLayers.Feature.Vector(point,null,null); pointLayer.addFeatures([pointFeature]); 私はhttp://docs.openlayers.org/library/spherical_mercator.htmlをフォローしようとしましたが、成功しませんでした。


5
大きいシェープファイルからラスター
大きなシェープファイル(1 GB)があり、ラスタライズする必要があります。私はすでに以下を試しました。 1.)これを使用してGRASSにインポートするv.in.ogrと、次のエラーメッセージが表示されて失敗しました:エラー:G_realloc:break_polygons.c:188で498240036バイトを割り当てることができません 2.)私の2番目のアイデアは、PostGISを使用することでした。シェープファイルをインポートし、グリッドのX、Y位置でリサンプリングしてから、これらのポイントをエクスポートして、Xyzからグリッドを作成します。シェイプファイル(ポリゴンとポイント)を正常にインポートしましたが、30万ポイントの100万ポリゴンの交差は非常に遅いようです。私は次のPostGIS文を使用しましたが、改善の余地があるかもしれません。 select polygons.land_id,grid.geom from grid,polygons where grid.geom && polygons.geom and within(grid.geom,polygons.geom) 3.)simplify()PostGIS でも使用しようとしました。しかし、私は多くの小さなポリゴンを失いました(つまり、小さなポリゴンのみで覆われていた一部の領域はヌルになりました)。 どんなアイデアでも大歓迎です。

7
ArcPyを使用して投影点の緯度と経度を取得しますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、地理情報システムスタック交換のトピックになるようにします。 2年前に閉店。 ArcPyからアクセスされているフィーチャクラスにポイントフィーチャがあります。ポイントは投影されますが、このポイントの未投影の緯度と経度を取得する効率的な手段を見つける必要があります。 再投影(投影解除)、新しいフィーチャクラスで検索カーソルを取得、フィーチャを検索、およびフィーチャの形状から緯度経度を取得する以外の方法はありますか?


2
PostGISを使用して複数のテーブルからジオメトリを取得しますか?
私は、PostGIS、PostgreSQL、SQL全般について非常に新しいです。 PostGISデータベースには44個のテーブルがあり、各テーブルはベクターデータの異なるレイヤーを表しています。それぞれが個別のシェープファイルからロードされ、それぞれには、そのレイヤーのジオメトリを記述する列があります。wkb_geometry 1つのレイヤーで特定のポリゴンを選択し、そのポリゴンの境界ボックスとオーバーラップするレイヤーのサブセットからすべてのジオメトリを取得したい。私は、出てくる順序について気難しいとは感じていませんが、各グループのジオメトリが由来するテーブルによって編成されていると便利です。 これが私のSQLステートメントのサンプルです。 SELECT ST_AsEWKT(wkb_geometry) /* Some of this data has z values, hence the EWKT */ FROM table2, table3, table4, table5 WHERE wkb_geometry && ( SELECT wkb_geometry FROM table1 WHERE ogc_fid = 25 ); エラーを返します: column reference "wkb_geometry" is ambiguous /* note that every table that I am …
13 postgis  sql 

2
平行線の少ない「分割道路の統合」ツールを使用する
「分割された道路を結合」ツールを使用すると、「一般的に互いに平行な傾向のある」道路が結合されます。これは、図1からということです。道路が互いに近い場所で始まりをマージします(結果は図2のようになります)が、私が望んでいるような全長ではありません(図3)。これは、線が十分に平行ではないためだと思います(線間の角度が大きすぎる)。たとえ合流距離を300m(これは道路がどれだけ離れているかを超えている)に延長しても、図3からは結果が得られないからです。 マージするためにラインがどれだけ平行しなければならないかを減らす方法を知っている人はいますか?


1
印刷されたマップ(mxd)のスケールは、コードが手動印刷と異なります
この質問は、以前私が尋ねた質問に一部関連しています。 ESRIが公開したアクティブビューの印刷コードでA3 mxdを印刷しようとしましたが、コードを1行だけ変更しました。つまり、A3サイズに変更しました。 docPaper.FormID = 8; これにより、デフォルトの0レターサイズ(esriPageFormLetter)ではなく、A3のサイズになります。 マップは細かく印刷されますが、縮尺どおりではありません。つまり、マップは1:10000であると想定されていますが、経緯線グリッド間のスペースは、本来の10cmではなく9.7cmです。 EXACTと同じmxdを印刷しますが、手動の方法、つまりArcMap自体を使用して、[ファイル]-> [印刷]を選択します。スケールは正確で、10cmを測定します。 重要なのは、2つの印刷の間でページ設定と印刷設定を変更していないことです。 なぜこれを行うのでしょうか? 何が起こっているのかを理解するには、下の写真をご覧ください。 http://img819.imageshack.us/img819/1959/scalemapcomparison.jpg

2
ハフモデルのオープンソースGIS実装
これはストレッチかもしれませんが、顧客と店舗の関係について空間データを分析するために、小売市場分析用の重力モデリングツールまたはスクリプト(ハフモデルなど)を実装している人がいるのだろうかと思いましたか? いくつかのESRIソース(Business Analystエクステンションを含む)がありますが、私はオープンソースの世界には見ていません。PostGISがデータベースの品質に本当に活用できる場所のようです。 /programming/2837870/huff-model-in-gis http://arcscripts.esri.com/details.asp?dbid=15999 参照ドキュメント(時代遅れですが、コンセプトを説明する関連記事): ハフモデルを使用した小売商圏分析 Arc10ヘルプ:セールスポテンシャルモデリング ArcGIS Business Analystでのハフモデルのキャリブレーションホワイトペーパー ICSCの記事



5
ArcPyスクリプトを使用してフィーチャレイヤーを削除しますか?
ArcPyベースのスクリプトがあり、2つのレイヤーを交差させようとしていますが、一方のレイヤーの重心はもう一方のレイヤーにある必要があります。 1つのレイヤー(以下のfeature_layer)には他のレイヤーの重心が含まれていることを知る必要があるため、arcpy.SelectLayerByLocation_management()ツールを使用しています。 マップドキュメント(* .mxd)を開いていないため、これを行うには、フィーチャレイヤーの作成を使用してフィードする必要があります。 ドキュメントには、プログラムが終了すると機能レイヤーが消えることが記載されていますが、以下のようなループになっているため、すぐに消える必要があります for feature_class in large_list_of_feature_classes: some_function(feature_class) def some_function(): feature = "{path to feature class}" feature_layer = "feature_layer" HUCs_layer = "all_HUCs" #HUCs being Hydrologic Unit Codes arcpy.MakeFeatureLayer_management(feature, feature_layer) arcpy.MakeFeatureLayer_management(feature, HUCs_layer) arcpy.SelectLayerByLocation_management(HUCs_layer, "HAVE_THEIR_CENTER_IN", feature_layer, selection_type="NEW_SELECTION") arcpy.CopyFeatures_management(HUCs_layer, selection_name) フィーチャレイヤーを削除する機能を探していますが、見つけることができませんでした。 私はそこに何らかのカウントを入れて、プログラムの範囲内でそれぞれを一意にすることができますが、フィーチャレイヤーを削除する方法がない限り、それは理想的ではありません。

3
MySQLで空間インデックスを使用するとパフォーマンスが低下する
これがより良いフォーラムであると示唆されたとき、Stack Overflowで尋ねられた質問の再投稿。 私は、地理空間ではないが非常によく適合するデータセットをプッシュするために少し実験を試みていますが、結果はやや不安定です。データセットはゲノムデータです。たとえば、遺伝子などの要素が特定の開始座標と停止座標(X軸)を占めるDNA領域があるHuman Genomeです。Y軸を占めるDNAの複数の領域(染色体)があります。目標は、単一のY座標に沿って2つのX座標と交差するすべてのアイテム、たとえばLineString(START 1、END 2)を戻すことです。 理論は健全に思えたので、既存のMySQLベースのゲノムプロジェクトにそれをプッシュし、次のようなテーブル構造を思い付きました。 CREATE TABLE `spatial_feature` ( `spatial_feature_id` int(10) unsigned NOT NULL AUTO_INCREMENT, `external_id` int(10) unsigned NOT NULL, `external_type` int(3) unsigned NOT NULL, `location` geometry NOT NULL, PRIMARY KEY (`spatial_feature_id`), SPATIAL KEY `sf_location_idx` (`location`) ) ENGINE=MyISAM; external_idこのテーブルにエンコードしたエンティティの識別子を表し、このexternal_typeソースをエンコードします。すべてが順調に見えたので、いくつかの予備データ(30,000行)を入力しましたが、これはうまくいくようです。これが300万行のマークを超えて増加すると、MySQLは空間インデックスの使用を拒否し、使用を強制されたときに遅くなりました(40秒対全テーブルスキャンを使用した5秒)。さらにデータが追加されると、インデックスの使用が開始されましたが、パフォーマンスの低下が続きました。インデックスを強制的にオフにすると、クエリは8秒になりました。私が使用しているクエリは次のようになります。 select count(*) from spatial_feature where MBRIntersects(GeomFromText('LineString(7420023 1, 7420023 1)'), …

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