def METHOD_NAME(self, which):
    """Spatial model (`~gammapy.modeling.models.SpatialModel`).
    * ``which="KM2A"`` - Sky model for KM2A analysis only.
    * ``which="WCDA"`` - Sky model for WCDA analysis only.
    """
    lat_0 = self._get("DECJ2000", which)
    pars = {"lon_0": self._get("RAJ2000", which), "lat_0": lat_0, "frame": "fk5"}
    pos_err = self._get("pos_err", which)
    scale_r95 = Gauss2DPDF().containment_radius(0.95)
    errs = {
        "lat_0": pos_err / scale_r95,
        "lon_0": pos_err / scale_r95 / np.cos(lat_0),
    }
    r39, is_ul = self._parse("r39", which)
    if not is_ul:
        pars["sigma"] = r39
        model = Model.create("GaussianSpatialModel", "spatial", **pars)
    else:
        model = Model.create("PointSpatialModel", "spatial", **pars)
    for name, value in errs.items():
        model.parameters[name].error = value
    return model