Je travaille sur une application de bureau basée sur GIS en utilisant C#. J'utilise la bibliothèque dotspatial dans ce projet. Maintenant, j'ai besoin de créer une grille d'entités sur le polygone. Cette cellule de la grille (rectangle) doit être 20 * 20 mètres carrés.Création de grille de points (points) sur un polygone
J'ai travaillé dessus et je suis capable de créer des grilles mais je suis confronté à des problèmes de taille de cellule. Chaque fois que la taille du polygone a changé la taille de la cellule, elle a également été réduite. Mon code
// 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;
}
Maintenant, quand j'ai essayé ce code sur la petite taille de Polygon alors la taille des cellules de grille a également diminué.
Je sais que mon approche est pas correct, j'ai donc cherché sur elle et a obtenu quelques outils. comme
https://gis.stackexchange.com/questions/79681/creating-spatially-projected-polygon-grid-with-arcmap
Mais je veux créer dans C# et incapable de tout algorithme trouvé ou tout autre matériel aidant.
Veuillez partager vos connaissances. Merci