<?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: Map3d point3d to Coordinate in C# in .NET Forum</title>
    <link>https://forums.autodesk.com/t5/net-forum/map3d-point3d-to-coordinate-in-c/m-p/12620400#M5186</link>
    <description>&lt;P&gt;&amp;nbsp;for anyone else :&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;private static bool HasGeoData(Database db)

{

    // Check whether the drawing already has geolocation data



    bool hasGeoData = false;

    try

    {

        var gdId = db.GeoDataObject;

        hasGeoData = true;

    }

    catch { }

    return hasGeoData;

}
private static Tuple&amp;lt;Point3d, string&amp;gt; TranslateGeoPoint(Database db, Point3d inPt, bool fromDwg)
{
    using (var tr = db.TransactionManager.StartOpenCloseTransaction())
    {
        var gd =tr.GetObject(db.GeoDataObject, OpenMode.ForRead)as GeoLocationData;
        var outPt =(fromDwg ? gd.TransformToLonLatAlt(inPt) : gd.TransformFromLonLatAlt(inPt));
        var cs = gd.CoordinateSystem;
        tr.Commit();
        return new Tuple&amp;lt;Point3d, string&amp;gt;(outPt, cs);
    }
}







using (Transaction tr = db.TransactionManager.StartTransaction())
{
    if (!HasGeoData(db))
    {
        ed.WriteMessage("\nCurrent drawing has no geo-location information.");
        return;
    }
    var res = TranslateGeoPoint(db, placementPoint, true);
    var lonlat = res.Item1;
    double pointLat = Math.Round(lonlat.Y, 5);
    double pointLong = Math.Round(lonlat.X, 5);
    LatLong = pointLat.ToString() + "," + pointLong.ToString();

    tr.Commit();
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 06 Mar 2024 14:27:57 GMT</pubDate>
    <dc:creator>dwattersQJ39E</dc:creator>
    <dc:date>2024-03-06T14:27:57Z</dc:date>
    <item>
      <title>Map3d point3d to Coordinate in C#</title>
      <link>https://forums.autodesk.com/t5/net-forum/map3d-point3d-to-coordinate-in-c/m-p/12617374#M5183</link>
      <description>&lt;P&gt;Hello,&amp;nbsp;&lt;BR /&gt;I am looking to get the Lat/Long value of a point3d (x,y,0)&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;I have a coordinate system set (AZ83-CF for this example)&amp;nbsp;&lt;BR /&gt;and I am using a blocks position as my point3d.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;I have done this in LISP before but now need to perform this as part of a larger C# program.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="lisp"&gt;(setq ename (car ent))
(setq start_pnt (cadr ent))
(setq PROJECTIONSOURCE (ade_projgetwscode))
(ade_projsetsrc PROJECTIONSOURCE)
(ade_projsetdest "LL84")
(setq longlat (ade_projptforward start_pnt))&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Thanks for any help.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 05 Mar 2024 18:32:12 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/map3d-point3d-to-coordinate-in-c/m-p/12617374#M5183</guid>
      <dc:creator>dwattersQJ39E</dc:creator>
      <dc:date>2024-03-05T18:32:12Z</dc:date>
    </item>
    <item>
      <title>Re: Map3d point3d to Coordinate in C#</title>
      <link>https://forums.autodesk.com/t5/net-forum/map3d-point3d-to-coordinate-in-c/m-p/12617538#M5184</link>
      <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/14960564"&gt;@dwattersQJ39E&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can you see this&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.keanw.com/2014/06/attaching-geo-location-data-to-an-autocad-drawing-using-net.html" target="_blank"&gt;https://www.keanw.com/2014/06/attaching-geo-location-data-to-an-autocad-drawing-using-net.html&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 05 Mar 2024 19:15:52 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/map3d-point3d-to-coordinate-in-c/m-p/12617538#M5184</guid>
      <dc:creator>hosneyalaa</dc:creator>
      <dc:date>2024-03-05T19:15:52Z</dc:date>
    </item>
    <item>
      <title>Re: Map3d point3d to Coordinate in C#</title>
      <link>https://forums.autodesk.com/t5/net-forum/map3d-point3d-to-coordinate-in-c/m-p/12617576#M5185</link>
      <description>&lt;P&gt;this looks promising!&amp;nbsp;&lt;BR /&gt;i believe what i am actually looking for is&amp;nbsp;TransformToLonLatAlt&lt;BR /&gt;but this looks like it will put me on the right path.&amp;nbsp;&lt;BR /&gt;thanks!&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 05 Mar 2024 19:27:22 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/map3d-point3d-to-coordinate-in-c/m-p/12617576#M5185</guid>
      <dc:creator>dwattersQJ39E</dc:creator>
      <dc:date>2024-03-05T19:27:22Z</dc:date>
    </item>
    <item>
      <title>Re: Map3d point3d to Coordinate in C#</title>
      <link>https://forums.autodesk.com/t5/net-forum/map3d-point3d-to-coordinate-in-c/m-p/12620400#M5186</link>
      <description>&lt;P&gt;&amp;nbsp;for anyone else :&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;private static bool HasGeoData(Database db)

{

    // Check whether the drawing already has geolocation data



    bool hasGeoData = false;

    try

    {

        var gdId = db.GeoDataObject;

        hasGeoData = true;

    }

    catch { }

    return hasGeoData;

}
private static Tuple&amp;lt;Point3d, string&amp;gt; TranslateGeoPoint(Database db, Point3d inPt, bool fromDwg)
{
    using (var tr = db.TransactionManager.StartOpenCloseTransaction())
    {
        var gd =tr.GetObject(db.GeoDataObject, OpenMode.ForRead)as GeoLocationData;
        var outPt =(fromDwg ? gd.TransformToLonLatAlt(inPt) : gd.TransformFromLonLatAlt(inPt));
        var cs = gd.CoordinateSystem;
        tr.Commit();
        return new Tuple&amp;lt;Point3d, string&amp;gt;(outPt, cs);
    }
}







using (Transaction tr = db.TransactionManager.StartTransaction())
{
    if (!HasGeoData(db))
    {
        ed.WriteMessage("\nCurrent drawing has no geo-location information.");
        return;
    }
    var res = TranslateGeoPoint(db, placementPoint, true);
    var lonlat = res.Item1;
    double pointLat = Math.Round(lonlat.Y, 5);
    double pointLong = Math.Round(lonlat.X, 5);
    LatLong = pointLat.ToString() + "," + pointLong.ToString();

    tr.Commit();
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 06 Mar 2024 14:27:57 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/map3d-point3d-to-coordinate-in-c/m-p/12620400#M5186</guid>
      <dc:creator>dwattersQJ39E</dc:creator>
      <dc:date>2024-03-06T14:27:57Z</dc:date>
    </item>
  </channel>
</rss>

