ArcGIS 10デスクトップアドイン内のArcObjectsを介してカスタムマップタイルを使用できますか?


8

ArcGIS 10デスクトップアドインを介して、ArcMapでカスタムマップタイルをプログラムで使用およびレンダリングできますか?

AddInは、ArcObjects SDK for C#/。NETおよびArcGIS 10を使用して構築されています。マップタイルのプルおよびレンダリングは、AddInの主要な機能ではありません。しかし、それが可能であれば、この機能を実装したいと思います。

詳細:

  • ITiledMapServer2インターフェイスが関係しているというヒントを受け取りましたが、私にはわかりません。また、このタスクに関する情報がArcObjectsドキュメントに不足しています。ArcGIS for Flex API内の同等のクラスはTiledMapServiceLayerですが、これもデスクトップアプリ内のArcMapアドインであり、Webアプリではありません。
  • GoogleマップのJS / Flash APIに似た、同じズーム、タイルY、タイルXタイルスキーマで独自のタイルを生成する社内ソフトウェアがあります。
  • マップタイルの提供にApacheを使用しているため、現在、ArcGIS Serverを使用していません(タイルのオーサリング、ArcGIS Serverマップサービスとしての公開など)。
  • 私はSOに質問を投稿し、ここに投稿するように勧められました。

前もって感謝します。


ArcGIS Serverのマップタイルを取得するだけの場合は、MXDのレイヤーとしてサービスを追加してみませんか?
マイケル・トッド

彼は「ArcGISサーバーはありません」と言った-まっすぐなApacheだけ、そうでなければ、あなたが言うように、それは完全に単純です。
ハーブ

マイケルに感謝します。タイルがArcGIS Server上にないか、ArcGIS Serverによって提供されているためです。これらは、Apacheを実行しているマシンが現在管理しているカスタムタイルです。どうして?これらのタイルを使用するGoogle Maps APIとArcGIS API for Flexを使用するさまざまなWebアプリがあります。そして、デスクトップアドイン内のこのインフラストラクチャに便乗するだけでいいのです。ArcGIS Serverを介してタイルを公開マップサービスとして提供することがこれを行う唯一の方法である場合、それは問題ありません。そのことを事前に知りたいだけです。
Josh

(おっと、3番目の箇条書きでごまかしています。)必要に応じてタイルをリクエストできるように画像を構造化してみることもできます(X / Yディレクトリ名、XMLルックアップなど)が、基本的には独自の「イメージタイルサーバー」を最初から作成します。自分で作成するよりも、事前に作成したツールに(アクセス権がある場合)仕事をさせる方がはるかに簡単です。
マイケル・トッド

回答:


8

カスタムレイヤーの実装を検討していると思います。他にArcMap内でデータをレンダリングする方法がわかりません。純粋に学術的な演習以外では、私はそれをしていません。ここで利用可能な情報のスターターページがあり、実装する必要がある最小限のインターフェイスのリストが表示されます。プラス面として、開発者のサンプルがあります。マイナス面は、あなたが真に重要な開発領域に踏み込んでいることです。楽しいが、ささいなこと。

または、ArcBruTile codeplexプロジェクトメンバーが何をしたかを見ることができます。これは、あなたが試みていることと非常によく似ています。


はい、カスタムレイヤーが適しています。これは簡単なことではありませんが、困難な作業でもありません。ベクトルではなくラスターを描画するため、最も困難な部分は、Win32デバイスコンテキストの適切な場所にビットマップを描画することです。また、ある種のインメモリキャッシュロジックも強くお勧めします。
Petr Krebs

@petr_k-キャッシングが重要なため、金銭的には適切です。ネットワークトラフィックは、パフォーマンスを低下させます。参照先のcodeplexサイト(クレーム)の人たちはこれに対処しました。私は彼らがどのようにタイルに掛かる時間を決定しているかを見るために彼らのコードを調べていません。
ハーブ

ご列席の皆様、ありがとうございました。@Herb特に、ArcBruTileプロジェクトへのcodeplexリンクに感謝します。実際、私たちがやろうとしていることのように見えます。私はコードをスキャンしましたが、キャッシュは最初にディスクからタイルをロードしようとすることによって処理されているようです。いない?次に、Web経由でロードしてから、ディスクに書き込みます。
ジョシュ

@ジョシュ-助けてくれてうれしい-ArcBruTileプロジェクトも私にとって楽しい発見でした。質問に「回答済み」のマークを付けますか?
ハーブ

1

アドインは基本機能用であり、カスタムレイヤーなどのカスタマイズにはCOMソリューションが必要であり、ArcObjects&.NETを使用して実行できます。ただし、これはアドインを使用して行うことはできません。


おそらく、しかし、ArcObjects API for ArcGIS 10があれば、アドインレベルでかなりのことを達成できます。アドインのデモ:youtube.com/watch
Josh
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.