Changes between Version 70 and Version 71 of SandBoxPac


Ignore:
Timestamp:
06/04/09 17:07:32 (16 years ago)
Author:
pacitu
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SandBoxPac

    v70 v71  
    9595 
    9696 
     97{{{ 
     98#!C 
     99   [WebMethod] 
     100    public List<City> SearchStates(string userName, string password, string name) 
     101    { 
     102        IWorkspace workspace = Connect(userName, password); 
     103 
     104        List<City> resCities = new List<City>(); 
     105        IFeatureClass statesClass = (workspace as IFeatureWorkspace).OpenFeatureClass("States"); 
     106        IFeatureClass capitalsClass = (workspace as IFeatureWorkspace).OpenFeatureClass("Capitals"); 
     107        int nameIndex = capitalsClass.FindField("CITY_NAME"); 
     108 
     109        IQueryFilter sfs = new QueryFilterClass(); 
     110        sfs.WhereClause = "STATE_ABBR = '" + name + "'"; 
     111        IFeatureCursor resCursor = statesClass.Search(sfs, true); 
     112 
     113        IFeature state = resCursor.NextFeature(); 
     114        while (state != null) 
     115        { 
     116             
     117            ISpatialFilter sfc = new SpatialFilterClass(); 
     118            IGeometry buffer = state.Shape; 
     119            sfc.Geometry = buffer; 
     120            sfc.SpatialRel = esriSpatialRelEnum.esriSpatialRelEnvelopeIntersects; 
     121 
     122            IFeatureCursor resCursorCy = capitalsClass.Search(sfc, true); 
     123            IFeature capital = resCursorCy.NextFeature(); 
     124 
     125            while (capital != null) 
     126            { 
     127                resCities.Add(new City(capital.get_Value(nameIndex) as string, 0, 0)); 
     128                capital = resCursorCy.NextFeature(); 
     129            } 
     130 
     131            Marshal.ReleaseComObject(resCursorCy); 
     132            state = resCursor.NextFeature(); 
     133        } 
     134 
     135        Marshal.ReleaseComObject(resCursor); 
     136        return resCities; 
     137    } 
     138}}}