Hello Armando, I appreciate your effort to help. Unfortunately I see no relation between your pseudo-code and the functionality I need.
--- In [email protected], Armando Scalise <armando.scalise@...> wrote: > > 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 <swag_ner_pth@...> 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 > ------------------------------------ Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/Maptitude/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/Maptitude/join (Yahoo! ID required) <*> To change settings via email: [email protected] [email protected] <*> To unsubscribe from this group, send an email to: [email protected] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
