Example #1
0
        private void btnGetDistance_Click(object sender, EventArgs e)
        {
            InMemoryFeatureLayer usInMemoryLayer    = (InMemoryFeatureLayer)winformsMap1.FindFeatureLayer("USInMemoryFeatureLayer");
            InMemoryFeatureLayer chinaInMemoryLayer = (InMemoryFeatureLayer)winformsMap1.FindFeatureLayer("ChinaInMemoryFeatureLayer");

            BaseShape usShape    = usInMemoryLayer.InternalFeatures["US"].GetShape();
            BaseShape chinaShape = chinaInMemoryLayer.InternalFeatures["CHINA"].GetShape();

            double distance = usShape.GetDistanceTo(chinaShape, GeographyUnit.DecimalDegree, DistanceUnit.Kilometer);

            txtDistance.Text = string.Format(CultureInfo.InvariantCulture, "{0 :N4} Km", distance);
        }
        private void btnGetDistance_Click(object sender, RoutedEventArgs e)
        {
            InMemoryFeatureLayer usInMemoryLayer    = (InMemoryFeatureLayer)mapView.FindFeatureLayer("USInMemoryFeatureLayer");
            InMemoryFeatureLayer chinaInMemoryLayer = (InMemoryFeatureLayer)mapView.FindFeatureLayer("ChinaInMemoryFeatureLayer");

            ProjectionConverter project = new ProjectionConverter(3857, 4326);

            project.Open();
            BaseShape usShape    = project.ConvertToExternalProjection(usInMemoryLayer.InternalFeatures["US"].GetShape());
            BaseShape chinaShape = project.ConvertToExternalProjection(chinaInMemoryLayer.InternalFeatures["CHINA"].GetShape());

            project.Close();

            double distance = usShape.GetDistanceTo(chinaShape, GeographyUnit.DecimalDegree, DistanceUnit.Kilometer);

            txtDistance.Text = string.Format(CultureInfo.InvariantCulture, "{0 :N4} Km", distance);
        }