<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Bug with GeometryEngine.Intersection in ESRI.ArcGIS runtime version 100.14.1 in .NET Maps SDK Questions</title>
    <link>https://community.esri.com/t5/net-maps-sdk-questions/bug-with-geometryengine-intersection-in-esri/m-p/1240681#M11538</link>
    <description>&lt;P&gt;From the GeometryEngine documentation:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="dotMorten_esri_0-1670953211375.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/58393i539BA4FE709462DA/image-size/medium?v=v2&amp;amp;px=400" role="button" title="dotMorten_esri_0-1670953211375.png" alt="dotMorten_esri_0-1670953211375.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://developers.arcgis.com/net/api-reference/api/net/Esri.ArcGISRuntime/Esri.ArcGISRuntime.Geometry.GeometryEngine.html" target="_blank"&gt;https://developers.arcgis.com/net/api-reference/api/net/Esri.ArcGISRuntime/Esri.ArcGISRuntime.Geometry.GeometryEngine.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 13 Dec 2022 17:40:24 GMT</pubDate>
    <dc:creator>dotMorten_esri</dc:creator>
    <dc:date>2022-12-13T17:40:24Z</dc:date>
    <item>
      <title>Bug with GeometryEngine.Intersection in ESRI.ArcGIS runtime version 100.14.1</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/bug-with-geometryengine-intersection-in-esri/m-p/1237174#M11507</link>
      <description>&lt;P&gt;Hello everyone,&lt;/P&gt;&lt;P&gt;I discovered a bug in the ESRI.ArcGIS runtime version 100.14.1.&lt;/P&gt;&lt;P&gt;More specifically, it's about the GeometryEngine.Intersection function call, which constructs an intersection between two geometries.&lt;/P&gt;&lt;P&gt;This bug does not appear in ESRI.ArcGIS runtime version 100.9.0.&lt;/P&gt;&lt;P&gt;I wrote a small sample program that shows this bug. I pasted it below.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;using Esri.ArcGISRuntime.Geometry;

namespace EsriIntersection
{
    public static class MySpatialReferences
    {
        public static SpatialReference Mercator = new SpatialReference(102100);
        public static SpatialReference Wgs84 = new SpatialReference(4326);
    }

    public class GeoPoint
    {
        public double Latitude;
        public double Longitude;
        public double Altitude;

        public GeoPoint(double latitude, double longitude, double altitude)
        {
            Latitude = latitude;
            Longitude = longitude;
            Altitude = altitude;
        }
    }

    public class Program
    {
        private static void Main()
        {
            List&amp;lt;GeoPoint&amp;gt; legGeoPoints = CreateLegGeoPoints();
            Geometry legGeometry = CreateLine(legGeoPoints);

            List&amp;lt;GeoPoint&amp;gt; baseGeometryGeoPoints = CreateBaseGeometryGeoPoints();
            Geometry baseGeometry = CreatePolygon(baseGeometryGeoPoints);

            Geometry resultPolygon = GeometryEngine.Intersection(baseGeometry, legGeometry);
            IReadOnlyList&amp;lt;ReadOnlyPart&amp;gt; lineParts = ((Polyline)resultPolygon).Parts;

            foreach (ReadOnlyPart part in lineParts)
            {
                Console.WriteLine("Altitude: {0}", part.StartPoint.Z);
            }
        }

        private static List&amp;lt;GeoPoint&amp;gt; CreateLegGeoPoints()
        {
            List&amp;lt;GeoPoint&amp;gt; legGeoPoints = new List&amp;lt;GeoPoint&amp;gt;();
            GeoPoint p1 = new GeoPoint(48.4165771802278, 11.4771135568153, 564.558573541593);
            GeoPoint p2 = new GeoPoint(48.4079168013471, 11.4661978649996, 564.558573541593);
            legGeoPoints.Add(p1);
            legGeoPoints.Add(p2);
            return legGeoPoints;
        }

        private static List&amp;lt;GeoPoint&amp;gt; CreateBaseGeometryGeoPoints()
        {
            List&amp;lt;GeoPoint&amp;gt; baseGeometryGeoPoints = new List&amp;lt;GeoPoint&amp;gt;();
            GeoPoint p1 = new GeoPoint(48.4258287904376, 11.4613346053484, 0);
            GeoPoint p2 = new GeoPoint(48.4258827480755, 11.4615642474136, 0);
            GeoPoint p3 = new GeoPoint(48.420352090187, 11.4784902184524, 0);
            GeoPoint p4 = new GeoPoint(48.4202261890318, 11.4785847769498, 0);
            GeoPoint p5 = new GeoPoint(48.40589144322, 11.4728032002502, 0);
            GeoPoint p6 = new GeoPoint(48.4058105067631, 11.4725465414715, 0);
            GeoPoint p7 = new GeoPoint(48.4125372256258, 11.4522704979526, 0);
            GeoPoint p8 = new GeoPoint(48.4126901056, 11.4521894478119, 0);

            baseGeometryGeoPoints.Add(p1);
            baseGeometryGeoPoints.Add(p2);
            baseGeometryGeoPoints.Add(p3);
            baseGeometryGeoPoints.Add(p4);
            baseGeometryGeoPoints.Add(p5);
            baseGeometryGeoPoints.Add(p6);
            baseGeometryGeoPoints.Add(p7);
            baseGeometryGeoPoints.Add(p8);

            return baseGeometryGeoPoints;
        }

        private static Geometry CreatePolygon(List&amp;lt;GeoPoint&amp;gt; geoPointList)
        {
            IEnumerable&amp;lt;MapPoint&amp;gt; mapPoints = geoPointList
                .Select(CreateMapPointFromGeoPoint);

            return new Polygon(mapPoints);
        }

        private static Geometry CreateLine(List&amp;lt;GeoPoint&amp;gt; geoPointList)
        {
            IEnumerable&amp;lt;MapPoint&amp;gt; mapPoints = geoPointList
                .Select(CreateMapPointFromGeoPoint);

            return new Polyline(mapPoints);
        }

        private static MapPoint CreateMapPointFromGeoPoint(GeoPoint geoPoint)
        {
            MapPoint mapPoint = new MapPoint(geoPoint.Longitude, geoPoint.Latitude, geoPoint.Altitude, MySpatialReferences.Wgs84);
            mapPoint = (MapPoint)GeometryEngine.Project(mapPoint, MySpatialReferences.Mercator);
            return mapPoint;
        }
    }
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The program outputs the correct altitude "Altitude: 564,558573541593" in version 100.9.0.&lt;/P&gt;&lt;P&gt;In version 100.14.1 it outputs "Altitude: 0".&amp;nbsp;ESRI.ArcGIS runtime version 100.15.0 does not fix this bug.&lt;/P&gt;&lt;P&gt;Do you know why this bug occurs and how I can bypass it so my program gets the correct height?&lt;/P&gt;&lt;P&gt;Thanks for your help in advance.&lt;/P&gt;</description>
      <pubDate>Fri, 02 Dec 2022 11:03:30 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/bug-with-geometryengine-intersection-in-esri/m-p/1237174#M11507</guid>
      <dc:creator>RobWag</dc:creator>
      <dc:date>2022-12-02T11:03:30Z</dc:date>
    </item>
    <item>
      <title>Re: Bug with GeometryEngine.Intersection in ESRI.ArcGIS runtime version 100.14.1</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/bug-with-geometryengine-intersection-in-esri/m-p/1240681#M11538</link>
      <description>&lt;P&gt;From the GeometryEngine documentation:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="dotMorten_esri_0-1670953211375.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/58393i539BA4FE709462DA/image-size/medium?v=v2&amp;amp;px=400" role="button" title="dotMorten_esri_0-1670953211375.png" alt="dotMorten_esri_0-1670953211375.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://developers.arcgis.com/net/api-reference/api/net/Esri.ArcGISRuntime/Esri.ArcGISRuntime.Geometry.GeometryEngine.html" target="_blank"&gt;https://developers.arcgis.com/net/api-reference/api/net/Esri.ArcGISRuntime/Esri.ArcGISRuntime.Geometry.GeometryEngine.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Dec 2022 17:40:24 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/bug-with-geometryengine-intersection-in-esri/m-p/1240681#M11538</guid>
      <dc:creator>dotMorten_esri</dc:creator>
      <dc:date>2022-12-13T17:40:24Z</dc:date>
    </item>
    <item>
      <title>Re: Bug with GeometryEngine.Intersection in ESRI.ArcGIS runtime version 100.14.1</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/bug-with-geometryengine-intersection-in-esri/m-p/1242965#M11566</link>
      <description>&lt;P&gt;Thanks for your reply. So it was unexpected behaviour before in version &lt;SPAN&gt;100.9.0.&lt;/SPAN&gt;?&lt;/P&gt;</description>
      <pubDate>Wed, 21 Dec 2022 16:06:06 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/bug-with-geometryengine-intersection-in-esri/m-p/1242965#M11566</guid>
      <dc:creator>RobWag</dc:creator>
      <dc:date>2022-12-21T16:06:06Z</dc:date>
    </item>
  </channel>
</rss>

