タグ付けされた質問 「c#」

C#は.NETプログラミング言語です。

9
ESRI REST APIを実装するにはどうすればよいですか?
ESRIは、ArcGIS REST APIをオープンテクノロジーとしてリリースすると発表しました。IIS7でSql Server 2008を実行しているISPがあります。 WCFを使用してC#を記述し、特定の仕様(理想的にはESRIの仕様)に準拠した空間テーブルを公開する方法を示す良いウォークスルーを知っている人はいますか? ESRIの仕様がどこにあるか誰もが知っていますか?

2
C#を使用したGdal / OgrのAPIドキュメント
Web C#アプリケーションでシェープファイルに投影を割り当てたいため、Gdal / OGR / OSR C#バインディングを使用し、osr_csharp.dllおよびogr_csharp.dll参照を追加します。しかし、投影をシェープファイルに割り当てるためのコードを書いているときに、いくつかの困難に直面しています。これらのライブラリのクラス/メソッドを理解するのに役立つAPIドキュメントがあります。または、誰かが投影をshapefileに割り当てるためのコードを持っているなら、それは私にとって大きな助けになるでしょう。

3
ArcObjectsのIFeatureClass.Search(直接接続を使用するSDEのみ)のメモリリークに対処しますか?
ESRIサポートは、問題を再現し、バグレポート(NIM070156)を開いたと言います。 .NET / C#ArcMapアドインのツールが空間クエリ(クエリフィルターでICursorfrom IFeatureClass.Searchを返す)を実行するときに発生するメモリリーク(アンマネージヒープメモリ)があると判断しましたISpatialFilter。すべてのCOMオブジェクトは、必要がなくなるとすぐに解放されます(を使用Marshal.FinalReleaseCOMObject)。 これを判断するには、まず、ArcMap.exeのプライベートバイト、仮想バイト、ワーキングセットのカウンターを使用してPerfMonセッションを設定し、クエリを実行するツールを使用するたびに3つすべてが着実に増加(反復ごとに約500 KB)することに注意しました。重要なのは、直接接続(ST_Geometryストレージ、Oracle 11gクライアントおよびサーバー)を使用してSDEのフィーチャクラスに対して実行された場合のみです。ファイルジオデータベースを使用する場合、およびアプリケーション接続を使用する古いSDEインスタンスに接続する場合、カウンターは一定のままでした。 その後、LeakDiagとLDGrapherを使用し(このブログ投稿からのいくつかのガイダンスを使用)、Windowsヒープアロケーターを3回ログに記録しました。さらに数十回。 LDGrapherのデフォルトビュー(合計サイズ)に表示される結果は次のとおりです。 赤い線の呼び出し履歴は次のとおりです。 ご覧のとおりSgsShapeFindRelation2、sg.dll の関数がメモリリークの原因となっているようです。 私が理解しているように、sg.dllはArcObjectsで使用されるコアジオメトリライブラリSgsShapeFindRelation2であり、おそらく空間フィルターが適用される場所です。 他のことをする前に、他の誰かがこの問題(または同様の問題)に遭遇したかどうか、そしてそれについて何ができるかを確認したかっただけです。また、直接接続でのみこれが発生する理由は何ですか?これは、ArcObjectsのバグ、構成の問題、またはプログラミングの問題のように聞こえますか? この動作を生成するメソッドの最小動作バージョンは次のとおりです。 private string GetValueAtPoint(IPoint pPoint, IFeatureClass pFeatureClass, string pFieldName) { string results = ""; ISpatialFilter pSpatialFilter = null; ICursor pCursor = null; IRow pRow = null; try { pSpatialFilter = new SpatialFilterClass(); pSpatialFilter.Geometry = pPoint; …

5
ArcMapで使用される「Python.exe」のパスをプログラムで取得する方法
C#でArcMapのアドインを使用しています。C#コードから、いくつかのPythonスクリプトを実行しました。さて、これらのスクリプトを実行するために、Pythonパスをハードコーディングしています。しかし、これは移植性がありません。したがって、コードからPython実行可能ファイルのパスを取得して使用したいと思います。 質問: ArcMapで使用されるPython実行可能ファイルのパスをC#コードから取得するにはどうすればよいですか? 編集: あなたの提案から、今のところ私はPythonのパスを取得するために「パス環境」を使用しています。 //get python path from environtment variable string GetPythonPath() { IDictionary environmentVariables = Environment.GetEnvironmentVariables(); string pathVariable = environmentVariables["Path"] as string; if (pathVariable != null) { string[] allPaths = pathVariable.Split(';'); foreach (var path in allPaths) { string pythonPathFromEnv = path + "\\python.exe"; if (File.Exists(pythonPathFromEnv)) return pythonPathFromEnv; } …
15 arcgis-10.0  python  c# 

1
ArcPy Cost Path AnalysisツールがArcObjectsよりも高速である理由を理解できますか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 閉じた3年前。 Pythonを使用してジオプロセシングスクリプト/サービスを作成しましたが、ArcObjectsを使用して同等の操作を実行するとパフォーマンスが向上するという印象を受けました。 私が投稿したのArcGIS ServerのGPサービス- RasterIO.dllクラッシュのArcSOC.exeをし、ArcGISのジオプロセシングスクリプトは、デスクトップに罰金を実行しますが、ジオプロセシングサービスとしてクラッシュしますか?Spatial Analystツールを使用してジオプロセシングサービスとして機能するジオプロセシングスクリプトを取得する方法について、過去数日間にわたって説明しました。私の締め切りはすぐに近づいているので、希望の機能を達成するためにSOEルートに行くことにしました。 .NET ESRI.ArcGIS.SpatialAnalyst.RasterDistanceOpClass、特にCostDistanceFull()およびCostPath()メソッドを使用すると、ArcObjectsでコストパス分析を取得するのは比較的簡単でした。 私が物事をどのように行っているかのコードスニペット: Python # Get Cost Path Origin and Destination Points inputPointsShp = 'D:/RasterStuff/test_points.shp' arcpy.MakeFeatureLayer_management(inputPointsShp,"origin",' "TYPE" = \'ORIGIN\' ') arcpy.MakeFeatureLayer_management(inputPointsShp,"destination",' "TYPE" = \'DESTINATION\' ') # Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension("Spatial") # Execute CostDistance outCostDistance = CostDistance("origin",SOURCE_RASTER,"#","backlink") # …

1
ArcMap / C#でWindowsクリップボードから選択したフィーチャ/ジオメトリを取得する方法
ArcMap 10にはカスタムツールがあります。ワークフローは次のとおりです。 「長方形でフィーチャを選択」ツールを使用してレイヤー内のフィーチャを選択します STRG + cを使用して機能をクリップボードにコピーします カスタムツールを選択します ツールはクリップボードをチェックします。クリップボードでコピーされたフィーチャーを見つける場合、ワークフローが変更されます http://kiwigis.blogspot.com/2011/07/how-to-create-drop-target-for-layers-in.htmlで、ドラッグアンドドロップを使用して同様の機能が実装されている例を見つけました。 この例に従って、適応し、STRC + cを使用してArcMapのTOC内のレイヤーをクリップボードにコピーしようとしています。 //Get the Data from the Clipboard IDataObject clipBoardDataObject = Clipboard.GetDataObject(); //The format of the object data is "ESRI Layers" (this can be checked using clipBoardDataObject.GetFormats();) MemoryStream geomStream = clipBoardDataObject.GetData("ESRI Layers") as MemoryStream; byte[] bytes = geomStream.ToArray(); IMemoryBlobStreamVariant memoryBlobStreamVariant …

6
連続ラスタのすべてのセルを反復処理するにはどうすればよいですか?
詳細については、このリンクを参照してください。 問題: 連続ラスタ(属性テーブルを持たないラスタ)をセルごとにループして、セルの値を取得したい。これらの値を取得して条件を実行し、実際にラスター計算機を使用せずに、以下で説明するマップ代数ステップをエミュレートします。 以下のコメントのリクエストごとに、問題の背景を提供し、「分析が必要:」と呼ばれる以下のセクションにメソッドを実装する必要性を正当化する詳細を追加しました。 以下に提案する分析は、背景を提供することで私の問題に関連している一方で、回答に実装する必要はありません。質問の範囲は、セル値を取得/設定するために連続ラスタを繰り返し処理することのみに関係します。 必要な分析: 以下の条件のいずれかが満たされている場合、出力セルに値1を与えます。出力セルに値0を与えるのは、どの条件も満たされない場合のみです。 条件1:セルの値が上部および下部のセルより大きい場合、値1を指定します。 Con("raster" > FocalStatistics("raster", NbrIrregular("C:\filepath\kernel_file.txt"), "MAXIMUM"), 1, 0) カーネルファイルは次のようになります。 3 3 0 1 0 0 0 0 0 1 0 条件2:セルの値が左右のセルより大きい場合、値1を指定します。 Con("raster" > FocalStatistics("raster", NbrIrregular("C:\filepath\kernel_file.txt"), "MAXIMUM"), 1, 0) カーネルファイルは次のようになります。 3 3 0 0 0 1 0 1 0 0 0 条件3:セルの値が左上および右下のセルより大きい場合、値1を指定します。 Con("raster" > …
13 python  raster  arcobjects  gdal  c# 

8
ArcObjectsリソース[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 ArcObjectsを使用したC#開発に最適なブック/ Webサイトは何ですか? ArcGISのリソースセンターは、非常に便利ですが、私はより多くの例とソースを見つけようとしています。
13 arcobjects  c# 

12
.NET for ArcGIS(主にデスクトップ)の使用を学習していますか?
この質問の答えはコミュニティの努力です。この投稿を改善するには、既存の回答を編集してください。現在、新しい回答やインタラクションを受け付けていません。 私は基本的なプログラミングスキルを持っています(私は簡単なvba pythonとlispスクリプトをプログラミングし、ずっと前にjavaコースを経験していました)が、私は(ESRI出版物から判断して)。 GIS求人市場における将来の関連性(アナリストとしても)。 私は基本的なc#コースを経験しており、(残念ながら)かなり貧弱なプログラムをプログラミングできますが、c#の知識をarcgisの実際のプログラミングにリンクして進行させる方法がわかりません。 1)違いはそれほど大きくありませんが、ArcGISは.NETまたはC#を使用していますか? 2).NETでの経験をさらに高める最良の方法はプログラムを増やすことですが、.NETプログラミングに関する優れた書籍やコースを教えてください。 3).NET for ArcGISでプログラミングを学ぶための最良の方法は何ですか?役に立つ本やウェブサイトはありますか? ArcGIS 10に関するコメントを感謝します(後で保存する予定です)が、ArcGIS 9.3.1の素晴らしい点を教えていただければ幸いです(Esriと全世界がArcGIS 10.0(地元のEsriの担当者を含む)に焦点を当てており、国内の9.3.1からアップグレードした人やアップグレードを計画している人はほとんどいません。

5
ArcMapアドインツールバーに追加せずにフォームからカスタムIToolをアクティブにしますか?
ツールバーをArcMapに追加するArcMap 10.0のアドインに取り組んでいます。OpenModelessDialogCommandそのツールバーの1つのコマンド()ボタンは、モードレスWinFormsダイアログを開きます。このダイアログから、ツール(MyTool)をアクティブにして、たとえばマップ上のフィーチャーを選択します。 私Config.esriaddinxはこれらのコマンドとツールバーの宣言が含まれています: <Commands> <!-- this is the command that opens the modeless WinForms form, from where MyTool is available: --> <Button id="OpenModelessFormCommand" ... /> <!-- MyTool is not directly referenced in any toolbar defined in this file: --> <Tool id="MyTool" class="MyTool" ... /> </Commands> <Toolbars> <Toolbar ...> <Items> <Button …

1
C#でArcGISカスタムフィーチャを実装しますか?
.NETでカスタム機能を実装することは可能ですか? もしそうなら、どうですか? 問題は.NETでCOM集約を実行できることだと思いますが、それについて何も見つかりません... 作成することが可能かどうか誰かが知っていますか ランタイム COM_INTERFACE_ENTRY_AGGREGATE_BLINDをサポートする.NETクラスのCOM呼び出し可能ラッパー?
11 arcobjects  c#  .net 

4
C#を使用してシェープファイルを読み取りますか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 ArcGISは初めてで、いくつかのことを試しています。 私はC#を使用して(入力として提供されている)シェープファイルを読み取ろうとしています 基礎となるメタデータ情報を含むPDFファイルを生成したい(Identifyツールと同様)?
11 shapefile  c# 


2
ArcGIS 10アドイン:トップレベルの例外処理
私が取り組んでいるArcGIS 10アドインは非常にシンプルです。ツールコントロールとドッキング可能なウィンドウだけです。ソースで発生すると予想される特定の例外を処理し、他のすべてをスローしますが、アドインフレームワークでこれらの予期しない例外を処理するためのベストプラクティスは何ですか? 私は現在、を実行して、catch (System.Exception ex)それを処理できる上位レベルのメソッドを持たないすべてのメソッドのMessageBoxに表示していますが、これはベストプラクティスのようには見えません(もちろん、FxCopはひねりを加えています)それについて)。 ArcGIS 10アドインフレームワークには、最上位の例外ハンドラーをイベントApplication.ThreadExceptionやAppDomain.UnhandledExceptionイベントなどに接続するための機能はありますか? アドインは単なるクラスライブラリであり、基盤となるアプリケーションの起動コードにアクセスできないアプリケーション(私が収集したものから、これらのイベントは起動プロセスの非常に早い段階でフックする必要がある)ではないように見えるので、私の推測はそうではありませんが、アドインで「予期しない」例外を処理する方法について、専門家の意見があれば教えてください。

1
経度/緯度をマップ上のピクセルに変換します
ここから地図があります。任意のlon / latペアをマップ上のピクセルに簡単に変換できるようにしたい(逆変換も可能)。マップには.tfwファイルと投影情報が付属しています。 0.02222222222222 0.00000000000000 0.00000000000000 -0.02222222222222 -180.00000000000000 90.00000000000000 と投影情報: Projection: Plate Carree aka Geographic or "LatLong" Earth ellipsoid: Sphere, radius 6370997 m Datum: WGS84 Extent: 180 West to 180 East, 90 North to 90 South Size: 16,200 height samples wide x 8,100 high Resolution: 2.47 km/pixel 私は地図作成関連のことをまったく知らないので、私が理解している限り、まずWGS84(経度/緯度のペア)から地理的投影法に変換する必要があります(同じではありませんか?)。実際には同じように見えますが、上の投影情報の球の半径は6370997で、プレートカリー投影で見つけたspatialreference.comページとは異なります。とにかく、私はDotSpatial.Projectionsライブラリが次のコードでこれを行うことができることを発見しました: var kievCoordinates …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.