code: def observe(self, body):
          
          p, v, t, light_time = body._observe_from_bcrs(self)
          astrometric = Astrometric(p, v, t, observer_data=self.observer_data)
          astrometric.light_time = light_time
          return astrometric
docs: Compute the `Astrometric` position of a body from this location.
  
          To compute the body's astrometric position, it is first asked
          for its position at the time `t` of this position itself.  The
          distance to the body is then divided by the speed of light to
          find how long it takes its light to arrive.  Finally, the light
          travel time is subtracted from `t` and the body is asked for a
          series of increasingly exact positions to learn where it was
          when it emitted the light that is now reaching this position.
  
          >>> earth.at(t).observe(mars)
          <Astrometric position and velocity at date t>