<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Creating Coordinate Objects — Astropy v0.2.4</title> <link rel="stylesheet" href="../_static/bootstrap-astropy.css" type="text/css" /> <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT: '../', VERSION: '0.2.4', COLLAPSE_INDEX: false, FILE_SUFFIX: '.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="../_static/jquery.js"></script> <script type="text/javascript" src="../_static/underscore.js"></script> <script type="text/javascript" src="../_static/doctools.js"></script> <script type="text/javascript" src="../_static/sidebar.js"></script> <link rel="shortcut icon" href="../_static/astropy_logo.ico"/> <link rel="top" title="Astropy v0.2.4" href="../index.html" /> <link rel="up" title="Astronomical Coordinate Systems (astropy.coordinates)" href="index.html" /> <link rel="next" title="Formatting Coordinate Strings" href="formatting.html" /> <link rel="prev" title="Working with Angles" href="angles.html" /> </head> <body> <div class="topbar"> <a class="brand" title="Documentation Home" href="../index.html"></a> <ul> <li><a class="homelink" title="AstroPy Homepage" href="http://www.astropy.org"></a></li> <li><a title="General Index" href="../genindex.html">Index</a></li> <li><a title="Python Module Index" href="../py-modindex.html">Modules</a></li> <li> <form action="../search.html" method="get"> <input type="text" name="q" placeholder="Search" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </li> </ul> </div> <div class="related"> <h3>Navigation</h3> <ul> <li class="right"> <a href="formatting.html" title="Formatting Coordinate Strings"> next » </a> </li> <li class="right"> <a href="angles.html" title="Working with Angles"> « previous </a> | </li> <li> <a href="../index.html">Astropy v0.2.4</a> » </li> <li><a href="index.html" accesskey="U">Astronomical Coordinate Systems (<tt class="docutils literal"><span class="pre">astropy.coordinates</span></tt>)</a> »</li> <li>Creating Coordinate Objects</li> </ul> </div> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body"> <div class="section" id="creating-coordinate-objects"> <h1>Creating Coordinate Objects<a class="headerlink" href="#creating-coordinate-objects" title="Permalink to this headline">ΒΆ</a></h1> <p>Creating new coordinate objects is of course crucial to using <a class="reference internal" href="index.html#module-astropy.coordinates" title="astropy.coordinates"><tt class="xref py py-obj docutils literal"><span class="pre">coordinates</span></tt></a>. The typical way to create a new coordinate object is to directly initialize your preferred coordinate system using standard python class creation, using the name of the class representing that system and a number for the two angles. For example:</p> <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">astropy.coordinates</span> <span class="kn">import</span> <span class="n">ICRSCoordinates</span><span class="p">,</span> <span class="n">FK4Coordinates</span><span class="p">,</span> <span class="n">GalacticCoordinates</span> <span class="gp">>>> </span><span class="n">ICRSCoordinates</span><span class="p">(</span><span class="mf">187.70592</span><span class="p">,</span> <span class="mf">12.39112</span><span class="p">,</span> <span class="n">unit</span><span class="o">=</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">degree</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">degree</span><span class="p">))</span> <span class="go"><ICRSCoordinates RA=187.70592 deg, Dec=12.39112 deg></span> <span class="gp">>>> </span><span class="n">FK4Coordinates</span><span class="p">(</span><span class="mf">187.07317</span><span class="p">,</span> <span class="mf">12.66715</span><span class="p">,</span> <span class="n">unit</span><span class="o">=</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">degree</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">degree</span><span class="p">))</span> <span class="go"><FK4Coordinates RA=187.07317 deg, Dec=12.66715 deg></span> <span class="gp">>>> </span><span class="n">GalacticCoordinates</span><span class="p">(</span><span class="o">-</span><span class="mf">76.22237</span><span class="p">,</span> <span class="mf">74.49108</span><span class="p">,</span> <span class="n">unit</span><span class="o">=</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">degree</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">degree</span><span class="p">))</span> <span class="go"><GalacticCoordinates l=-76.22237 deg, b=74.49108 deg></span> </pre></div> </div> <p>Note that if you do not provide units explicitly, this will fail:</p> <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">ICRSCoordinates</span><span class="p">(</span><span class="mi">23</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> <span class="go">UnitsError: No unit was specified in Angle initializer; the unit parameter should be an object from the astropy.units module (e.g. 'from astropy import units as u', then use 'u.degree').</span> </pre></div> </div> <p>While the above example uses python numerical types, you can also provide strings to create coordinates. If the <tt class="xref py py-obj docutils literal"><span class="pre">unit</span></tt> parameter is <tt class="docutils literal"><span class="pre">(None,</span> <span class="pre">None)</span></tt> (the default), strings will be interpreted using the <tt class="xref py py-obj docutils literal"><span class="pre">Angle</span></tt> class’ parsing scheme, and has a guiding principal of being able to interpret any <em>unambiguous</em> string specifying an angle. For the exact rules for how each string is parsed, see the <a class="reference internal" href="../_generated/astropy.coordinates.angles.Angle.html#astropy.coordinates.angles.Angle" title="astropy.coordinates.angles.Angle"><tt class="xref py py-obj docutils literal"><span class="pre">Angle</span></tt></a> documentation. Some examples:</p> <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">ICRSCoordinates</span><span class="p">(</span><span class="s">"3h36m29.7888s -41d08m15.162342s"</span><span class="p">,</span> <span class="n">unit</span><span class="o">=</span><span class="p">(</span><span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">))</span> <span class="go"><ICRSCoordinates RA=54.12412 deg, Dec=-41.13755 deg></span> <span class="gp">>>> </span><span class="n">ICRSCoordinates</span><span class="p">(</span><span class="s">"3h36m29.7888s -41d08m15.162342s"</span><span class="p">)</span> <span class="go"><ICRSCoordinates RA=54.12412 deg, Dec=-41.13755 deg></span> <span class="gp">>>> </span><span class="n">ICRSCoordinates</span><span class="p">(</span><span class="s">"14.12412 hours"</span><span class="p">,</span> <span class="s">"-41:08:15.162342 degrees"</span><span class="p">)</span> <span class="go"><ICRSCoordinates RA=211.86180 deg, Dec=-41.13755 deg></span> <span class="gp">>>> </span><span class="n">ICRSCoordinates</span><span class="p">(</span><span class="s">"14.12412 -41:08:15.162342"</span><span class="p">)</span> <span class="go">UnitsError: Could not infer Angle units from provided string 14.12412</span> </pre></div> </div> <p>You can also directly specify the units for both to resolve ambiguities in parsing the angle strings:</p> <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">ICRSCoordinates</span><span class="p">(</span><span class="s">"14.12412 -41:08:15.162342"</span><span class="p">,</span> <span class="n">unit</span><span class="o">=</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">hour</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">degree</span><span class="p">))</span> <span class="go"><ICRSCoordinates RA=211.86180 deg, Dec=-41.13755 deg></span> <span class="gp">>>> </span><span class="n">ICRSCoordinates</span><span class="p">(</span><span class="s">"54:7:26.832 -41:08:15.162342"</span><span class="p">,</span> <span class="n">unit</span><span class="o">=</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">degree</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">degree</span><span class="p">))</span> <span class="go"><ICRSCoordinates RA=54.12412 deg, Dec=-41.13755 deg></span> <span class="gp">>>> </span><span class="n">ICRSCoordinates</span><span class="p">(</span><span class="s">'3 4 5 +6 7 8'</span><span class="p">,</span> <span class="n">unit</span><span class="o">=</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">hour</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">degree</span><span class="p">))</span> <span class="go"><ICRSCoordinates RA=46.02083 deg, Dec=6.11889 deg></span> <span class="gp">>>> </span><span class="n">ICRSCoordinates</span><span class="p">(</span><span class="s">'3h4m5s +6d7m8s'</span><span class="p">,</span> <span class="n">unit</span><span class="o">=</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">hour</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">degree</span><span class="p">))</span> <span class="go"><ICRSCoordinates RA=46.02083 deg, Dec=6.11889 deg></span> </pre></div> </div> <p>This will also give you an error if you give a string with units that conflict with your desired units:</p> <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">ICRSCoordinates</span><span class="p">(</span><span class="s">'3d4m5s +6h7m8s'</span><span class="p">,</span> <span class="n">unit</span><span class="o">=</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">hour</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">degree</span><span class="p">))</span> <span class="go">ValueError: parse_hours: Invalid input string, can't parse to HMS. (3d4m5s)</span> </pre></div> </div> <p>One final way to create coordinates is to copy them from an already existing coordinate:</p> <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">i1</span> <span class="o">=</span> <span class="n">ICRSCoordinates</span><span class="p">(</span><span class="mf">187.70592</span><span class="p">,</span> <span class="mf">12.39112</span><span class="p">,</span> <span class="n">unit</span><span class="o">=</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">degree</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">degree</span><span class="p">))</span> <span class="gp">>>> </span><span class="n">i2</span> <span class="o">=</span> <span class="n">ICRSCoordinates</span><span class="p">(</span><span class="n">i1</span><span class="p">)</span> <span class="gp">>>> </span><span class="n">i1</span> <span class="go"><ICRSCoordinates RA=187.70592 deg, Dec=12.39112 deg></span> <span class="gp">>>> </span><span class="n">i2</span> <span class="go"><ICRSCoordinates RA=187.70592 deg, Dec=12.39112 deg></span> </pre></div> </div> </div> </div> </div> </div> <div class="sphinxsidebar"> <div class="sphinxsidebarwrapper"><h3>Page Contents</h3> <ul> <li><a class="reference internal" href="#">Creating Coordinate Objects</a></li> </ul> </div> </div> <div class="clearer"></div> </div> <footer class="footer"> <p class="pull-right"> <a href="http://github.com/astropy/astropy/tree/v0.2.4/docs/coordinates/creating.rst">Edit This Page on Github</a> <a href="../_sources/coordinates/creating.txt" rel="nofollow">Page Source</a> <a href="#">Back to Top</a></p> <p> © Copyright 2011-2013, The Astropy Developers.<br/> Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3. Last built 22 Oct 2013. <br/> </p> </footer> </body> </html>