[GRASS-user] Rectify error / maximum number of GCPs?

Benjamin Deschamps bdesc100 at gmail.com
Mon Mar 23 07:34:21 EDT 2009


Markus,

Its hard to tell. The "rectify" button stays depressed, and I loose  
the capacity to close other windows, add layers, access menus in the  
main interface, etc. Will open a ticket...

Benjamin


On 23-Mar-09, at 3:57 AM, Markus Neteler wrote:

> Benjamin,
>
> On Mon, Mar 23, 2009 at 12:31 AM, Benjamin Deschamps <bdesc100 at gmail.com 
> > wrote:
>> Markus,
>>
>> Changing all instances of "51" to "501" in Application > GRASS 6.4 >
>> Contents > MacOS > etc > gm> georect.tcl fixed the error message,  
>> but GRASS
>> still freezes, and none of the windows work.
>
> Does it really freeze or is it just busy (and badly communicating
> that it is busy)?
>
> Please open a ticket for this with the details we collected so far.
>
>> A look at the activity monitor
>> reveals that the process i.rectify takes 99% of the CPU capacity...  
>> The same
>> happens when I run i.rectify form the command line, but in that  
>> case I have
>> the progress bar to let me know that something is happening.
>
> Right (and i.rectify should use the CPU, no?).
>
>> Using i.group, i.target and i.rectify directly at the command  
>> prompt is now
>> working, so I won't bother with the using the GUI. It just took me  
>> some time
>> to realize that it had to be run from the source location when  
>> using the
>> command line and from the target destination when using the GUI.  
>> Thanks for
>> your help!
>
> No problem - we just need a trace in the bugtracker to not forget
> about it...
>
> thanks
> Markus
>
>> Benjamin
>>
>> On 22-Mar-09, at 3:27 PM, Markus Neteler wrote:
>>
>>> On Sat, Mar 21, 2009 at 1:21 AM, Benjamin Deschamps <bdesc100 at gmail.com 
>>> >
>>> wrote:
>>>>
>>>> I am trying to georectify RADARSAT-2 imagery in GRASS 6.4.0RC3  
>>>> (Mac OS
>>>> 10.5).
>>>> The imagery is accompanied by 350 GCPs. When using the GUI  
>>>> georectify
>>>> tool I
>>>> get the following error when I click on the "start georectifying"  
>>>> button:
>>>>
>>>> can't read "xy(51)": no such element in array
>>>> can't read "xy(51)": no such element in array
>>>>   while executing
>>>> "$xy($gcpnum) insert     0 "[lindex $fields 0] [lindex $fields 1]""
>>>>   (procedure "GRMap::get_gcp" line 34)
>>>>   invoked from within
>>>> "GRMap::get_gcp"
>>>>   (procedure "GRMap::gcpwin" line 119)
>>>>   invoked from within
>>>> "GRMap::gcpwin"
>>>>   (procedure "GRMap::refmap" line 33)
>>>>   invoked from within
>>>> "GRMap::refmap"
>>>>   ("uplevel" body line 1)
>>>>   invoked from within
>>>> "uplevel \#0 $cmd"
>>>>   (procedure "Button::_release" line 18)
>>>>   invoked from within
>>>> "Button::_release .grstart.mf.frame.start.a"
>>>>   (command bound to event)
>>>>
>>>>
>>>> Is there a limit of 50 GCPs?
>>>
>>> It looks like that. But I don't know why (I'm not the author of this
>>> code):
>>>
>>> grep 51 gui/tcltk/gis.m/georect*
>>> gui/tcltk/gis.m/georect.tcl:    for {set gcpnum 1} {$gcpnum < 51 } {
>>> incr gcpnum } {
>>> gui/tcltk/gis.m/georect.tcl:            if {$gcpnum == 51} {break}
>>> gui/tcltk/gis.m/georect.tcl:    for {set gcpnum 1} {$gcpnum < 51 } {
>>> incr gcpnum } {
>>> gui/tcltk/gis.m/georect.tcl:    for {set gcpnum 1} {$gcpnum < 51 } {
>>> incr gcpnum } {
>>> gui/tcltk/gis.m/georect.tcl:            for {set gcpnum 1}  
>>> {$gcpnum <
>>> 51 } { incr gcpnum } {
>>> gui/tcltk/gis.m/georect.tcl:    for {set gcpnum 1} {$gcpnum < 51 } {
>>> incr gcpnum } {
>>>
>>> You could just edit the file (it is in the GRASS installation  
>>> somewhere)
>>> and replace 51 to say, 501 and try again.
>>>
>>> Please report if that works for you.
>>>
>>> Markus
>>
>>



More information about the grass-user mailing list