2 Stimmen

Abrufen der IEnvelope aus einem IGeometry-Typ mit der .Net Topology Suite

Verwendet jemand da draußen die .Net Topology Suite? Ich stecke ein bisschen fest, ich versuche, den Umschlag zu bekommen, damit ich Dimensionen validieren kann

Nach Angaben von http://resources.esri.com/help/9.3/arcgisengine/dotnet/c6e6b26c-be52-4176-b1e5-bb628d10acd0.htm (unter Verwendung des C#-Beispiels am Ende der Seite)

Ich nehme einen IGeometry-Typ (Boundary) und übertrage die Hüllkurve des Polygons auf eine IEnvelope (Envelope), mit der ich die Eigenschaften Breite und Höhe betrachten möchte

Aber Umschlag ist immer null

    IGeometry boundary;

    var wktReader = new WKTReader(OSGBGeometryFactory.Factory);
    boundary = wktReader.Read(projectDTO.BoundaryWKT);

    IEnvelope envelope = boundary.Envelope as IEnvelope;

Kann mir jemand helfen, ich arbeite zum ersten Mal mit dieser Suite.


Was ich versuche, herauszufinden, ist, wenn nach diesem Beispiel ich bereits einen IGeometry-Typ (meine Begrenzungsvariable) haben, warum ist es null, wenn ich versuche und Cast es.

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.");
      }
    }
  }
}

Muss ich ein neues Polygon erstellen und versuchen, dieses zu gießen (d. h. die IArea areaPolygon = new PolygonClass(); )?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X