C# を使用して GIS ベースのデスクトップ アプリケーションに取り組んでいます。このプロジェクトでは dotpatial ライブラリを使用しています。
次に、ポリゴン上にフィーチャのグリッドを作成する必要があります。このグリッド セル (長方形) は20*20 メートル四方である必要があります。
私はそれに取り組み、グリッドを作成できましたが、セルサイズに関する問題に直面しています。ポリゴン サイズが変更されるたびに、セル サイズも縮小されます。私のコード。
// Polygon Width = 2335
// Polygon Height = 2054
int RowsCount = 111;
int ColumnsCount = 111;
var maxPointX = Polygon.Extent.MaxPointX;
var minPointX = Polygon.Extent.MinPointX;
var maxPointY = Polygon.Extent.MaxPointY;
var minPointY = Polygon.Extent.MinPointY;
var dXStep = (maxPointX - minPointX) / (ColumnsCount - 1);
var dYStep = (maxPointY - minPointY) / (RowsCount - 1);
var gridColumnsPoints = new double[1000000];
var gridRowPoints = new double[1000000];
// Calculate the coordinates of grid
var nextPointX = minPointX;
for (int i = 1; i <= ColumnsCount; i++)
{
gridColumnsPoints[i - 1] = nextPointX;
nextPointX = nextPointX + dXStep;
}
var nextPointY = minPointY;
for (int i = 1; i <= RowsCount; i++)
{
gridRowPoints[i - 1] = nextPointY;
nextPointY = nextPointY + dYStep;
}
小さいサイズのポリゴンでこのコードを試してみると、グリッド セルのサイズも小さくなりました。
私のアプローチが正しくないことはわかっているので、それを検索していくつかのツールを入手しました。お気に入り
https://gis.stackexchange.com/questions/79681/creating-spatially-projected-polygon-grid-with-arcmap
しかし、C# で作成したいのですが、アルゴリズムやその他の役立つ資料が見つかりません。
あなたの知識を共有してください。ありがとう