一般的なオープンソースパッケージのロードマップに関するアドバイスをお探しですか?[閉まっている]


17

ほとんどのパッケージで可能な制限を完全に理解していないため、想定されるプロジェクトに使用する推奨スタックについて、オープンソースGISの達人にアドバイスを求めたいだけです。ESRIのさまざまなパッケージを使用して、自分がやりたいことを実行できることは知っていますが、もっと安くて世界に公開してほしいです。私はどんな課題にも挑戦し、プロジェクトを実現するのに十分な部分を学ぶことができると確信しています。そもそも間違った道をたどらないようにしたいだけです。

私のサイトビジョン:UIの観点から、非GISのようなサイトです!whereis.comの行に沿って、すべて(またはほとんどすべて)がベースマップの上にあるボックスで行われます。現在、詳細は重要ではなく、個別のペインにチェックボックスがあるGISレイヤーを強調しないなどです。ユーザーインタラクションの観点から、登録ユーザーはベースの上にフィーチャ(水飲み場の場所、散歩道など)を作成できます。マップし、独自の機能を編集します。可能であれば、作成した独自の機能のみを編集してください。コラボレーションマップ。

私はまだほとんど研究モードで、さまざまなパッケージをいじっていますが、一般的な理解のためであり、実際のテストではありません(最初に詳細を学ぶ必要があります!)。PostGISは、Geoserver / Mapserverが最も可能性の高いミドルウェアであり、基盤となるDBとしての正しい方法のようです。Openlayersはほとんど間違いなく滑りやすいマップになります。私は既にそれに満足しており、その力を知っています。

そのため、多くのアドバイスを必要とする2つの主要な問題があります。

1)このようなサイトに最適なトップレイヤーUIは何ですか?

Django(またはDjango-CMS)のカスタマイズされたインスタンス、または単にGeoExtまたはその他のライブラリのつなぎ合わせたインスタンス(ログイン/登録/フルUIを作成できるかどうか不明)、別のCMS /フレームワーク(いいえ、drupalまたは制限するものではありません!)、またはまったく異なるものですか?

2)登録済みのサイトユーザーに自分の機能だけを編集させることは可能ですか?

OSMや他の共同プロジェクトの経験のような大量の「落書き」の場所を避けたい。以前の私の読書とアドバイスから、Geoserverは機能レベルのユーザー認証を持つことができないようです。

Mapserverはできますか?

サイトのユーザー人口(CMSまたはフレームワークから)がジオサーバー/マップサーバーに直接リンクできるかどうかさえ知りません。

そのような概念がオープンソースソリューションでは不可能な場合、その目標を達成する別の方法はありますか?

認証されたユーザーは、メインフィーチャレイヤーの非公開バージョンを編集して(オリジナルを台無しにしないように)、オリジナルの毎日のバックアップを維持しながら24時間ごとに公開バージョンに自動的にマージしましたか?

この意図をどのように達成するかについて、ある種失われました。

はい、GeoNodeも見てきましたが、1つの全体的なマップ(シンプルに保つ)のみが必要で、そのUIは(GeoExplorerに入る前に)インタラクティブではないか、GeoExplorerでGISに似すぎています。このプロジェクトの解決策があまりにも缶詰になっているようです。

ここで漠然と終わったので申し訳ありませんが、私は上記が可能であり、数か月後に壁にぶつかることのない道を開始できることを望んでいます。 #1は最初からその機能を持っていませんでした!

私が見つけることができる最高の例の1つはhttp://www.gpsies.com です。これはリーフレットを使用していることを知っていますが、基礎となるフレームワークとデータベースはわかりません。ユーザーは独自の機能を作成/アップロードできますが、他のユーザーの編集はできません。


5
OpenStreetMapグラフィティについてのビットは、おそらく少し見当違いです。OSMには時折破壊行為がありますが、それは例外であり、標準ではありません。ユーザーごとのアクセス許可には、ほとんどのユーザーが一時的なものであるため、未完成またはジャンクデータがあり、他のユーザーがそれを完了または削除できないという明らかな欠陥があります。
tmcw

それは非常に有効なポイントであり、私が心に留めておくものです。適切なバックアッププロセスが整っていれば、広く開かれたモデルが最も価値のあるものになります。私はこの時点で開発することすらまだ遠く、アイデアを学び、成長させる余地がたくさんあります。ありがとう!
ジェレミー

回答:


8

私は今やや似たようなものを構築しているので、私はそれをどのように行っているかをお話しします。あなたはあなたが望むものを別のものに変更することを選択できます。

Django(GeoDjangoを使用)は、Pythonの基本的なフレームワークとしてこれに非常に適しています(これがあなたの目的であれば、別の言語でこれを行うことができます)。

ユーザーレベルの編集に対する私のアプローチは、CaptDragonが説明したものに似ています。django認証フレームワークを使用しています。このプロジェクトでは、認証が非常に簡単に考慮された適切なRESTful APIを作成できるフレームワークをすでに持っているDjangoのTasty Pieを使用して、私のAPI を作成しています。

(あなたが使用することを選択したものは何でもまたはGeoserverか)私のMapserverのは(のみローカルサーバーがそれらへのアクセスを持っている)、外の世界に直接さらされることはありません...すべてのタイルは、(タイルサーバを使用して務めますgeowebcachetilecachetilestache何でも)。

Openlayersについては、すでに選択しているので言及する必要はありません。良い選択。

PostgreSQL / PostGISもまた簡単です。:)

javascriptライブラリとして、jQueryを間違えることはありません。複数の編集を許可する場合は、backbone.jsのようなものを使用して、javascriptオブジェクトの構造を作成すると便利です。塩の粒でこれを取ります。好きな人もいれば、嫌いな人もいます。

あなたのサイトをそれほどく見せたくない場合は、BootstrapCompassなどのCSSフレームワークを20ドルで使用して、テーマフォレストまたはラップストラップから購入してください(あなたがそれをオープンソースにする場合は、ただし、ライセンスを購入する場合は、ライセンスを確認してください)。これらのいずれかをフックすると1日程度かかり、サイトの外観に大きな違いが生じます。

個人的に、私はDjango-cms(およびPinax)を数回見てきましたが、このトラブルに見合う価値があると確信することはできません。私はまだその決定を後悔していない。

スキーマのさまざまなバージョンを必要とするプロジェクトを選択しているため(開発するほど、より多く変更されます)、単にsouthを使用します。それについてもevenしないでください!真剣に。

それは私が使用するものですが、オープンソースの素晴らしいところは、自分のニーズに合わせてパーツを変更できることです。


他の皆と一緒に素晴らしい情報をありがとう。これは間違いなく、前進するにつれて焦点を絞るのに役立ちます。
ジェレミー

ブートストラップは優れています。それを使用するマッピングサイトの例を教えてください。
スティーブンリード

6

私はRagiのようなスタックを使用しています。アプリケーションのアルファ版に近いので、この時点で選択は正しいようです。ここに私の解決策があります:

サーバーで:

  • Ubuntuサーバー+ Apache Webサーバー+ Apache Tomcat。
  • Postgresql +データベースとしてのpostgis。
  • ジオサーバー(私の場合は、ラスターのみに使用します)。
  • Django Framework + Tastypie。TastypieはAPIを介してすべてのベクターを提供し、ユーザーには「オブジェクトごと」の権限があります。
  • pythonからジオサーバーを制御するpython-gsconfig。
  • PDFを生成するジャスパーレポート。
  • pythonからジャスパーレポートを制御するpyjasper。
  • 補間用の高性能な地球統計ライブラリ。

クライアントで:

  • ExtJs 4->それは素晴らしいことです。extjsはtastypieで非常にうまく機能し、窓やテーブルなど、箱から出してすぐに使えるものがたくさんあります。私は純粋なコードでそれを使い始めましたが、私はSencha Architect 2を使用しています。
  • OpenLayers-> 2つのメソッドをextjsストアに挿入し、1つをopenlayersレイヤーに挿入すると、データの変更時に互いに更新されます。

私は間違いなくtastypieオプションを研究しています、有望に見えます。非常に役立ちます!
ジェレミー

4

登録済みのサイトユーザーに自分の機能だけを編集させることは可能ですか?

これはCartaroを使用して可能であるようです。これはDrupalに基づいており(Drupalのように制限はないと言っていますが、聞いてください!)、ユーザーはオプションの中でも特に自分の機能のみを編集できます。以下は、管理者としてログインしたときにPeopleページから取得したスクリーンショットで、ユーザーに設定できる権限の種類を示しています。

カルタロの許可

また、CartaroはPostGIS、GeoServer、およびOpenLayers上で実行されるため、必要なものをすべて備えている可能性があります。

このようなサイトに最適な最上位のUIは何ですか?

「最適な」最上位レイヤーが何であるかはわかりませんが、Drupalには多くのUIオプションがあるため、Cartaroが探しているものを提供できるようです。カルタロは開発の初期段階にあるようですが(使用している人は誰も知りません)、潜在的な可能性があります。


1
情報に感謝しますが、カルタロがその能力を持っているとは知りませんでした。今のところ、他の人が言及した基本的なモデルに固執します(少なくとも研究/学習の観点から)が、このCMSをもう少し詳しく見るかもしれません。数ヶ月前に約1時間の時間を与えましたが、最初はあまり印象的ではありませんでしたが、公平を期すために、当時はあまりチャンスを与えませんでした。
ジェレミー

3

質問2に取り組みます。これは、ユーザーが自分のレコードを編集できるようにする問題を回避する方法です。

UpdateUserRecord(string WKTLocation, string otherArg)はあなたのウェブサイトの認証メカニズムに結びつくような独自のウェブサービスRESTFULまたはSOAP(あなたの選択)を作成します。

OpenLayersとPostGISは、WKT(Well-Known-Text)とGMLおよびその他の標準形式の両方を読み書きしますが、私は個人的にWKTを使用して、アプリケーションからWebサービスを介してPostGIS DBにジオメトリ情報を返送および形成します。

また、私のようなWebメソッドはUpdateUserRecord、認証されたセッションユーザーのみが呼び出すことができます。401 Unauthorized他の誰かがこのWebサービスを呼び出そうとすると、A が返されます。私の場合、OpenAuth2(Google、Facebook、Twitterなど)を使用して認証するオプションとともに.NETとFormsAuthenticationを使用します。これは、PHP、Javaなどでも実行できます。

したがって、PostGISデータベースを直接呼び出すWebメソッドを作成し、必要に応じてレコードを更新または挿入できます。そして、それは私がそれをやった方法です。

次に、WFS、WMSクエリ機能、およびクエリで要求された場合にUserIDを提供するマップ上の情報の表示のしやすさにGeoServerを使用しました。

お役に立てれば。


これは、同じ基本原則に対する複数の見解とともに、非常に役立ちました。正しい学習フォーカスでこれを実現できる自信がもう少しあります。またありがとう!
ジェレミー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.