問題タブ [gis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gis - ArcGIS:ラベルは10,000,000スケールでのみレンダリングされます
Oracle10.2gデータベースでArcGISServer9.3を使用しています。フィーチャクラスを含むMXDを作成し、属性の1つをラベルとして表示するように構成しました。フィーチャクラスとラベルの両方がすべての縮尺で表示されるように設定されています。
ArcMapでは、ラベルは1:10,000,000の縮尺でのみ表示されます。ズームインすると、ラベルは消えます。
私は「非標準」の方法で2つのことをしています:
フィーチャクラスは、ArcCatalogのジオデータベースデザイナプラグインを介してスキーマをインポートすることによって作成されます-インポート後、ベースへの移動編集でバージョン管理されたものとして登録します
ここに示すように、SQLを使用してデータを挿入しています:
したがって、これをArcMapで視覚化すると、ポイントは問題なく表示されますが、ラベルは完全にズームした場合にのみレンダリングされます。レイヤーとラベルは、すべての縮尺で表示されるように設定されています。
誰かが似たようなことをしていますか、それとも修正を提案できますか?
algorithm - フリーフォーム テキスト用の汎用住所パーサー
地図データを表示するプログラムがあります (Google マップを考えてみてください。ただし、対話性が高く、クライアント向けのカスタム レイヤーが用意されています)。
特定のフィールドに大量のデータを事前に入力する一連のコンボ ボックスを介してナビゲーションを行うことができます (例: 国: カナダ、州フィールドが入力されます。オンタリオを選択すると、郡/地域のリストが入力されます。郡/地域を選択します)。地域、市区町村が記入されているなど...)。
これにより正確な住所が保証されますが、番地や都市がどこにあるのか (つまり、キッチナーがいる郡/地域はどれか?) がわからない場合、ユーザーにとっては苦痛です。
そのため、自由形式のテキスト フィールドを使用してアドレス パーサーを実行しようとしています。
ユーザーは次のように入力できます (Google マップ、Bing マップなどと同様): 22 Main St, Kitchener, On
そして、それをセクションに区分し、データを検索して、彼らが探しているポイントにたどり着く (または代替案を提案する) ことができます。
これに関する問題は、どのように情報を適切に区分化するかということです。セクションを分割し、可能な一致を見つけるにはどうすればよいでしょうか? ユーザーが常に期待していた形式でデータを入力するという保証はないと思います (明らかに)。これに続くのは、完全一致が見つからない場合 (または複数の完全一致が見つかった場合、たとえば、異なる郡にある同じ通りの名前を持つ 2 つの都市) にデータを表示する方法です。
マッピング データ (主に mapinfo タブ形式) で利用できる大量のデータがあります。そのため、通りの名前、都市、州などをすばやくスキャンできます。しかし、この問題に取り組む最善の方法についてはわかりません。確かに、Google マップを使用するのは良いことですが、ほとんどのクライアントは外部からのアクセスが通常許可されていないネットワーク内に閉じこめられており、ほとんどのクライアントは Google マップに頼ろうとはしません (Google マップには必要な情報があまり含まれていないため)。 、カスタム マップ レイヤーなど)。もちろん、Google にアクセスして適切な場所を取得し、ソフトウェアに移動することもできますが、これには時間がかかり、プロセスの速度が非常に重要になる可能性があります。
java - GIS / 地図表示部品
簡単なデモンストレーターとして、地理データを表示できる SWT または Swing コンポーネントを探しています。残念ながら、私はインターネットから切断されているため、Google マップは役に立ちません。
一般的な考え方は、「マップ ビュー」だけで小さな Eclipse RCP アプリケーションを組み立て、地理データ (トラック) を提供し、ビューにすべてを表示するカスタム Web サービスに接続することです。uDigをざっと見ましたが、uDig が更新されたトラックを表示できるかどうかは、これまでのところわかりませんでした。
ベクトル マップ (形状) で十分です。ラスタライズされたマップ データは必要ありません。
mysql - 2つの緯度/経度ポイント間の距離を見つける最速の方法
私は現在、mysqlデータベースに経度と緯度の情報をすべて含む100万弱の場所を持っています。
クエリを使用して、1つのポイントと他の多くのポイントの間の距離を見つけようとしています。特に1秒間に100回以上ヒットする場合は、私が望むほど速くはありません。
これのためのより速いクエリまたはおそらくmysql以外のより速いシステムはありますか?私はこのクエリを使用しています:
注:提供される距離はマイル単位です。キロメートルが必要な場合は、6371
の代わりにを使用してください3959
。
sql - PostgreSQL を使用したポイント イン ポリゴンの SQL クエリ
次の簡単な表があります。
次に、ポリゴンを含む行を挿入しようとします:
そして、このエラーに遭遇します:
列 "poly" はポリゴン タイプですが、式はジオメトリ タイプです
これは不自由です。だから私の最初の質問は次のとおりです。
- 本当にキャストする必要がありますか?
とにかく、キャストした後は動作します。そして今、単純な ST_Contains クエリを実行しようとしています:
エラーが発生します:
私はどうしたらいいですか?
以下の作品:
しかし、これはおそらく、両方の引数が Geometry 型であるためです。テーブル データに対する実際のクエリは機能しません。
答え:
ドイ!問題は、私が作成した DB が postgis テンプレート DB に基づいていないことでした (そのため、関連する関数やジオメトリ カラム テーブルなどがありませんでした)。結論として、PostGIS が何百もの関数、行、およびいくつかのテーブルを DB に追加することを要求する方法は、GIS サポートが完全に不十分であることを述べておきます。これにより、スキーマのバックアップが非常に複雑になり、エラーが発生しやすくなります (AddGeometryColumn の呼び出しを怠って、自分でジオメトリ列を追加するだけでは、天国は禁じられています)。
gis - GIS アプリケーション開発のガイドライン
修士課程で GIS アプリケーションを作成することになっているのですが、開発に最適な無料の (できれば) オープン ソース テクノロジはどれでしょうか? このようなアプリケーションの開発に使用するプログラミング言語は何ですか?
既知の選択肢は次のとおりです: データベース: PostgreSQL (PostGIS) (その他を提案)
プログラミング言語: PHP、Python、Java、... (他を提案)
フレームワーク: GeoDjango (Python または Jython が使用されている場合)、(他を提案)
クライアント UI: JavaScript (OpenLayers)、Flex、(その他を提案)
サーバー: Mapserver、Geoserver、Mapfish、(他を提案)
その他の考慮事項: Hibernate Spatial、モバイル GIS のサポート (その他の提案)
mysql - mysql を使用して緯度/経度がポリゴン内にあるかどうかを確認する
以下のテーブルを作成しました
以下の例のように、多くの行が挿入されています。
ここで、すべてのデータを検索し、緯度/経度がポリゴンのいずれかに該当するエントリを返したいと考えています。
mysqlを使用してこれを行うにはどうすればよいですか? または、私を正しい方向に向けるリンクを知っている人はいますか?
gis - 掘り下げるのに適したオープンソースの Geodjango アプリを知っている人はいますか?
空き時間に小さな GIS を構築することを検討しており、Geodjango を掘り下げています。
オープン ソースの Geodjango プロジェクトの例を探して調べてみましたが、ほとんど運がなかったので、ここにいます。見つけることができるほとんどのチュートリアルを実行しましたが、それらはすべて同じポイントで停止しているようで、より複雑な実際のコードを調べてみたいと思っています.
どこで見つけられるか知っている人はいますか?何でも十分ですが、Open Layers ではなく Google Earth API を使用するものが理想的です。