.Net トポロジ スイートを使用している人はいますか? 少し行き詰まっています。寸法を検証できるように封筒を取得しようとしています
http://resources.esri.com/help/9.3/arcgisengine/dotnet/c6e6b26c-be52-4176-b1e5-bb628d10acd0.htmによると (ページ下部の C# の例を使用)
IGeometry タイプ (境界) を取得し、そのポリゴンのエンベロープを IEnvelope (エンベロープ) にキャストして、幅と高さのプロパティを確認したいと考えています。
しかし、エンベロープは常に null です
IGeometry boundary;
var wktReader = new WKTReader(OSGBGeometryFactory.Factory);
boundary = wktReader.Read(projectDTO.BoundaryWKT);
IEnvelope envelope = boundary.Envelope as IEnvelope;
誰でも助けてもらえますか、このスイートは初めてです。
私が解決しようとしているのは、この例に従って既に IGeometry 型 (境界変数) を持っている場合、それをキャストしようとすると null になるのはなぜですか。
using ESRI.ArcGIS.Geometry;
class temp
{
public void test()
{
// Create an empty polygon object.
IArea areaPolygon = new PolygonClass();
// Cast to the IGeometry interface of the polygon object.
IGeometry geometryPolygon = (IGeometry)areaPolygon;
// Use the .Envelope property on the IGeometry interface of the
// polygon object to get an envelope object.
IEnvelope envelope = geometryPolygon.Envelope;
// Test to make sure you have an envelope object.
if (envelope is Envelope)
{
// The polygon object and resulting envelope are empty.
if (envelope.IsEmpty)
{
System.Windows.Forms.MessageBox.Show("The envelope is empty.");
}
}
}
}
新しいポリゴンを作成し、それをキャストする (つまり、 を複製するIArea areaPolygon = new PolygonClass();
) 必要がありますか?