
.. DO NOT EDIT.
.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
.. "auto_examples/01-simulation_and_visualization/1.6-emplace_crater_at_distance.py"
.. LINE NUMBERS ARE GIVEN BELOW.

.. only:: html

    .. note::
        :class: sphx-glr-download-link-note

        :ref:`Go to the end <sphx_glr_download_auto_examples_01-simulation_and_visualization_1.6-emplace_crater_at_distance.py>`
        to download the full example code.

.. rst-class:: sphx-glr-example-title

.. _sphx_glr_auto_examples_01-simulation_and_visualization_1.6-emplace_crater_at_distance.py:


Emplace a crater a specific distance and bearing from the center of a HiResLocalSurface
=======================================================================================

.. rubric:: By David Minton

This example shows how to emplace a crater at a specific distance and bearing from the center of a HiResLocalSurface using the new `relative_location` arguments that can be passed to the `emplace` method. This is useful to place a crater on a HiResLocalSurface at a specific location relative to the center without trying to figure out what lat,lon coordinates to use. In this example, we will emplace a sequence of craters in a spiral pattern. This not meant to be a realistic planetary surface, but it looks pretty cool!

.. GENERATED FROM PYTHON SOURCE LINES 10-42







.. tab-set::



   .. tab-item:: Static Scene



            
     .. image-sg:: /auto_examples/01-simulation_and_visualization/images/sphx_glr_1.6-emplace_crater_at_distance_001.png
        :alt: 1.6 emplace crater at distance
        :srcset: /auto_examples/01-simulation_and_visualization/images/sphx_glr_1.6-emplace_crater_at_distance_001.png
        :class: sphx-glr-single-img
     


   .. tab-item:: Interactive Scene



       .. offlineviewer:: /home/docs/checkouts/readthedocs.org/user_builds/cratermaker/checkouts/latest/docs/auto_examples/01-simulation_and_visualization/images/sphx_glr_1.6-emplace_crater_at_distance_001.vtksz



.. rst-class:: sphx-glr-script-out

 .. code-block:: none

    Generating a new grid.
    Creating a new grid
    Center of local region: (0.0, 0.0)
    Radius of local region: 2.000 km
    Local region pixel size: 10.00 m
    Generated 125579 points in the local region.
    Generated 26779 points in the superdomain region.
    Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Queueing craters for emplacement:   0%|          | 0/1 [00:00<?, ?crater/s]                                                                               Converting xarray Dataset to Crater objects:   0%|          | 0/36 [00:00<?, ?crater/s]    Converting xarray Dataset to Crater objects:  61%|██████    | 22/36 [00:00<00:00, 218.28crater/s]                                                                                                 





|

.. code-block:: Python


    import cratermaker as cm

    simdir = "simdata-1_6"

    # Note, that for these examples we pass ask_overwrite=False and reset=True to the Simulation constructor. This will suppress
    # prompts that ask the user if they want to overwrite existing files, which would would prevent these examples from running on their
    # own when building the documentation pages. Alternatively, calling cm.cleanup(simdir) will remove all pre-existing output files.
    sim = cm.Simulation(
        surface="hireslocal",
        simdir=simdir,
        local_location=(0, 0),
        pix=10.0,
        local_radius=2000.0,
        do_counting=False,
        ask_overwrite=False,
        reset=True,
    )

    # Emplace craters in a spiral pattern with craters getting slightly largers as they get farther from the center
    total_rotation = 3 * 360.0
    ncraters = 36
    bearing_spacing = int(total_rotation / ncraters)
    distance_spacing = sim.surface.local_radius / ncraters
    for i in range(ncraters):
        bearing = i * bearing_spacing
        distance = i * distance_spacing
        diameter = 50.0 + i * 2.5
        sim.emplace(diameter=diameter, relative_location={"distance": distance, "bearing": bearing})

    # Use the "c" key to show the circle representing the crater
    sim.show3d(variable_name="face_elevation", cmap="cividis")


.. rst-class:: sphx-glr-timing

   **Total running time of the script:** (0 minutes 56.260 seconds)


.. _sphx_glr_download_auto_examples_01-simulation_and_visualization_1.6-emplace_crater_at_distance.py:

.. only:: html

  .. container:: sphx-glr-footer sphx-glr-footer-example

    .. container:: sphx-glr-download sphx-glr-download-jupyter

      :download:`Download Jupyter notebook: 1.6-emplace_crater_at_distance.ipynb <1.6-emplace_crater_at_distance.ipynb>`

    .. container:: sphx-glr-download sphx-glr-download-python

      :download:`Download Python source code: 1.6-emplace_crater_at_distance.py <1.6-emplace_crater_at_distance.py>`

    .. container:: sphx-glr-download sphx-glr-download-zip

      :download:`Download zipped: 1.6-emplace_crater_at_distance.zip <1.6-emplace_crater_at_distance.zip>`


.. only:: html

 .. rst-class:: sphx-glr-signature

    `Gallery generated by Sphinx-Gallery <https://sphinx-gallery.github.io>`_
