Purpose |
Restore the centroid of a
region to the position that MI assigns automatically
|
Author | Date of code (original) | Updated on | Date of page (original) | Updated on |
Jacques Paris jacques@paris-pc-gis.com |
11June2002
|
|
11June2002
|
|
Restrictions on use |
This module is distributed under the terms of the Lesser GNU General
Public License. Restrictions on the use of this work in a commercial
application or derivative work is described in the Lesser GNU General
Public License page at:
http://www.fsf.org/copyleft/lesser.html
|
Description |
RestoreCentro() replaces the existing region centroid by the point that would have been assigned automatically by MI, while respecting all the region characteristics (geography, style and data). |
External resources |
none
|
Declare statement of sub_function. Include in your program. Copy/Paste if needed. |
Declare
function RestoreCentro (byval obj_in as object, obj_out as object) as
logical
|
Returned value(s) (function only) |
True if a region. Object with the "new" centroid is obj_out |
Other required declare statement(s). Include in your program. Copy/Paste if needed. |
|
MapBasic Code. Copy/Paste if needed.
|
function restorecentro (byval obj_in as object, obj_out as object) as logical
dim obj_temp, centro as object
if int(objectinfo(obj_in,1)) <> 7 then restorecentro=0 exit function end if
obj_temp=converttopline(obj_in) obj_temp=converttoregion(obj_temp) centro=objectgeography(obj_temp,5) obj_out=obj_in alter object obj_out geography 5,centro restorecentro=1
end function |
Availability for download |
Example |
declare function restorecentro (byval obj_in as object, obj_out as object) as logical declare sub main
sub main
dim o, o_nu as object
o=selection.obj if selectioninfo(3)<>1 then note "Requires a single object selection" exit sub end if
if restorecentro(o, o_nu) then update selection set obj=o_nu end if
end sub |
|
Comments |
Argument obj_geo_centroid (code 5) is officially available since version 6.5. However, the define existed in mapbasic.def since version 5.5. Waiting for confirmation of operationallity for these earliest versions. |
See also |