Geo-Raster

 view release on metacpan or  search on metacpan

lib/Geo/Raster/Layer/Dialogs.glade  view on Meta::CPAN

                <child>
                  <widget class="GtkLabel" id="label1">
                    <property name="visible">True</property>
                    <property name="label" translatable="yes">Driver:</property>
                  </widget>
                  <packing>
                    <property name="position">0</property>
                  </packing>
                </child>
                <child>
                  <widget class="GtkComboBox" id="copy_driver_combobox">
                    <property name="visible">True</property>
                  </widget>
                  <packing>
                    <property name="position">1</property>
                  </packing>
                </child>
                <child>
                  <widget class="GtkLabel" id="label2">
                    <property name="visible">True</property>
                    <property name="label" translatable="yes">Name:</property>

lib/Geo/Raster/Layer/Dialogs.glade  view on Meta::CPAN

                <child>
                  <widget class="GtkLabel" id="label3">
                    <property name="visible">True</property>
                    <property name="label" translatable="yes">Get region to copy from:</property>
                  </widget>
                  <packing>
                    <property name="position">0</property>
                  </packing>
                </child>
                <child>
                  <widget class="GtkComboBox" id="copy_region_combobox">
                    <property name="visible">True</property>
                  </widget>
                  <packing>
                    <property name="expand">False</property>
                    <property name="position">1</property>
                  </packing>
                </child>
                <child>
                  <placeholder/>
                </child>

lib/Geo/Raster/Layer/Dialogs.glade  view on Meta::CPAN

                  <widget class="GtkLabel" id="label1">
                    <property name="visible">True</property>
                    <property name="label" translatable="yes">Store into layer:</property>
                  </widget>
                  <packing>
                    <property name="expand">False</property>
                    <property name="position">0</property>
                  </packing>
                </child>
                <child>
                  <widget class="GtkComboBoxEntry" id="polygonize_name_comboboxentry">
                    <property name="visible">True</property>
                  </widget>
                  <packing>
                    <property name="position">1</property>
                  </packing>
                </child>
              </widget>
              <packing>
                <property name="expand">False</property>
                <property name="position">0</property>

lib/Geo/Raster/Layer/Dialogs.glade  view on Meta::CPAN

                  <packing>
                    <property name="expand">False</property>
                    <property name="position">0</property>
                  </packing>
                </child>
                <child>
                  <widget class="GtkVBox" id="vbox3">
                    <property name="visible">True</property>
                    <property name="orientation">vertical</property>
                    <child>
                      <widget class="GtkComboBox" id="polygonize_datasource_combobox">
                        <property name="visible">True</property>
                      </widget>
                      <packing>
                        <property name="position">0</property>
                      </packing>
                    </child>
                    <child>
                      <widget class="GtkHBox" id="hbox3">
                        <property name="visible">True</property>
                        <child>

lib/Geo/Raster/Layer/Dialogs.glade  view on Meta::CPAN

                          <packing>
                            <property name="position">1</property>
                          </packing>
                        </child>
                      </widget>
                      <packing>
                        <property name="position">1</property>
                      </packing>
                    </child>
                    <child>
                      <widget class="GtkComboBox" id="polygonize_driver_combobox">
                        <property name="visible">True</property>
                      </widget>
                      <packing>
                        <property name="position">2</property>
                      </packing>
                    </child>
                  </widget>
                  <packing>
                    <property name="expand">False</property>
                    <property name="position">1</property>

lib/Geo/Raster/Layer/Dialogs/Copy.pm  view on Meta::CPAN

	$from->set_completion($auto);

	my $to = $dialog->get_widget('to_EPSG_entry');
	$auto = Gtk2::EntryCompletion->new;
	$auto->set_match_func(sub {1});
	$list = Gtk2::ListStore->new('Glib::String');
	$auto->set_model($list);
	$auto->set_text_column(0);
	$to->set_completion($auto);

	my $combo = $dialog->get_widget('copy_driver_combobox');
	my $renderer = Gtk2::CellRendererText->new;
	$combo->pack_start ($renderer, TRUE);
	$combo->add_attribute ($renderer, text => 0);
	$combo->signal_connect(changed=>\&copy_driver_selected, [$self, $gui]);    
    
	$combo = $dialog->get_widget('copy_region_combobox');
	$renderer = Gtk2::CellRendererText->new;
	$combo->pack_start ($renderer, TRUE);
	$combo->add_attribute ($renderer, text => 0);
	$combo->signal_connect(changed=>\&copy_region_selected, [$self, $gui]);
    
	for ('minx','miny','maxx','maxy','cellsize') {
	    $dialog->get_widget('copy_'.$_.'_entry')->signal_connect(
		changed => 
		sub {
		    my(undef, $self) = @_;
		    return if $self->{_ignore_copy_entry_change};
		    $self->{copy_raster_dialog}->get_widget('copy_region_combobox')->set_active(0);
		    copy_info($self);
		}, $self);
	}
    }

    $dialog->get_widget('copy_progressbar')->set_fraction(0);
	
    my $model = Gtk2::ListStore->new('Glib::String');
    $model->set($model->append, 0, 'libral');
    my @drivers;
    for my $driver (Geo::GDAL::Drivers) {
	next unless $driver->TestCapability('Create');
	my $name = $driver->{ShortName};
	push @drivers, $name;
    }
    for my $driver (sort @drivers) {
	$model->set($model->append, 0, $driver);
    }
    my $combo = $dialog->get_widget('copy_driver_combobox');
    $combo->set_model($model);
    $combo->set_active(0);

    $model = Gtk2::ListStore->new('Glib::String');
    $model->set($model->append, 0, '');
    $model->set($model->append, 0, '<Current view>');
    $model->set($model->append, 0, '<self>');
    my %names;
    for my $layer (@{$gui->{overlay}->{layers}}) {
	my $n = $layer->name();
	$names{$n} = 1;
	next unless $layer->isa('Geo::Raster');
	next if $n eq $self->name();
	$model->set($model->append, 0, $n);
    }
    $combo = $dialog->get_widget('copy_region_combobox');
    $combo->set_model($model);
    $combo->set_active(2);

    copy_region_selected($combo, [$self, $gui]);

    my $i = ord('a'); 
    while ($names{chr($i)}) {$i++}
    my $name = chr($i);
	
    $dialog->get_widget('copy_name_entry')->set_text($name);

lib/Geo/Raster/Layer/Dialogs/Copy.pm  view on Meta::CPAN

	}

	$src = $src->ExportToPrettyWkt;
	$dst = $dst->ExportToPrettyWkt;
    }

    my $name = $dialog->get_widget('copy_name_entry')->get_text();
    my $folder = $dialog->get_widget('copy_folder_entry')->get_text();
    $folder .= '/' if $folder;

    my $combo = $dialog->get_widget('copy_driver_combobox');
    my $iter = $combo->get_active_iter;
    my $driver = $combo->get_model->get($iter);
    $combo = $dialog->get_widget('copy_region_combobox');
    $iter = $combo->get_active_iter;
    my $region = $combo->get_model->get($iter);

    my($new_layer, $src_dataset, $dst_dataset);
    
    # src_dataset
    if ($driver eq 'libral' and !$project) {
	if ($self->{GDAL}) {
	    $new_layer = $self->cache($minx, $miny, $maxx, $maxy, $cellsize);
	} else {

lib/Geo/Raster/Layer/Dialogs/Polygonize.pm  view on Meta::CPAN

	 });
    
    if ($boot) {
	$dialog->get_widget('polygonize_datasource_button')
	    ->signal_connect( clicked=> sub {
		my(undef, $self) = @_;
		my $entry = $self->{polygonize_dialog}->get_widget('polygonize_datasource_entry');
		file_chooser('Select folder', 'select_folder', $entry);
			      }, $self);

	my $combo = $dialog->get_widget('polygonize_driver_combobox');
	my $renderer = Gtk2::CellRendererText->new;
	$combo->pack_start($renderer, TRUE);
	$combo->add_attribute($renderer, text => 0);

	$combo = $dialog->get_widget('polygonize_datasource_combobox');
	$renderer = Gtk2::CellRendererText->new;
	$combo->pack_start($renderer, TRUE);
	$combo->add_attribute($renderer, text => 0);
    }

    my $model = Gtk2::ListStore->new('Glib::String');
    for my $layer (@{$gui->{overlay}->{layers}}) {
	my $n = $layer->name();
	next unless $layer->isa('Geo::Vector');
	next unless $layer->{update};
	next if $n eq $self->name();
	$model->set($model->append, 0, $n);
    }
    my $combo = $dialog->get_widget('polygonize_name_comboboxentry');
    $combo->set_model($model);
    $combo->set_text_column(0);
    $combo->get_child->set_text($self->name.'_polygonized');

    $model = Gtk2::ListStore->new('Glib::String');
    $model->set ($model->append, 0, '');
    for my $datasource (sort keys %{$self->{gui}{resources}{datasources}}) {
	$model->set ($model->append, 0, $datasource);
    }
    $combo = $dialog->get_widget('polygonize_datasource_combobox');
    $combo->set_model($model);
    $combo->set_active(0);

    $model = Gtk2::ListStore->new('Glib::String');
    my $i = 1;
    my $active = 0;
    $model->set($model->append, 0, ''); # create into existing data source 
    for my $driver (Geo::OGR::Drivers) {
	next unless $driver->TestCapability('CreateDataSource');
	my $name = $driver->GetName;
	$active = $i if $name eq 'Memory';
	$model->set($model->append, 0, $name);
	$i++;
    }
    $combo = $dialog->get_widget('polygonize_driver_combobox');
    $combo->set_model($model);
    $combo->set_active($active);

    return $dialog->get_widget('polygonize_dialog');
}

##@ignore
sub do_polygonize {
    my($self, $gui, $close) = @{$_[1]};
    my $dialog = $self->{polygonize_dialog};

    my %params;
    my $into = $dialog->get_widget('polygonize_name_comboboxentry')->get_active_text;
    croak "Store into?" unless $into;
    my $into_layer = $gui->layer($into);
    if ($into_layer) {
	croak $into_layer->name." is not a vector layer" unless $into_layer->isa('Geo::Vector');
	$params{schema} = $into_layer->schema;
    } else {
	my $combo = $dialog->get_widget('polygonize_datasource_combobox');
	my $active = $combo->get_active();
	if ($active > 0) {
	    my $model = $combo->get_model;
	    my $iter = $model->get_iter_from_string($active);
	    my $store = $model->get($iter, 0);
	    $params{data_source} = $self->{gui}{resources}{datasources}{$store};
	} else {
	    $params{data_source} = $dialog->get_widget('polygonize_datasource_entry')->get_text;
	    $params{driver} = $dialog->get_widget('polygonize_driver_combobox')->get_active_text;
	}
	$params{create} = $into;
	my $layers;	
	if ($params{driver} ne 'Memory') {
	    eval {
		$layers = Geo::Vector::layers($params{driver}, $params{data_source});
	    };
	}    
	croak "Data source '$params{data_source}' already contains a layer with name '$params{create}'."
	    if ($layers and $layers->{$params{create}});



( run in 0.725 second using v1.01-cache-2.11-cpan-8dfa8b56332 )