タグ付けされた質問 「geometry」

(1)抽象幾何学; (2)地理データを投影座標で保存する。(3)ベクトル特徴の総称ESRI用語。「geometry」オブジェクトのクラス。

1
PyQGISを使用してジオメトリを使用してベクターレイヤーをCSVファイルに書き込みますか?
私はPythonを使用して、このコードでベクターレイヤーファイルをcsvファイルに書き込もうとします: QgsVectorFileWriter.writeAsVectorFormat(mylayer, r'c:\temp\xyz.csv', "utf-8", None, "CSV") xyz.csvにエクスポートできますが、csvには属性のみが表示され、ジオメトリ列は表示されません。 属性データと空間データの両方をcsvファイルにエクスポートするにはどうすればよいですか?

2
球面ポリゴンの重心の計算
球体のポリゴンの重心を計算する一般的な方法が欲しい。 これまでのところ、最良のオンラインリファレンスは次のように思われます。 Jeff Jennessによるグラフィックスとシェイプのツール。 そこで説明されている方法では、ポリゴンを複数の球面三角形に分解し、球面三角形の面積で重み付けされた球面三角形の重心の平均を計算することを提案しています。 私は球形のポリゴンの重心を定義する方法がいくつかあることを知っていますが、ポイントとポリラインの次の定義に類似したものを探しています: ポイント:ポイントを表すデカルトベクトルの算術平均。 ポリライン:各セグメントの(球形の)長さで重み付けされた、各ラインセグメントの中点を表すデカルトベクトルの加重平均。 ポリゴンの重心を、面積で重み付けされた三角分解の加重平均として定義することは、合理的な継続のようです。 私の質問は、使用されている三角形分解に関係なく、上記のリファレンスのメソッドが機能するかどうかです。特に、ポリゴンの外部であっても、任意のポイントを基準にして三角形に分解することについて言及しています。これにより、一部の三角形には負の重みを与える負の領域があります。 関連:オブジェクトのジオメトリの中心を見つける方法は?

4
ArcPyでポイントペア座標からラインを作成しますか?
いくつかのポイントペア座標(開始ポイントと終了ポイント)があり、それらを線に変換する必要があります。これまで、a pippo.Point()、a の両方の座標のアペンドを使用してpippo.CalculateGeometry()各ピオントのジオメトリを定義し、pippo.append(defined geometry)ポイントのペアを識別してから、PointsToLineを使用してラインを取得しました。これは、数百の行に対して非常に時間がかかります。 これを行う簡単な方法はありますか? たとえば、各行の開始点と終了点を単一のテーブルの異なるフィールドに配置し、ポイントジオメトリを渡さずに行を直接インポートします。

5
曲線セグメントの直線性の測定(ポリラインとして表されます)
自動標高等高線ラベリングアルゴリズムに取り組んでおり、ラベルの位置を決定する際に考慮したい要因の1つは、等高線の特定のセグメントがどの程度「真っ直ぐ」であるかです。直線であるほど、そのセグメントにラベルを配置するために使用される可能性が高くなります。 各輪郭はポリラインで表されます(ただし、肉眼では曲線のように見えるように点が互いに近接しています)。次に、固定長(ラベルの幅)、たとえば100ピクセルを使用します。幅が100ピクセルの輪郭セグメントをランダムに(または別の方法で)選択した場合、その真直度の定量的な数値(完全に真っ直ぐな輪郭セグメントの場合はゼロ、そうでない場合はゼロより大きい値)を取得できるようにしたい直線セグメントであり、この値は曲がり具合が増加するにつれて増加します)。 私は答えを探しましたが、本当に役立つものは見つかりませんでした。どんなポインターにも感謝します。

2
ArcGIS DesktopでPythonを使用して、原点からさまざまな距離のラインを作成しますか?
ArcGISとPython(ArcPy)を使用して、設定された距離と角度を使用して、単一のポイントからラインフィーチャを作成しようとしています。 これらの座標にポイントがあります:X = 400460.99、Y = 135836.76 このポイントから、そのポイントから15度の角度で800メートルの長いラインを作成します。 結果のエンドポイントがどうなるかわかりません。 私のデータは、メリーランド州平面南-メートルに投影されています。

4
測量ポイントのリストが与えられた場合、ポイントを単純化し、地形の特徴を保持するために使用されるアルゴリズムは何ですか?
地形とその輪郭からサンプリングされた地形と測量ポイントを考えると、ポイントを単純化する(つまり、測量ポイント数を減らす)と同時に地形の特性を保持するために使用できるアルゴリズムはありますか? 私がこれを尋ねる理由は、測量士が平坦な地形で余分なポイントを取りすぎる可能性があり、これらのポイントは私のボリューム計算プロセスを遅くするだけなので、それらを除外したいからです。



1
特定のpostgisジオメトリ列をデフォルトとして使用するようにGeoserverを構成する
2つのジオメトリ列を持つPostGISテーブルがあります。両方ともマルチポリゴンですが、1つはSRID 4326、もう1つは3857です。Geoserverでテーブルを公開すると、Geoserverはデフォルトで列のリストの最初のジオメトリ列を使用することに気付きましたが、特定のジオメトリ列を使用するようにGeoserverを構成する方法がある場合 特定のジオメトリ列を使用してレンダリングするようにSLDを構成することについては話していません。つまり、 <se:PolygonSymbolizer> <se:Geometry> <ogc:PropertyName>geom3857</ogc:PropertyName> </se:Geometry> … </se:PolygonSymbolizer> Geoserverが特定のジオメトリ列をネイティブSRIDおよびデフォルトのプロジェクションとして使用することについて話している。

6
ArcPyまたはModelBuilderを使用してポイントの位置を移動/オフセットしますか?
テキスト注釈機能を持つ、地理参照されていないCADレイヤー(この質問を参照)がいくつかあります。テキストをポイントに変換するモデルを作成しましたが、アノテーションをポイントフィーチャクラスに変換した後、CADテキストのアンカーポイントがCADテキストの中心(ポイントが属する場所)と一致しないことがわかります。 したがって、プログラムで(ArcPyまたはModelBuilderを使用して)提供するX、Yの測定値を使用して、現在の位置(デルタx、y)を基準にフィーチャを移動します。 これにより、オフセットCADアンカーポイントの代わりに、GISポイントをそれらが属する場所に戻すことができます。 このタスクを実行するにはどうすればよいですか? @PolyGeoはSHAPE @ XY IN 10.1 を使用して優れた答えを出しましたが、現在10.0を実行しています。10.0のアイデアは?

1
PostGISを使用して既存のテーブルの経度/緯度座標からPOINTを作成しますか?
既存のテーブルの経度と緯度の列を使用してポイントを作成したいと思います。ST_MakePointのドキュメントへのリンクは次のとおりです。 これが私のテーブルです: CREATE TABLE sysinst.bio ( oid INTEGER PRIMARY KEY, longitude FLOAT, latitude FLOAT, geom GEOMETRY(POINT, 26913) ); ジオメトリ列の追加: SELECT AddGeometryColumn ('sysinst', 'bio', 'geom', 26913, 'POINT', 2); これが私のクエリです: UPDATE sysinst.bio SET geom = ST_SetSRID(ST_MakePoint(longitude, latitude), 26913); QGISで表示したときにポイントが誤ってプロットされていても、エラーは返されません。 のために(-97.5959, 21.1922)、私は受け取ります(-109.4896, 0.0002) 助言がありますか? より簡単な方法があれば、私はこれをより効率的に行うことにオープンです。

3
割合でPostGISジオメトリを拡大する
PostGISジオメトリの周りにバッファを追加する方法を探していますが、バッファのサイズはジオメトリのサイズに依存するはずです。つまり、各ジオメトリを、たとえば5%拡大する必要があります。 交差するジオメトリを探しているのですが、考慮に入れたいジオメトリごとに最大5%のエラーが発生する可能性があります。 誰もがこれについて最善の方法を知っていますか? データベースには100万行あるので、かなり高速にしたいと思います。


4
標準化された、または「最も使用されている」ダミーZ値はありますか?
2Dデータと3Dデータの両方を作成してインポートすると、座標セットのZ値がないという状況に何度も遭遇しました。Z座標の値が範囲外(-99、-9999、-infなど)のようです)または、ダミーの Z座標を作成する必要があります。 私の質問に対する答えは次のとおりです。 「あなたのケースでは明らかに範囲外の値を使用するだけです。」 しかし、その答えは、GISコミュニティがダミーの Z座標に対して標準化された値または最も頻繁に使用される値を持っているかどうかを疑問に思います。

2
ogrとPythonを使用したポリゴン内の(ラインストリングの)ポイント
私は現在、シェープファイルにあるジオメトリ機能からトポロジーネットワークを構築する必要があるプロジェクトに取り組んでいます。これまでのところ、Ben Reillyのオープンソースプロジェクトを使用して、ラインストリングをnetworkxエッジに変換し、近接フィーチャ(他のラインストリングが言う)を検出して、それらを最も近いポイントに追加して、最短パスアルゴリズムを実行できるようにしました。 しかし、これは1つのシェープファイルでは問題ありません。ただし、ここで、さまざまなシェープファイルの機能を大きなnetworkxグラフに接続する必要があります。したがって、たとえば、ポイントがポリゴン内にある場合、それを接続します(接続するとは、次のシェープファイル内のポイントでnetworkxエッジ-add_edge(g.GetPoint(1)、g.GetPoint(2)を追加することを意味します)。も同様の属性(IDなど)を共有するポリゴン内にあります。異なるshp内のポリゴンは、座標ではなく同じIDのみを共有することに注意してください。ポリゴン内にあるポイントも同じ座標を共有しません。 この問題に対する私の解決策は、ポリゴンに存在するポイントを特定して保存し、同じIDを持つポリゴンに存在する次のシェープファイルでポイントを見つけて、それらの間にnetworkxエッジを追加することでした。 ポイントがポリゴン内にあるかどうかを確認するにはどうすればよいですか?よく知られているアルゴリズムがあります。それを行うRayCastingアルゴリズムです。アルゴリズムを実装するためにはポリゴンの座標が必要であり、OGRのジオメトリのドキュメントをざっと見てみた後でも、それらにアクセスする方法が今はわからないので、ここで実際に行き詰まりました。それで、私が質問している質問は、ポリゴンポイントまたは座標にアクセスする方法です。または、ポイントがポリゴン内にあるかどうかを検出する簡単な方法はありますか?osgeo.ogrライブラリでPythonを使用して、次のコードを記述しました。 if g.GetGeometryType() == 3: #polygon c = g.GetDimension() x = g.GetPointCount() y = g.GetY() z = g.GetZ() 私の問題のより良い理解のために画像を見てください。 [編集] これまでのところ、すべてのポリゴンオブジェクトをリストに保存して、線ストリングの最初と最後のポイントを比較してみました。ただし、Paoloの例は、ポイントオブジェクト参照とポリゴンオブジェクト参照の使用に関連しています。これは、ライン全体がポリゴン内ではなく、ラインストリングの最初または最後のポイント内にあるため、ラインオブジェクト参照では機能しません。 [編集3]ラインストリング の最初と最後のポイントの座標から新しいジオメトリポイントオブジェクトを作成し、それを使用してリストに保存されたポリゴンジオメトリオブジェクトと比較すると、問題なく動作するようです。 for findex in xrange(lyr.GetFeatureCount()): f = lyr.GetFeature(findex) flddata = getfieldinfo(lyr,f,fields) g = f.geometry() if g.GetGeometryType() == 2: for j in xrange(g.GetPointCount()): if j …

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