As starting point, lets assume  you want to select features in a layer|set
according to how far they are from features in multiple layer|sets
(For example:  Select all features from layerset A|a  that are at *less *than
X miles from layerset B|b, at *less *than Y miles of layerset C|c , at *more
* than Z miles from layerset D|d and at *more* than K Miles of layerset E|e"

I would create two amcros that lookk like this (Please, consider this
metacode, I have not even tried to compile it)

1)  The first macro would select all features taht are *within *the
vicinity of the reference layer|sets

   Macro "AddToSet_MultiCriteria"  ( sLayerName, sOutputSet, arDists,
arRefLayerSets)
            SetLayer(sLayerName)
            CreateSet(sOutputSet)

           flag = RunMacro("G30 set exist", sOutputSet)
           if !flag then  CreateSet(sOutputSet)

            for i =1 to arSets.length do
                   SelectByVicinity (sOutputset, "MORE", arRefLayerSets[i],
  arDists[i], )
             end
   endMacro

2) The second macro would remove form the output set created by macro 1,
all the records taht are *beyond *given distances

        Macro "RemoveFormSet_Muticriteria"  (sLayerName, sOutputset,
arDists, arRefSets)
             SetLayer(sLayerName)
             for i =1 to to arDists.length do

                     SelectByVicinity (  sTempSet1,
"Several", arRefLayerSets[i],  arDists[i], )
                     SetAND( sTempSet2, { sTempSet1, OutputSet})    //
Select only thsoe records that are members of sOutputSet and are

                        // withi the exclusion distance to refLaySet[i]
                      SetXOR(OutputSet, {sTempset2}
 // Remove from sOutputSet all records that are member stempset2


             end
              DeleteSet(sTempSet1)
              Delete(sTempSet2)
        endmacro


Folloeing our example above you would call both macros in sequence using:

            RunMacro ("AddToSet_MultiCriteria" ,  A, a, {X,Y}, {B|b, C|c})
            RunMacro ("RemoveSet_MultiCriteria" ,  A, a, {X,Y}, {D|d, E|e)


If you have other criteria you would want to use in addition to features
being at a maximum or mimnimum distance of other layer|sets (like selecting
features that are inside predefined polygons, create another macro, with
the correspongind SelectBY... command , like selectByShape())

I hope this helps

Armando


On Wed, Oct 3, 2012 at 3:06 PM, swag_ner_pth <[email protected]> wrote:

> **
>
>
> Do you have any suggestions for how I might create this functionality
> using the GISDK?
>
>
> --- In [email protected], Armando Scalise <armando.scalise@...>
> wrote:
> >
> > The statement "to select only certain sets" needs some clarifying: in MT
> > we do not select sets, we create sets (or add/remove features to/from
> > existing sets) by selecting features according to some criteria. And all
> > criteria must be related to the characteristics of the feature, not of
> the
> > set.
> >
> > The criteria of whether the set a feature belongs to is visible,
> invisble,
> > or hidden is not one you can use in the selection tools. ( The only
> > execption being Select By Condition, which allows you to operate on those
> > features that are located within the current map scope only ... but this
> > is independent of whether the points are visible or hidden, it only
> depends
> > of a characteristic of the feature: being or not within a certain scope).
> >
> > In order to do what you want, and assuming you want to select features
> form
> > multiple sets according to one ore more criteria, one potential approach
> is
> > to make temporary subsets using the criterias of your choice (for
> example,
> > Select By Location) and then applying Combine Selection recurrently to
> get
> > your final set.
> >
> > At any rate, if the combination of sets and criterias is more than just
> > a handful, ( you may very well want to select features from one set based
> > on more than one criteria, like selecting available properties for rent
> > that are away from an industrial area and close enough to a metro station
> > ... and so on) I strongly recommend writing some quick macros with GISDK
> > to avoid painful processing.
> >
> > I hope this helps.
> >
> > Armando
> >
> >
> > On Wed, Sep 26, 2012 at 8:40 PM, swag_ner_pth <swag_ner_pth@...>wrote:
> >
> > > **
>
> > >
> > >
> > > Hello,
> > >
> > > I have several sets created from one layer. What I would like to be
> able
> > > to do is use the select by circle or area tool to select only certain
> sets.
> > > So if I have two sets and one set is on (visible) and the other is off
> > > (invisible or inactive) only the visible sets would be selected.
> > >
> > > I know how to use select by condition but it is faster, easier, and
> more
> > > user friendly to use the area/circle tools.
> > >
> > >
> > >
> >
> >
> >
> > --
> > Armando Scalise
> >
>
>  
>



-- 
Armando Scalise

Reply via email to