Как получить экстент слоя в lat long в arcmap в c #

1

Мне нужно получить масштаб или ограничивающий прямоугольник в широте и долготе слоя в Arcmap в С#.

Первоначально я использовал следующий код, но он не всегда дает протяженность в lat long:

public IEnvelope GetExtent(IFeatureLayer PolygonLayer) {
    return PolygonLayer.AreaOfInterest.Envelope;
}
Теги:
arcgis
arcmap

1 ответ

2
Лучший ответ

У меня есть работа. Протяженность должна быть проецирована.

public ISpatialReference CreateSpatialRefGCS(ESRI.ArcGIS.Geometry.esriSRGeoCSType gcsType)
{
    ISpatialReferenceFactory spatialRefFactory = new SpatialReferenceEnvironmentClass();
    IGeographicCoordinateSystem geoCS = spatialRefFactory.CreateGeographicCoordinateSystem((int)gcsType);
    return (ISpatialReference)geoCS;
}

public IEnvelope GetExtent(IFeatureLayer PolygonLayer) {
    IEnvelope envelope = PolygonLayer.AreaOfInterest.Envelope;
    envelope.Project(CreateSpatialRefGCS(esriSRGeoCSType.esriSRGeoCS_WGS1984));
    return PolygonLayer.AreaOfInterest.Envelope;
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню