GISコミュニティフォーラム2017開発者向けセッション紹介④―ゼロから始めるオフラインアプリ開発―

Document created by yusuke_nunokawaesrij-esridist Employee on Apr 26, 2017Last modified by masanobu_hiranoesrij-esridist on May 1, 2017
Version 1Show Document
  • View in full screen mode

毎年、GIS コミュニティフォーラムの前日には、技術セッションのみのプレフォーラム・セミナーを開催しています。本連載では、開発者向けのセッションを案内してまいります。
今回は「オフライン」をテーマにしたセッションの紹介です!

 

 

セッションの開催概要


日時:5月16日(火曜日) 16:00~16:40
場所:東京ミッドタウン 4F ルーム1-2
概要:通信が制限されている状況で地図を使用するためには、オフライン環境に対応したアプリが必要です。当セッションでは、オフライン地図の必要性や仕組み、地図の編集方法など、ArcGIS で開発することにより得られるメリットを含めてご紹介していきます。

 

 

オフラインでも地図上にデータが追加できる!


オフライン環境のアプリで地図を使うためには、ローカルに地図を表示するためのデータをあらかじめ作成しておきます。ArcGIS を使ってこのデータをローカルに作成すると、データベース構造を保ったファイルとしてダウンロードすることができます。ファイルを作成するコードを実装する必要はありません。

 

 

今回は、このダウンロードしたファイル操作について、サンプル コードを使ってご紹介します。下記のコードは、追加したいジオメトリ (ポイント) と、持たせたい属性情報を指定して、ローカルファイルにデータを追加しています。

テーブル定義は、あらかじめ ArcGIS Online または ArcGIS Server でフィーチャ レイヤーに必要な属性情報のカラムを定義しておきます。
  
実際の主要なコード (Android/Java) はこのようになります。

 

/**
* 端末のローカルファイルを扱うオブジェクトを作成する
* */

Geodatabase geodatabase = new Geodatabase("*.geodatabaseまでのPath");
GeodatabaseFeatureTable GdbFeatureTable = geodatabase.getGeodatabaseFeatureTables().get(0);
/**
* 更新データ(ポイントなどのジオメトリを含む)を作成する
* */

java.util.Map<String, Object> attributes = new HashMap<String, Object>();
attributes.put("address","Esriジャパン");
// 追加したいポイントを第二引数に設定する
Feature addedFeature = GdbFeatureTable.createFeature(attributes, pPoint);
/**
* 端末のローカルファイルを更新する
* */

final ListenableFuture<Void> addFeatureFuture = mGdbFeatureTable.addFeatureAsync(addedFeature);

 

ポイントを追加するために必要な属性情報のオブジェクトは、HashMap を使って作成し、それと位置情報を含むポイントのオブジェクトの 2 つを引数にして、Feature オブジェクトを作成します。ここまでできたらローカルファイルを参照しているオブジェクトに addFeatureAsync するだけです。

※このコードを含むアプリは ESRIジャパンの GitHub で近日公開予定です。

 

当日はこの他にも素敵なトピックをそろえていますので、ご期待ください!
皆様のご来場をお待ちしております。

 

 

参加方法


本セッションへの参加登録は弊社サイトより、GISコミュニティフォーラムへの参加登録にてお願いします。(無料です)

Attachments

    Outcomes