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

SpatiaLiteはSQLiteの空間拡張であり、ベクタージオデータベース機能を提供します。

4
SpatiaLiteでポイントの位置を持つ2つのテーブル間の最近傍を検索しますか?
今日SpatiaLiteを使い始めて、すでに問題に遭遇しました。 tableOneに保存されている各ポイントの場所について、tableTwoから最も近い(直線距離)ポイントを1つ選択します。 これまでのところ、VIEWを利用する不器用なソリューションを思い付きました。 CREATE VIEW testview AS SELECT A.id , B.myValue, Distance(A.Geometry, B.Geometry) AS distance FROM tableOne AS A, tableTwo AS B WHERE distance < 10000 ORDER BY A.Id, distance; その後: SELECT * FROM testview WHERE distance = (SELECT MIN(distance) FROM testview AS t WHERE t.id = testview.id) 仕事をするようです。 2つの質問: …

2
QGISからSpatiaLiteデータベースに複数のレイヤーを保存しますか?
QGISからレイヤーをスペーシャルサイトとして保存するたびに、新しいデータベースの作成が要求されます(既存のデータベースを選択すると、キャンセルするか置き換えるかを尋ねられます)。 プロジェクトのすべてのレイヤーを、配布用に1つのSpatialiteデータベースにパッケージ化したいと考えています。 ネイティブのsqliteツールを使用して、個々のファイルのレイヤーを組み合わせることができると思いますが、そうする必要がないと便利です。
10 qgis  spatialite 

5
QGISはSpatialiteビューを読み取ることができますか?
作成したスペーシャルサイトデータベースには、数年分の犯罪データがあります。タイムスパンまたは返される犯罪の種類を単に制限するビューを導入することにより、ユーザーの操作を簡略化できる実際のシナリオを促進するために、QGISがこのビューをこのように読み取ることができるかどうかを知りたい私のデータベース内の他のどの空間テーブルもでしょう。ここでのポイントは、使用する可能性のあるすべての可能なビューに対して個別のテーブルを作成したくないことです。ユーザーにデータベースと適切なSQLを知らせてデータ自体をサブセット化する必要がないようにすることで、テーブルを単純化しようとしています。ArcGISの世界における同様のワークフローは、データベース(SQL Serverなど)にアクセスし、限られたデータセットのみを表示する、ユーザーがArcMapで開くことができる個別のレイヤーファイルを作成する場合があります。 データベースにビューを作成しましたが、QGISでspatialite dbに接続したときにインポートできるフィーチャクラスのリストに表示されません。たぶん、ビューは空間と見なされないのですか?(これについては後で詳しく説明しますが、すでに考えたので、結論を思い出せません。)いずれにしても、希望する種類のワークフローまたは同様のArcGISの代替案をどのように複製できるでしょうか。 ?
10 qgis  spatialite 

3
静的マップの構築に最適な選択肢:PostGIS、SpatiaLite、Shapefile?
私は通常、静的な地形図を作成します。これはほとんどが印刷されます。OSMとラスターファイル(主に異なるDEM)をよく使用しています。私がマッピングしているエリアが20.000km²を超えることはめったにありません。QGIS、SAGA、GRASSなどの排他的なオープンソースソフトウェアを使用しています。 シェープファイルの問題は知っていますが、処理は簡単です。そして、私はpostgisやSpatiaLiteにはあまり詳しくありません。私はpostgisを試しましたが、それを処理するのに多くの問題がありましたが、SpatiaLiteの方が簡単に思えます。 どう思いますか:シェープファイルを使い続けるか、SpatiaLiteやpostgisなどのデータベースに切り替えますか?私の場合の長所と短所は何ですか?

2
QEでNatural Earth SQLite DBを使用するにはどうすればよいですか?
SQLite形式のNatural Earthデータをhttp://www.naturalearthdata.com/downloads/からダウンロードしました。これはSpatiaLiteデータベースであると想定していましたが、そうではないようです!QGISはそれを空間データベースとして認識できません。OGRはプレーンSQLiteデータベースに格納されている場合でもジオメトリの読み取りをサポートしていると思われますが、QGISはSpatiaLiteにOGRを使用しないのでしょうか? SQLiteデータベースには、geometry_columnsテーブルとspatial_ref_sysテーブルがあります。それを完全なSpatiaLiteデータベースに変換する方法はありますか?

1
Spatialiteは同時アクセスをどのように処理しますか?
Spatialiteは一度に1人のユーザー/マシンが使用することを目的としていることを理解しています。ただし、データがサーバーに保存されている場合、別のマシンの誰かが同じデータベースを開いて使用しないという保証はありません。QGISとスペーシャルタイトがマルチユーザー環境にいることに対してどのように反応するかについて、誰かが何らかの経験を持っていますか?ほとんどの場合、レイヤーは読み取り専用レイヤーになります。QGISでは、複数のユーザーが同じシェープファイルを読み取ることができますが、これは同様の状況です。複数のユーザーが同時に編集セッションを開いている場合はどうなりますか?

3
Spatialiteは本当に遅いのですか?
SpatiaLiteには数千のポリゴンがあります。「タッチ」クエリを実行しようとしています。 select map1.* from map1,map2 where touches(map1."Geometry",map2."Geometry") うわー、遅いですか! ただし、map1の1つの区画に対してのみ実行するように要求すると、それは非常に高速に実行されます。 select map1.* from map1,map2 where touches(map1."Geometry",map2."Geometry") and map1."ROWID" = 753 最初のクエリの実行速度は遅くなると思いますが、驚くほど遅いです。SQLServer、マニホールドGIS、PostGISで非常に高速に実行されます。Spatialiteは本当に非効率的ですか?

4
Spatialiteから重複を削除する
ポイント付きのSpatialiteデータベースがあります。時々ポイントが追加されます。座標に基づいて重複を削除する最も簡単な方法は何ですか?

2
空間演算子(等しい、互いに素、接触、範囲内、重複、交差、交差、包含、関連)を定義していますか?
承知しなければなりません。以下の空間演算子リストのセマンティクスについてはあまり深く掘り下げていません。私はユーザーの方です。ほとんどの場合、SQLを駆動するソフトウェアを作成していて、あまり考えていません。それについては多すぎる。 ただし、優れたインデックスがあり、これまで問題を引き起こしたことのないテーブルで、実行している空間操作が非常に遅くなる状況があります。 その結果、私は次のどれが使用するのが最善の策であるかを見つけようとしています。これにより、最高のパフォーマンスが得られます。ただし、必要なことがわかっていても、検索が何も返さない場合があります彼らがすべきでないときにものを返します。 だから私は誰かが私に実際の定義を与えることができるかどうか尋ねるように頼んでいます、例えば、以下の各操作の完全に囲むジオメトリ内、または外輪内など、一致する基準など: Equals(Geom1, Geom2):int Disjoint(Geom1, Geom2):int Touches(Geom1, Geom2):int Within(Geom1, Geom2):int Overlaps(Geom1, Geom2):int Crosses(Geom1, Geom2):int Intersects(Geom1, Geom2):int Contains(Geom1, Geom2):int Relate(Geom1, Geom2):int それらが一致する場合と一致しない場合の具体的な例を示すことができれば、それは素晴らしいことです。 参考までに、長方形ポリゴンを使用し、回転方向を指すように回転させた折れ線のテーブルを検索しています(これは、交通管理アプリの一部です)。 参考までに、検索を実行するためにアプリが生成するSQLのサンプルを以下に示します。 SELECT recordID,AsBinary(geometry) AS geometry,Distance(GeomFromText('POINT(-1.84101 54.85078)',4326), geometry) AS distanceFromGps FROM linegrid WHERE Intersects(GeomFromText('POLYGON ((-1.8413149820810311 54.850782468607292, -1.8409507853094111 54.850952257034713, -1.8408279009723911 54.850864894077496, -1.8411920982612455 54.850695105650068, -1.8413149820810311 54.850782468607292))'), geometry) この例では、前述のように他のものを試す交差を使用しているので、期待した結果が得られないので、なぜ質問をしているのかがわかります。 現時点では、これを実際に高速化する方法や他の方法について特に気にする必要はありませんが、より良い方法を見つけたら、遠慮なく叫んでください:-) …

1
属性で結合/ SQLでスペーシャライト/ QGISの左外部結合
「n」線オブジェクト(「道路」)と交差するポリゴン(「木」と呼びましょう)のレイヤーがあります。すべての道路には一意の属性roadidがあります。 後の使用のために交差するwoods-polygons-layerにすべてのロードID(最初のQGisだけでなく)を追加する必要があります。好ましくは、すべてのロードIDは、たとえば「、」で割った「森」の1つの新しい属性列にある必要があります。 すべての木に道路が1つしかない場合は、「位置による属性の結合」ツールを使用して、ポリゴンの道路IDを取得できます。必要な属性は一意の文字列であるため、フィールドを合計/平均/最小/最大化するのに役立ちません。また、「、」で区切られた文字列としてそれらを結合するオプションはありません。 編集:プラグインや外部プログラムの助けがなければ解決策はありません(以下のMatthias Kuhnのコメントを参照)。 (QGIS 2.10.1-Pisa)

3
QGISで新しいSpatialiteデータベースを作成する方法
私はQGIS 1.8(SpatiaLiteバージョン3.0.1; QSpatialite 6.0.3)内で新しいspatialiteデータベースを作成しようとしていて、次のエラーが発生し続けます。このデータベースは有効なSQLiteデータベースのようですが、有効なSpatiaLite Oneではありません。QSpatiaLiteが自動的にSpatiaLiteに変換しますか(情報は失われません)? " 「はい」の後に「データベースをSpatiaLiteに変換できません」と表示されます。 何が悪いのですか?古いバージョン(QGIS 1.7.4およびQSpatialite 5.0.3)では問題はありませんでした。 新しいSpatialiteデータベースの作成についてアドバイスしてください。 Spatialite-guiがトリックを行いました。正しいSRIDが必要です。これがSRIDリストです http://drupalcode.org/project/geo.git/blob/ee3f75649e4b01dfd27d8e35b222a2b51c93d706:/srid.inc 皆さんの努力と時間をありがとうございました!

4
SQLiteからQGISに非空間テーブルを追加(およびマップ)するにはどうすればよいですか?
Wigle Androidアプリ(wiglewifi.sqlite)のsqliteファイルを持っています。これは空間ファイルではなく、緯度/経度およびその他のデータを含むテーブルです。 空間レイヤーをうまく追加できますが、区切りテキストレイヤーを追加するのと同じ方法でこのテーブルを追加する方法が見つからないようです。これを行うにはどうすればよいですか? 明確化:(以下の@ Giovanni-Manghiの回答に従って)テーブルとして追加することも、またはテーブルをCSVとしてエクスポートして区切りテキストレイヤーとして追加することもできますが、理想的には、直接ベースのポイントレイヤーが欲しいSQLiteテーブル(ArcGISと同じ方法でテーブルを追加し、右クリックして[XYデータを表示...])
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.