示例#1
0
 def init_attr_values(self):
     super().init_attr_values()
     self.Warning.no_lat_lon_vars.clear()
     self.attr_lat, self.attr_lon = None, None
     domain = self.data.domain if self.data else None
     self.lat_lon_model.set_domain(domain)
     if self.data:
         attr_lat, attr_lon = find_lat_lon(self.data, filter_hidden=True)
         if attr_lat is None or attr_lon is None:
             # we either find both or none
             self.Warning.no_lat_lon_vars()
         else:
             self.attr_lat, self.attr_lon = attr_lat, attr_lon
示例#2
0
    def init_attr_values(self):
        lat, lon = None, None
        if self.data is not None:
            lat, lon = find_lat_lon(self.data, filter_hidden=True)
            if lat is None or lon is None:
                # we either find both or we don't have valid data
                self.Error.no_lat_lon_vars()
                self.data = None
                lat, lon = None, None

        super().init_attr_values()

        self.lat_lon_model.set_domain(self.data.domain if self.data else None)
        self.attr_lat, self.attr_lon = lat, lon
示例#3
0
    def init_attr_values(self):
        self.variable_model.set_domain(self.data.domain if self.data else None)
        self.Error.no_lat_lon_vars.clear()

        if self.variable_model.rowCount() < 2:
            self.Error.no_lat_lon_vars()
            lat, lon = None, None
            self.data = None
        else:
            lat, lon = find_lat_lon(self.data,
                                    filter_hidden=True,
                                    fallback=False)
            if lat is None or lon is None:
                lat, lon = self.variable_model[:2]

        self.attr_lat, self.attr_lon = lat, lon
示例#4
0
    def set_data(self, data):
        self.data = data

        self.closeContext()

        if data is None or not len(data):
            return self.clear()

        domain = data is not None and data.domain
        for model in (self._latlon_model, self._class_model, self._color_model,
                      self._shape_model, self._size_model, self._label_model):
            model.set_domain(domain)

        lat, lon = find_lat_lon(data)
        if lat is not None and lon is not None:
            self._combo_lat.setCurrentIndex(
                -1 if lat is None else self._latlon_model.indexOf(lat))
            self._combo_lon.setCurrentIndex(
                -1 if lat is None else self._latlon_model.indexOf(lon))
            self.lat_attr = lat.name
            self.lon_attr = lon.name

        if data.domain.class_var:
            self.color_attr = data.domain.class_var.name
        elif len(self._color_model):
            self._combo_color.setCurrentIndex(0)
        if len(self._shape_model):
            self._combo_shape.setCurrentIndex(0)
        if len(self._size_model):
            self._combo_size.setCurrentIndex(0)
        if len(self._label_model):
            self._combo_label.setCurrentIndex(0)
        if len(self._class_model):
            self._combo_class.setCurrentIndex(0)

        self.openContext(data)

        self.map.set_data(self.data,
                          self.lat_attr,
                          self.lon_attr,
                          redraw=False)
        self.map.set_marker_color(self.color_attr, update=False)
        self.map.set_marker_label(self.label_attr, update=False)
        self.map.set_marker_shape(self.shape_attr, update=False)
        self.map.set_marker_size(self.size_attr, update=True)
示例#5
0
    def set_data(self, data):
        self.data = data
        self.closeContext()

        if data is None or not len(data):
            self.commit()
            return

        for model in self.domainmodels:
            model.set_domain(data.domain)

        lat, lon = find_lat_lon(data)
        self.lat_attr = lat.name if lat else None
        self.lon_attr = lon.name if lon else None

        self.openContext(data)
        self.mainArea.setVisible(self.is_decoding == 0)
        self.commit()
示例#6
0
    def set_data(self, data):
        self.data = data
        self.closeContext()

        if data is None or not len(data):
            self.commit()
            return

        for model in self.domainmodels:
            model.set_domain(data.domain)

        lat, lon = find_lat_lon(data)
        # if lat: self.controls.lat_attr.setCurrentText(lat.name)
        # if lon: self.controls.lon_attr.setCurrentText(lon.name)
        self.lat_attr = lat.name if lat else None
        self.lon_attr = lon.name if lon else None

        self.openContext(data)
        self.commit()
示例#7
0
    def set_data(self, data):
        self.data = data

        self.closeContext()

        self.clear()

        if data is None:
            return

        self._combo_attr.model().set_domain(data.domain)
        self._latlon_model.set_domain(data.domain)

        lat, lon = find_lat_lon(data)
        if lat or lon:
            self._combo_lat.setCurrentIndex(
                -1 if lat is None else self._latlon_model.indexOf(lat))
            self._combo_lon.setCurrentIndex(
                -1 if lat is None else self._latlon_model.indexOf(lon))
            self.lat_attr = lat.name if lat else None
            self.lon_attr = lon.name if lon else None
            if lat and lon:
                self.latlon = np.c_[
                    self.data.get_column_view(self.lat_attr)[0],
                    self.data.get_column_view(self.lon_attr)[0]]

        if data.domain.class_var:
            self.attr = data.domain.class_var.name
        else:
            self.attr = self._combo_attr.itemText(0)

        self.openContext(data)

        if self.selection:
            self.map.preset_region_selection(self.selection)
        self.aggregate()

        self.map.set_opacity(self.opacity)

        if self.isVisible():
            self.map.fit_to_bounds()
        else:
            self._should_fit_bounds = True
示例#8
0
    def set_data(self, data):
        self.data = data
        self.closeContext()

        if data is None or not len(data):
            self.clear()
            self.commit()
            return

        for model in self.domainmodels:
            model.set_domain(data.domain)

        attr = self.str_attr = guess_region_attr_name(data)
        if attr is None:
            self.is_decoding = 1

        self.lat_attr, self.lon_attr = find_lat_lon(data)

        self.openContext(data)
        self.region_attr_changed()
示例#9
0
    def set_data(self, data):
        self.data = data
        self.closeContext()

        if data is None or not len(data):
            self.clear()
            self.commit()
            return

        for model in self.domainmodels:
            model.set_domain(data.domain)

        attr = self.str_attr = guess_region_attr_name(data)
        if attr is None:
            self.is_decoding = 1

        lat, lon = find_lat_lon(data)
        self.lat_attr = lat.name if lat else None
        self.lon_attr = lon.name if lon else None

        self.openContext(data)
        self.region_attr_changed()
        self.mainArea.setVisible(self.is_decoding == 0
                                 and len(self.replacements))