皆さん、こんにちは!
<\/P>
先生から個別課題が出されました。複数のデータフレーム(データベース)があると想像してください。それぞれに複数の線レイヤーが格納されており、さまざまな長さの多くの線が保存されています。<\/P>
先生は、各データフレーム(例えば3つのデータフレームがあるとします)で最も長い線を(メッセージ形式で)見つけ、その3つの最大線の中から最小の線を表示するC#ツールを開発するように言いました。つまり、テーブル内のパラメータSHAPE_Lengthに基づく必要があります。<\/P>
どうすればうまくいくかわかりません。いくつか質問があり、助けていただけると大変ありがたいです!<\/P>
1. TextBoxを使ってデータベースに接続できますか?例えばこんな感じで:<\/P>
dbconnect.OpenWorkspace("" + TextBox1.ToString());<\/P>
すみません、本当に苦手でして。<\/P>
2. このコードでは、線がある1つの属性テーブルにしか接続できません:<\/P>
IFeatureClass pFeatureClass = dbconnect.OpenFeatureClass("my_lines");<\/P>
<\/P>
もしデータベースに複数の線レイヤーがあったらどうすればいいですか?それぞれにアクセスして、その中から最大の線を見つける必要があります。全てのレイヤーのデータを含むGENERAL属性テーブルがないのは残念です。このコード行なしで実現可能でしょうか?データベース内の線レイヤーを見つける方法はありますか?<\/P>
<\/P>
3. クエリを使って最大の線を見つける方法。ほぼ全て試しました。例えば:<\/P>
pQueryfilter.WhereClause = "SHAPE_Length" "=MAX";<\/P>
でも動作しませんでした:(<\/P>
4. 各データフレームからのクエリ結果は変数に書き込む必要があります。その後比較して、その中から最小の線を見つけます。どう実装すればよいでしょうか?<\/P>
たくさん質問してすみません。以下にツールのスクリーンショットを添付します。<\/P>
<\/span><\/P> <\/P>