Web GIS開発の学習/取得を希望する技術とスキルセットは何ですか?
回答ごとに1つのスキル/テクノロジーを入力してください。
Web GIS開発の学習/取得を希望する技術とスキルセットは何ですか?
回答ごとに1つのスキル/テクノロジーを入力してください。
回答:
地理分析を行うためにGIS製品を使用しようとする単純な地理学者として始まった私の経験についてお話しできます。
私が言ったように、私は地理学者であり、大学の初めからGISをユーザーとして使い始めました。その後、私はよくしなければならない退屈なタスクを自動化する方法について研究し始めました。それは情熱であり、3、3年後、私は多国籍ソフトウェア会社に雇われ、多くのGISシステムと連携してカスタムソリューションを開発しています。
私の手順は次のとおりです。
GISをよく学びます。基本的な権利を持たずにプログラミングの学習を始めないでください。投影と変換、空間解析、ラスターモデルとベクターモデルの違いなど。
データベースの基礎を学ぶ:はじめにデータベースシステムに、データベースシステムの基礎。2冊の本は少し異なります。前者は理論に重く、後者はより実用的なアプローチを取ります。
SQLを学ぶ。これは実際には最初の部分です。「sqlish」な方法で考え始める場合、それはあなたを大いに助けます。ベンダーからベンダーへのSQLの変更。PostgreSQLをお勧めします。PostgreSQLは、標準に最も準拠しているベンダーです。特定の方言を学ぶ必要がある場合は、後で実際に必要なときに行います。
オブジェクト指向プログラミング。難しいように思えますが、基本を理解すれば非常に簡単です。簡単な言語を選択してください。Pythonは断然簡単です。Pythonの学習は優れた出発点です。Dive into Pythonのようなオープンソース/無料のPython本があります。Pythonの後、興味深い選択肢は.NET、Java、およびC / C ++です。
プログラミングを学びます。コードを読み取り、コードを記述します。地理空間コードを読み取ります。書く地理空間コードを。古典的なAPI:GEOS、JTS、GDAL、ArcObjects(ESRIファンの場合-そして市場で大きなプラスになる)などを研究してください。
-地理空間の問題を取り上げ、それを解決するコードを記述します。これがどれほど便利かは強調できません。これはあなたを夢中にさせますが、プログラミングの側面を学んだことを確認し、地理空間スキルが最新であることを確認するのに非常に良い方法です。私の場合、交通事故をジオコードする小さなPostgreSQLアプリケーションを作成しました。
勉強を続けてください。ここでは、OGC標準が最適です。
データベースに関するあなたのやり方を知ってください。すべてのGIS開発者はそれらを広範囲に使用します。
最も注目すべきは:
既にGISの側面(地図作成の原理など)をカバーしていると仮定して、まずhttp://www.w3schools.com/にアクセス します-HTML、Javascript、XMLなどのチュートリアルを実行します
次に、選択できるプラットフォームがいくつかあります。私は、ESRIに偏っ少しだ、と私は約遊んでオフに開始推薦のAPI
http://resources.arcgis.com/content/web/web-apis
-コンセプト/サンプルを通じて実行すると、あなたの本当の意味を与えるもの達成できます。
コードサンプルをダウンロードし、リバースエンジニアリングして独自のサービス(ArcGIS Serverのインスタンスがある場合、ESRIサンプルサーバーを使用できる場合)を学習するのは良い方法です。
また、多数のビデオがあります。この 推奨開発会議ビデオをご覧ください。JavaScript向けArcGIS APIの概要、効果的なマップサービスの設計のベストプラクティス、Web用デスクトップアプリケーションの再設計、ArcGIS Server REST APIの使用。
どのWebプラットフォームを選択しますか? これは段階的に廃止されるため、WebADF(Java / NET)を見ることは無視します。
クライアントは誰ですか?どのブラウザを使用しますか?SilverlightまたはFlashプラグインをインストールできますか?開発するIDEがありますか?たとえば、FlexはFlashBuilder($$)で最適ですが、オープンソースの代替手段であるFlashDevelopを使用することもできます。
確立された技術や新しい技術に慣れていますか?リスクを量ります。
-.NET / Javaは古くから存在します-SilverlightとFlexはかなり新しく、HTML 5がこれらのプラットフォームを一掃するかどうかについていくつかの議論があります
SilverlightとFlexの両方には、すぐに使用できる対話機能があります。JavascriptがDojo.Frameworkに依存することでこのギャップを埋めているためです。
Web ADFとWeb APIの機能の大きな違いは、ArcGIS Web APIが完全にクライアント側であるという事実です。
私は他の誰かにあまりESRI固有の答えを与えませんが、明らかな選択はGoogle Maps APIで遊び始めることです -これを学ぶための多くのリソース/チュートリアルがあります。
空間DBとマップサーバー(ここの他の回答で説明)を整理し、HTML、CSS、およびJavaScriptの知識を磨いたと仮定すると、ユーザーのWebブラウザー内でマップコンポーネントを消費して表示するクライアントライブラリをいじり始める可能性があります。
OpenLayersは、これまでで最も参照され使用されているライブラリのようです。非常に優れたドキュメントと例があり、ここにいくつかのチュートリアルがあります。BostonGISページは、OpenLayersのものだけでなく、ここでも役立ちます。
Python MapFishの知識/学習意欲にもよりますが、非常に優雅なソリューションです。または、GeoDjangoに飛び込むこともできますが、このソリューションについては私自身あまりコメントできません。
または、OSGeoの Webマッピングソリューションを確認したり、Flashを使用したり、ESRI Web APIなどの商用のものを使用したりできます。
私は、空間DBとSQLが出発点であるべきだとAdamに同意します。
その後、将来のWeb ジオスタックの 2番目の層を調べる価値があります。空間DBからユーザーのブラウザーでクライアントにデータを「提供」するブリッジとして機能するものが必要になります。
独自のサーバーでローカルにインストールしてプレイを開始します。Open Source Geospatial Foundationが採用している2つの有名なプロジェクトは、GeoServerとMapServerです。 QGISマップサーバーも一見の価値があります。ArcGISサーバーは、ここでは[高価な!]商業的に同等です。
この部分を整理したら、クライアントライブラリで遊ぶことができます。
ジョージの最後のコメントの2番目を十分に強調することはできません。関心のある地理空間やWebの問題を選択し、解決するときに必要な技術について学びます。
上記のすべての分野に習熟するために時間をかけると、かゆみを掻き立てるプロジェクトの構築を実際に開始するまでに時間がかかります。
OpenLayersを使用してアプリを構築し、既存のデータサービスからアプリマップデータを構築することから始めることをお勧めします。その後、独自のデータソースまたはサービスの作成に進むことができます。FLOSSテクノロジーに固執すれば、ライセンス費用が問題になることなく、どこでもアプリをビルドして使用できます。