This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
thinkgeo.mapsuite.core.shapefilefeaturesource [2015/09/18 05:51] admin |
thinkgeo.mapsuite.core.shapefilefeaturesource [2017/03/16 21:59] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== ThinkGeo.MapSuite.Core.ShapeFileFeatureSource ====== | ====== ThinkGeo.MapSuite.Core.ShapeFileFeatureSource ====== | ||
+ | |||
+ | {{section>upgrade_map_suite_to_10.0}} | ||
+ | |||
This class represents a FeatureSource backed by ESRI a Shape File. | This class represents a FeatureSource backed by ESRI a Shape File. | ||
===== Inheritance Hierarchy ===== | ===== Inheritance Hierarchy ===== | ||
Line 9: | Line 12: | ||
** {{wiki:PublicMethod.gif|}} ShapeFileFeatureSource() ** | ** {{wiki:PublicMethod.gif|}} ShapeFileFeatureSource() ** | ||
- | This is the class constructor. | + | * //This is the class constructor.// |
== Remarks == | == Remarks == | ||
- | None | + | * //None// |
== Parameters == | == Parameters == | ||
<div newline></div> | <div newline></div> | ||
** {{wiki:PublicMethod.gif|}} ShapeFileFeatureSource(String) ** | ** {{wiki:PublicMethod.gif|}} ShapeFileFeatureSource(String) ** | ||
- | This is the class constructor. | + | * //This is the class constructor.// |
== Remarks == | == Remarks == | ||
- | None | + | * //None// |
== Parameters == | == Parameters == | ||
* //shapePathFilename// | * //shapePathFilename// | ||
Line 27: | Line 30: | ||
** {{wiki:PublicMethod.gif|}} ShapeFileFeatureSource(String,ShapeFileReadWriteMode) ** | ** {{wiki:PublicMethod.gif|}} ShapeFileFeatureSource(String,ShapeFileReadWriteMode) ** | ||
- | This is the class constructor. | + | * //This is the class constructor.// |
== Remarks == | == Remarks == | ||
- | None | + | * //None// |
== Parameters == | == Parameters == | ||
* //shapePathFilename// | * //shapePathFilename// | ||
Line 42: | Line 45: | ||
** {{wiki:PublicMethod.gif|}} ShapeFileFeatureSource(String,String) ** | ** {{wiki:PublicMethod.gif|}} ShapeFileFeatureSource(String,String) ** | ||
- | This is a constructor for the class. | + | * //This is a constructor for the class.// |
== Remarks == | == Remarks == | ||
- | This constructor allows you to specify the shape file and the index file to use. In some cases you may want to build custom index files or want the index file to have a different name that the shape file. | + | * //This constructor allows you to specify the shape file and the index file to use. In some cases you may want to build custom index files or want the index file to have a different name that the shape file.// |
== Parameters == | == Parameters == | ||
* //shapePathFilename// | * //shapePathFilename// | ||
Line 57: | Line 60: | ||
** {{wiki:PublicMethod.gif|}} ShapeFileFeatureSource(String,String,ShapeFileReadWriteMode) ** | ** {{wiki:PublicMethod.gif|}} ShapeFileFeatureSource(String,String,ShapeFileReadWriteMode) ** | ||
- | This is a constructor for the class. | + | * //This is a constructor for the class.// |
== Remarks == | == Remarks == | ||
- | This constructor allows you to specify the shape file and the index file to use. In some cases you may want to build custom index files or want the index file to have a different name that the shape file. It also allows you to specify is you want to open the files for read or read and write. You will need to open the file for read and write if you plan on doing any editing to the files. | + | * //This constructor allows you to specify the shape file and the index file to use. In some cases you may want to build custom index files or want the index file to have a different name that the shape file. It also allows you to specify is you want to open the files for read or read and write. You will need to open the file for read and write if you plan on doing any editing to the files.// |
== Parameters == | == Parameters == | ||
* //shapePathFilename// | * //shapePathFilename// | ||
Line 76: | Line 79: | ||
** {{wiki:PublicMethod.gif|}} ShapeFileFeatureSource(String,String,ShapeFileReadWriteMode,Encoding) ** | ** {{wiki:PublicMethod.gif|}} ShapeFileFeatureSource(String,String,ShapeFileReadWriteMode,Encoding) ** | ||
- | This is a constructor for the class. | + | * //This is a constructor for the class.// |
== Remarks == | == Remarks == | ||
- | This constructor allows you to specify the shape file and the index file to use. In some cases you may want to build custom index files or want the index file to have a different name that the shape file. It also allows you to specify is you want to open the files for read or read and write. You will need to open the file for read and write if you plan on doing any editing to the files. | + | * //This constructor allows you to specify the shape file and the index file to use. In some cases you may want to build custom index files or want the index file to have a different name that the shape file. It also allows you to specify is you want to open the files for read or read and write. You will need to open the file for read and write if you plan on doing any editing to the files.// |
== Parameters == | == Parameters == | ||
* //shapePathFilename// | * //shapePathFilename// | ||
Line 101: | Line 104: | ||
** {{wiki:PublicMethod.gif|}} GetFeatureIdsForDrawing(RectangleShape,Double,Double) ** | ** {{wiki:PublicMethod.gif|}} GetFeatureIdsForDrawing(RectangleShape,Double,Double) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 125: | Line 128: | ||
** {{wiki:PublicMethod.gif|}} GetDbfColumns() ** | ** {{wiki:PublicMethod.gif|}} GetDbfColumns() ** | ||
- | Get the dbf columns out from the shape file featureSource. | + | * //Get the dbf columns out from the shape file featureSource.// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 137: | Line 140: | ||
** {{wiki:PublicMethod.gif|}} Validate() ** | ** {{wiki:PublicMethod.gif|}} Validate() ** | ||
- | This method checks all features in a shapefile is supported by Mapsuite or not. | + | * //This method checks all features in a shapefile is supported by Mapsuite or not.// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 149: | Line 152: | ||
** {{wiki:PublicMethod.gif|}} AddColumnBoolean(String) ** | ** {{wiki:PublicMethod.gif|}} AddColumnBoolean(String) ** | ||
- | This method adds a new Boolean column to the DBF file associated with the shape file. | + | * //This method adds a new Boolean column to the DBF file associated with the shape file.// |
== Remarks == | == Remarks == | ||
- | None | + | * //None// |
== Return Value == | == Return Value == | ||
Line 165: | Line 168: | ||
** {{wiki:PublicMethod.gif|}} AddColumnDate(String) ** | ** {{wiki:PublicMethod.gif|}} AddColumnDate(String) ** | ||
- | This method adds a new Date column to the DBF file associated with the shape file. | + | * //This method adds a new Date column to the DBF file associated with the shape file.// |
== Remarks == | == Remarks == | ||
- | None | + | * //None// |
== Return Value == | == Return Value == | ||
Line 181: | Line 184: | ||
** {{wiki:PublicMethod.gif|}} AddColumnDouble(String,Int32,Int32) ** | ** {{wiki:PublicMethod.gif|}} AddColumnDouble(String,Int32,Int32) ** | ||
- | This method adds a new Double column to the DBF file associated with the shape file. | + | * //This method adds a new Double column to the DBF file associated with the shape file.// |
== Remarks == | == Remarks == | ||
- | None | + | * //None// |
== Return Value == | == Return Value == | ||
Line 205: | Line 208: | ||
** {{wiki:PublicMethod.gif|}} AddColumnInteger(String,Int32) ** | ** {{wiki:PublicMethod.gif|}} AddColumnInteger(String,Int32) ** | ||
- | This method adds a new Integer column to the DBF file associated with the shape file. | + | * //This method adds a new Integer column to the DBF file associated with the shape file.// |
== Remarks == | == Remarks == | ||
- | None | + | * //None// |
== Return Value == | == Return Value == | ||
Line 225: | Line 228: | ||
** {{wiki:PublicMethod.gif|}} AddColumnMemo(String) ** | ** {{wiki:PublicMethod.gif|}} AddColumnMemo(String) ** | ||
- | This method adds a new Memo column to the DBF file associated with the shape file. | + | * //This method adds a new Memo column to the DBF file associated with the shape file.// |
== Remarks == | == Remarks == | ||
- | This method adds a new Memo column to the DBF file associated with the shape file. Internally the DBF holds an integer column that is a pointer to the data in the memo file. The pointer is measured in 512 byte chunks. Our default decimalDegreesValue for the size of the pointer column is 10 which means you can have 9,999,999,999 pointers to the 512 byte blocks. The ramification of this is that if you have more than this many records and each record uses more then 512 bytes as part of its memo then there will not be enough space for storage. If you have special needs for this please use the other overload that allows you to specify the number of digits you can use for the pointer. | + | * //This method adds a new Memo column to the DBF file associated with the shape file. Internally the DBF holds an integer column that is a pointer to the data in the memo file. The pointer is measured in 512 byte chunks. Our default decimalDegreesValue for the size of the pointer column is 10 which means you can have 9,999,999,999 pointers to the 512 byte blocks. The ramification of this is that if you have more than this many records and each record uses more then 512 bytes as part of its memo then there will not be enough space for storage. If you have special needs for this please use the other overload that allows you to specify the number of digits you can use for the pointer.// |
== Return Value == | == Return Value == | ||
Line 241: | Line 244: | ||
** {{wiki:PublicMethod.gif|}} AddColumnMemo(String,Int32) ** | ** {{wiki:PublicMethod.gif|}} AddColumnMemo(String,Int32) ** | ||
- | This method adds a new Memo column to the DBF file associated with the shape file. | + | * //This method adds a new Memo column to the DBF file associated with the shape file.// |
== Remarks == | == Remarks == | ||
- | This method adds a new Memo column to the DBF file associated with the shape file. Internally the DBF holds an integer column that is a pointer to the data in the memo file. The pointer is measured in 512 byte chunks. Our default decimalDegreesValue for the size of the pointer column is 10 which means you can have 9,999,999,999 pointers to the 512 byte blocks. The ramification of this is that if you have more than this many records and each record uses more than 512 bytes as part of its memo then there will not be enough space for storage. Conversely if you know you have few records then you can decrease this number. A good rule of thumb is to multiply the number of records by the number of 512 byte chunks you expect each record to use and then get the resulting number of digits resulting for the multiplication. Example You have 1,000,000 records and expect to have 4K, 8 chunks of 512 bytes, of memo data for each record. This means you will use multiple 1,000,000 * 8 which is 8,000,000 and then total the number of digits which in this case is 7. Assuming the numbers above a length of 7 will support your needs. | + | * //This method adds a new Memo column to the DBF file associated with the shape file. Internally the DBF holds an integer column that is a pointer to the data in the memo file. The pointer is measured in 512 byte chunks. Our default decimalDegreesValue for the size of the pointer column is 10 which means you can have 9,999,999,999 pointers to the 512 byte blocks. The ramification of this is that if you have more than this many records and each record uses more than 512 bytes as part of its memo then there will not be enough space for storage. Conversely if you know you have few records then you can decrease this number. A good rule of thumb is to multiply the number of records by the number of 512 byte chunks you expect each record to use and then get the resulting number of digits resulting for the multiplication. Example You have 1,000,000 records and expect to have 4K, 8 chunks of 512 bytes, of memo data for each record. This means you will use multiple 1,000,000 * 8 which is 8,000,000 and then total the number of digits which in this case is 7. Assuming the numbers above a length of 7 will support your needs.// |
== Return Value == | == Return Value == | ||
Line 261: | Line 264: | ||
** {{wiki:PublicMethod.gif|}} AddColumnString(String,Int32) ** | ** {{wiki:PublicMethod.gif|}} AddColumnString(String,Int32) ** | ||
- | This method adds a new String column to the DBF file associated with the shape file. | + | * //This method adds a new String column to the DBF file associated with the shape file.// |
== Remarks == | == Remarks == | ||
- | This method adds a new String column to the DBF file associated with the shape file. | + | * //This method adds a new String column to the DBF file associated with the shape file.// |
== Return Value == | == Return Value == | ||
Line 281: | Line 284: | ||
** {{wiki:PublicMethod.gif|}} GetDataFromDbf(String,String) ** | ** {{wiki:PublicMethod.gif|}} GetDataFromDbf(String,String) ** | ||
- | This method gets data directly from the DBF file associated with the shape file. | + | * //This method gets data directly from the DBF file associated with the shape file.// |
== Remarks == | == Remarks == | ||
- | This method gets data directly from the DBF file associated with the shape file. When you specify the Id and column name it will get the decimalDegreesValue from the DBF. | + | * //This method gets data directly from the DBF file associated with the shape file. When you specify the Id and column name it will get the decimalDegreesValue from the DBF.// |
== Return Value == | == Return Value == | ||
Line 301: | Line 304: | ||
** {{wiki:PublicMethod.gif|}} GetDataFromDbf(String) ** | ** {{wiki:PublicMethod.gif|}} GetDataFromDbf(String) ** | ||
- | This method gets data directly from the DBF file associated with the shape file. | + | * //This method gets data directly from the DBF file associated with the shape file.// |
== Remarks == | == Remarks == | ||
- | This method returns a dictionary holding all of the values from the DBF for the Id you specified. In the dictionary the key is the column name and values are the values from the DBF. | + | * //This method returns a dictionary holding all of the values from the DBF for the Id you specified. In the dictionary the key is the column name and values are the values from the DBF.// |
== Return Value == | == Return Value == | ||
Line 317: | Line 320: | ||
** {{wiki:PublicMethod.gif|}} GetDataFromDbf(String,IEnumerable<String>) ** | ** {{wiki:PublicMethod.gif|}} GetDataFromDbf(String,IEnumerable<String>) ** | ||
- | This method gets data directly from the DBF file associated with the shape file. | + | * //This method gets data directly from the DBF file associated with the shape file.// |
== Remarks == | == Remarks == | ||
- | This method returns a dictionary holding all of the values from the DBF for the Id you specified. In the dictionary the key is the column name and values are the values from the DBF. | + | * //This method returns a dictionary holding all of the values from the DBF for the Id you specified. In the dictionary the key is the column name and values are the values from the DBF.// |
== Return Value == | == Return Value == | ||
Line 337: | Line 340: | ||
** {{wiki:PublicMethod.gif|}} GetDataFromDbf(String,ReturningColumnsType) ** | ** {{wiki:PublicMethod.gif|}} GetDataFromDbf(String,ReturningColumnsType) ** | ||
- | This method gets data directly from the DBF file associated with the shape file. | + | * //This method gets data directly from the DBF file associated with the shape file.// |
== Remarks == | == Remarks == | ||
- | This method returns a dictionary holding all of the values from the DBF for the Id you specified. In the dictionary the key is the column name and values are the values from the DBF. | + | * //This method returns a dictionary holding all of the values from the DBF for the Id you specified. In the dictionary the key is the column name and values are the values from the DBF.// |
== Return Value == | == Return Value == | ||
Line 357: | Line 360: | ||
** {{wiki:PublicMethod.gif|}} GetDataFromDbf(IEnumerable<String>) ** | ** {{wiki:PublicMethod.gif|}} GetDataFromDbf(IEnumerable<String>) ** | ||
- | This method gets data directly from the DBF file associated with the shape file. | + | * //This method gets data directly from the DBF file associated with the shape file.// |
== Remarks == | == Remarks == | ||
- | This method returns a collection of dictionary holding all of the values from the DBF for the Ids you specified. In the dictionary the key is the column name and values are the values from the DBF. | + | * //This method returns a collection of dictionary holding all of the values from the DBF for the Ids you specified. In the dictionary the key is the column name and values are the values from the DBF.// |
== Return Value == | == Return Value == | ||
Line 373: | Line 376: | ||
** {{wiki:PublicMethod.gif|}} GetDataFromDbf(IEnumerable<String>,String) ** | ** {{wiki:PublicMethod.gif|}} GetDataFromDbf(IEnumerable<String>,String) ** | ||
- | This method gets data directly from the DBF file associated with the shape file. | + | * //This method gets data directly from the DBF file associated with the shape file.// |
== Remarks == | == Remarks == | ||
- | This method returns a collection of dictionary holding all of the values from the DBF for the Ids you specified. In the dictionary the key is the column name and values are the values from the DBF. | + | * //This method returns a collection of dictionary holding all of the values from the DBF for the Ids you specified. In the dictionary the key is the column name and values are the values from the DBF.// |
== Return Value == | == Return Value == | ||
Line 393: | Line 396: | ||
** {{wiki:PublicMethod.gif|}} GetDataFromDbf(IEnumerable<String>,IEnumerable<String>) ** | ** {{wiki:PublicMethod.gif|}} GetDataFromDbf(IEnumerable<String>,IEnumerable<String>) ** | ||
- | This method gets data directly from the DBF file associated with the shape file. | + | * //This method gets data directly from the DBF file associated with the shape file.// |
== Remarks == | == Remarks == | ||
- | This method returns a collection of dictionary holding all of the values from the DBF for the Ids you specified. In the dictionary the key is the column name and values are the values from the DBF. | + | * //This method returns a collection of dictionary holding all of the values from the DBF for the Ids you specified. In the dictionary the key is the column name and values are the values from the DBF.// |
== Return Value == | == Return Value == | ||
Line 413: | Line 416: | ||
** {{wiki:PublicMethod.gif|}} GetDataFromDbf(IEnumerable<String>,ReturningColumnsType) ** | ** {{wiki:PublicMethod.gif|}} GetDataFromDbf(IEnumerable<String>,ReturningColumnsType) ** | ||
- | This method gets data directly from the DBF file associated with the shape file. | + | * //This method gets data directly from the DBF file associated with the shape file.// |
== Remarks == | == Remarks == | ||
- | This method returns a collection of dictionary holding all of the values from the DBF for the Ids you specified. In the dictionary the key is the column name and values are the values from the DBF. | + | * //This method returns a collection of dictionary holding all of the values from the DBF for the Ids you specified. In the dictionary the key is the column name and values are the values from the DBF.// |
== Return Value == | == Return Value == | ||
Line 433: | Line 436: | ||
** {{wiki:PublicMethod.gif|}} UpdateDbfData(String,String,String) ** | ** {{wiki:PublicMethod.gif|}} UpdateDbfData(String,String,String) ** | ||
- | This method updates data in the DBF file associated with the shape file. | + | * //This method updates data in the DBF file associated with the shape file.// |
== Remarks == | == Remarks == | ||
- | None | + | * //None// |
== Return Value == | == Return Value == | ||
Line 457: | Line 460: | ||
** {{wiki:PublicMethod.gif|}} UpdateDbfData(String,IEnumerable<String>,IEnumerable<String>) ** | ** {{wiki:PublicMethod.gif|}} UpdateDbfData(String,IEnumerable<String>,IEnumerable<String>) ** | ||
- | This method updates data in the DBF file associated with the shape file. | + | * //This method updates data in the DBF file associated with the shape file.// |
== Remarks == | == Remarks == | ||
- | None | + | * //None// |
== Return Value == | == Return Value == | ||
Line 481: | Line 484: | ||
** {{wiki:PublicMethod.gif|}} GetShapeFileType() ** | ** {{wiki:PublicMethod.gif|}} GetShapeFileType() ** | ||
- | Get shape file type for the shape file featureSource. | + | * //Get shape file type for the shape file featureSource.// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 493: | Line 496: | ||
** {{wiki:PublicMethod.gif|}} GetBoundingBox() ** | ** {{wiki:PublicMethod.gif|}} GetBoundingBox() ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 505: | Line 508: | ||
** {{wiki:PublicMethod.gif|}} CloneDeep() ** | ** {{wiki:PublicMethod.gif|}} CloneDeep() ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 517: | Line 520: | ||
** {{wiki:PublicMethod.gif|}} Open() ** | ** {{wiki:PublicMethod.gif|}} Open() ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 529: | Line 532: | ||
** {{wiki:PublicMethod.gif|}} Close() ** | ** {{wiki:PublicMethod.gif|}} Close() ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 541: | Line 544: | ||
** {{wiki:PublicMethod.gif|}} BeginTransaction() ** | ** {{wiki:PublicMethod.gif|}} BeginTransaction() ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 553: | Line 556: | ||
** {{wiki:PublicMethod.gif|}} AddFeature(Feature) ** | ** {{wiki:PublicMethod.gif|}} AddFeature(Feature) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 569: | Line 572: | ||
** {{wiki:PublicMethod.gif|}} AddFeature(BaseShape) ** | ** {{wiki:PublicMethod.gif|}} AddFeature(BaseShape) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 585: | Line 588: | ||
** {{wiki:PublicMethod.gif|}} AddFeature(BaseShape,IDictionary<String,String>) ** | ** {{wiki:PublicMethod.gif|}} AddFeature(BaseShape,IDictionary<String,String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 605: | Line 608: | ||
** {{wiki:PublicMethod.gif|}} DeleteFeature(String) ** | ** {{wiki:PublicMethod.gif|}} DeleteFeature(String) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 621: | Line 624: | ||
** {{wiki:PublicMethod.gif|}} UpdateFeature(Feature) ** | ** {{wiki:PublicMethod.gif|}} UpdateFeature(Feature) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 637: | Line 640: | ||
** {{wiki:PublicMethod.gif|}} UpdateFeature(BaseShape) ** | ** {{wiki:PublicMethod.gif|}} UpdateFeature(BaseShape) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 653: | Line 656: | ||
** {{wiki:PublicMethod.gif|}} UpdateFeature(BaseShape,IDictionary<String,String>) ** | ** {{wiki:PublicMethod.gif|}} UpdateFeature(BaseShape,IDictionary<String,String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 673: | Line 676: | ||
** {{wiki:PublicMethod.gif|}} RollbackTransaction() ** | ** {{wiki:PublicMethod.gif|}} RollbackTransaction() ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 685: | Line 688: | ||
** {{wiki:PublicMethod.gif|}} CommitTransaction() ** | ** {{wiki:PublicMethod.gif|}} CommitTransaction() ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 697: | Line 700: | ||
** {{wiki:PublicMethod.gif|}} AddColumn(FeatureSourceColumn) ** | ** {{wiki:PublicMethod.gif|}} AddColumn(FeatureSourceColumn) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 713: | Line 716: | ||
** {{wiki:PublicMethod.gif|}} DeleteColumn(String) ** | ** {{wiki:PublicMethod.gif|}} DeleteColumn(String) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 729: | Line 732: | ||
** {{wiki:PublicMethod.gif|}} UpdateColumn(String,FeatureSourceColumn) ** | ** {{wiki:PublicMethod.gif|}} UpdateColumn(String,FeatureSourceColumn) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 749: | Line 752: | ||
** {{wiki:PublicMethod.gif|}} GetAllFeatures(IEnumerable<String>) ** | ** {{wiki:PublicMethod.gif|}} GetAllFeatures(IEnumerable<String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 765: | Line 768: | ||
** {{wiki:PublicMethod.gif|}} GetAllFeatures(ReturningColumnsType) ** | ** {{wiki:PublicMethod.gif|}} GetAllFeatures(ReturningColumnsType) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 781: | Line 784: | ||
** {{wiki:PublicMethod.gif|}} GetFeaturesOutsideBoundingBox(RectangleShape,IEnumerable<String>) ** | ** {{wiki:PublicMethod.gif|}} GetFeaturesOutsideBoundingBox(RectangleShape,IEnumerable<String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 801: | Line 804: | ||
** {{wiki:PublicMethod.gif|}} GetFeaturesOutsideBoundingBox(RectangleShape,ReturningColumnsType) ** | ** {{wiki:PublicMethod.gif|}} GetFeaturesOutsideBoundingBox(RectangleShape,ReturningColumnsType) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 821: | Line 824: | ||
** {{wiki:PublicMethod.gif|}} GetFeaturesInsideBoundingBox(RectangleShape,IEnumerable<String>) ** | ** {{wiki:PublicMethod.gif|}} GetFeaturesInsideBoundingBox(RectangleShape,IEnumerable<String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 835: | Line 838: | ||
* //returningColumnNames// | * //returningColumnNames// | ||
+ | * Type:IEnumerable<String> | ||
+ | * Description:N/A | ||
+ | |||
+ | <div newline></div> | ||
+ | ** {{wiki:PublicMethod.gif|}} GetFeaturesInsideBoundingBox(RectangleShape,IEnumerable<String>,IEnumerable<String>) ** | ||
+ | |||
+ | * //N/A// | ||
+ | == Remarks == | ||
+ | * //N/A// | ||
+ | |||
+ | == Return Value == | ||
+ | * Type:Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]> | ||
+ | * Description:N/A | ||
+ | |||
+ | == Parameters == | ||
+ | * //boundingBox// | ||
+ | * Type:[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] | ||
+ | * Description:N/A | ||
+ | |||
+ | * //returningColumnNames// | ||
+ | * Type:IEnumerable<String> | ||
+ | * Description:N/A | ||
+ | |||
+ | * //filters// | ||
* Type:IEnumerable<String> | * Type:IEnumerable<String> | ||
* Description:N/A | * Description:N/A | ||
Line 841: | Line 868: | ||
** {{wiki:PublicMethod.gif|}} GetFeaturesInsideBoundingBox(RectangleShape,ReturningColumnsType) ** | ** {{wiki:PublicMethod.gif|}} GetFeaturesInsideBoundingBox(RectangleShape,ReturningColumnsType) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 861: | Line 888: | ||
** {{wiki:PublicMethod.gif|}} GetFeaturesForDrawing(RectangleShape,Double,Double,IEnumerable<String>,IEnumerable<String>) ** | ** {{wiki:PublicMethod.gif|}} GetFeaturesForDrawing(RectangleShape,Double,Double,IEnumerable<String>,IEnumerable<String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 893: | Line 920: | ||
** {{wiki:PublicMethod.gif|}} ApplyFilters(IEnumerable<Feature>,IEnumerable<String>,IEnumerable<String>) ** | ** {{wiki:PublicMethod.gif|}} ApplyFilters(IEnumerable<Feature>,IEnumerable<String>,IEnumerable<String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 917: | Line 944: | ||
** {{wiki:PublicMethod.gif|}} GetFeaturesForDrawing(RectangleShape,Double,Double,IEnumerable<String>) ** | ** {{wiki:PublicMethod.gif|}} GetFeaturesForDrawing(RectangleShape,Double,Double,IEnumerable<String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 945: | Line 972: | ||
** {{wiki:PublicMethod.gif|}} GetFeaturesForDrawing(RectangleShape,Double,Double,ReturningColumnsType) ** | ** {{wiki:PublicMethod.gif|}} GetFeaturesForDrawing(RectangleShape,Double,Double,ReturningColumnsType) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 973: | Line 1000: | ||
** {{wiki:PublicMethod.gif|}} SpatialQuery(BaseShape,QueryType,IEnumerable<String>) ** | ** {{wiki:PublicMethod.gif|}} SpatialQuery(BaseShape,QueryType,IEnumerable<String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 997: | Line 1024: | ||
** {{wiki:PublicMethod.gif|}} SpatialQuery(BaseShape,QueryType,IEnumerable<String>,IEnumerable<String>) ** | ** {{wiki:PublicMethod.gif|}} SpatialQuery(BaseShape,QueryType,IEnumerable<String>,IEnumerable<String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1025: | Line 1052: | ||
** {{wiki:PublicMethod.gif|}} SpatialQuery(BaseShape,QueryType,ReturningColumnsType) ** | ** {{wiki:PublicMethod.gif|}} SpatialQuery(BaseShape,QueryType,ReturningColumnsType) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1049: | Line 1076: | ||
** {{wiki:PublicMethod.gif|}} SpatialQuery(Feature,QueryType,IEnumerable<String>) ** | ** {{wiki:PublicMethod.gif|}} SpatialQuery(Feature,QueryType,IEnumerable<String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1073: | Line 1100: | ||
** {{wiki:PublicMethod.gif|}} SpatialQuery(Feature,QueryType,ReturningColumnsType) ** | ** {{wiki:PublicMethod.gif|}} SpatialQuery(Feature,QueryType,ReturningColumnsType) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1097: | Line 1124: | ||
** {{wiki:PublicMethod.gif|}} GetFeaturesNearestTo(BaseShape,GeographyUnit,Int32,IEnumerable<String>) ** | ** {{wiki:PublicMethod.gif|}} GetFeaturesNearestTo(BaseShape,GeographyUnit,Int32,IEnumerable<String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1125: | Line 1152: | ||
** {{wiki:PublicMethod.gif|}} GetFeaturesNearestTo(BaseShape,GeographyUnit,Int32,ReturningColumnsType) ** | ** {{wiki:PublicMethod.gif|}} GetFeaturesNearestTo(BaseShape,GeographyUnit,Int32,ReturningColumnsType) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1153: | Line 1180: | ||
** {{wiki:PublicMethod.gif|}} GetFeaturesNearestTo(Feature,GeographyUnit,Int32,IEnumerable<String>) ** | ** {{wiki:PublicMethod.gif|}} GetFeaturesNearestTo(Feature,GeographyUnit,Int32,IEnumerable<String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1181: | Line 1208: | ||
** {{wiki:PublicMethod.gif|}} GetFeaturesNearestTo(Feature,GeographyUnit,Int32,ReturningColumnsType) ** | ** {{wiki:PublicMethod.gif|}} GetFeaturesNearestTo(Feature,GeographyUnit,Int32,ReturningColumnsType) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1209: | Line 1236: | ||
** {{wiki:PublicMethod.gif|}} GetFeaturesNearestTo(BaseShape,GeographyUnit,Int32,IEnumerable<String>,Double,DistanceUnit) ** | ** {{wiki:PublicMethod.gif|}} GetFeaturesNearestTo(BaseShape,GeographyUnit,Int32,IEnumerable<String>,Double,DistanceUnit) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1245: | Line 1272: | ||
** {{wiki:PublicMethod.gif|}} GetFeaturesNearestTo(Feature,GeographyUnit,Int32,IEnumerable<String>,Double,DistanceUnit) ** | ** {{wiki:PublicMethod.gif|}} GetFeaturesNearestTo(Feature,GeographyUnit,Int32,IEnumerable<String>,Double,DistanceUnit) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1281: | Line 1308: | ||
** {{wiki:PublicMethod.gif|}} GetFeaturesWithinDistanceOf(BaseShape,GeographyUnit,DistanceUnit,Double,IEnumerable<String>) ** | ** {{wiki:PublicMethod.gif|}} GetFeaturesWithinDistanceOf(BaseShape,GeographyUnit,DistanceUnit,Double,IEnumerable<String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1313: | Line 1340: | ||
** {{wiki:PublicMethod.gif|}} GetFeaturesWithinDistanceOf(BaseShape,GeographyUnit,DistanceUnit,Double,ReturningColumnsType) ** | ** {{wiki:PublicMethod.gif|}} GetFeaturesWithinDistanceOf(BaseShape,GeographyUnit,DistanceUnit,Double,ReturningColumnsType) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1345: | Line 1372: | ||
** {{wiki:PublicMethod.gif|}} GetFeaturesWithinDistanceOf(Feature,GeographyUnit,DistanceUnit,Double,IEnumerable<String>) ** | ** {{wiki:PublicMethod.gif|}} GetFeaturesWithinDistanceOf(Feature,GeographyUnit,DistanceUnit,Double,IEnumerable<String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1377: | Line 1404: | ||
** {{wiki:PublicMethod.gif|}} GetFeaturesWithinDistanceOf(Feature,GeographyUnit,DistanceUnit,Double,ReturningColumnsType) ** | ** {{wiki:PublicMethod.gif|}} GetFeaturesWithinDistanceOf(Feature,GeographyUnit,DistanceUnit,Double,ReturningColumnsType) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1409: | Line 1436: | ||
** {{wiki:PublicMethod.gif|}} GetFeatureById(String,IEnumerable<String>) ** | ** {{wiki:PublicMethod.gif|}} GetFeatureById(String,IEnumerable<String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1429: | Line 1456: | ||
** {{wiki:PublicMethod.gif|}} GetFeatureById(String,ReturningColumnsType) ** | ** {{wiki:PublicMethod.gif|}} GetFeatureById(String,ReturningColumnsType) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1449: | Line 1476: | ||
** {{wiki:PublicMethod.gif|}} GetFeaturesByIds(IEnumerable<String>,IEnumerable<String>,IEnumerable<String>) ** | ** {{wiki:PublicMethod.gif|}} GetFeaturesByIds(IEnumerable<String>,IEnumerable<String>,IEnumerable<String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1473: | Line 1500: | ||
** {{wiki:PublicMethod.gif|}} GetFeaturesByIds(IEnumerable<String>,IEnumerable<String>) ** | ** {{wiki:PublicMethod.gif|}} GetFeaturesByIds(IEnumerable<String>,IEnumerable<String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1493: | Line 1520: | ||
** {{wiki:PublicMethod.gif|}} GetFeaturesByIds(IEnumerable<String>,ReturningColumnsType) ** | ** {{wiki:PublicMethod.gif|}} GetFeaturesByIds(IEnumerable<String>,ReturningColumnsType) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1513: | Line 1540: | ||
** {{wiki:PublicMethod.gif|}} GetBoundingBoxById(String) ** | ** {{wiki:PublicMethod.gif|}} GetBoundingBoxById(String) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1529: | Line 1556: | ||
** {{wiki:PublicMethod.gif|}} GetBoundingBoxByIds(IEnumerable<String>) ** | ** {{wiki:PublicMethod.gif|}} GetBoundingBoxByIds(IEnumerable<String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1545: | Line 1572: | ||
** {{wiki:PublicMethod.gif|}} GetBoundingBoxesByIds(IEnumerable<String>) ** | ** {{wiki:PublicMethod.gif|}} GetBoundingBoxesByIds(IEnumerable<String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1561: | Line 1588: | ||
** {{wiki:PublicMethod.gif|}} GetFirstFeaturesWellKnownType() ** | ** {{wiki:PublicMethod.gif|}} GetFirstFeaturesWellKnownType() ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1573: | Line 1600: | ||
** {{wiki:PublicMethod.gif|}} CanGetBoundingBoxQuickly() ** | ** {{wiki:PublicMethod.gif|}} CanGetBoundingBoxQuickly() ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1585: | Line 1612: | ||
** {{wiki:PublicMethod.gif|}} CanGetCountQuickly() ** | ** {{wiki:PublicMethod.gif|}} CanGetCountQuickly() ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1597: | Line 1624: | ||
** {{wiki:PublicMethod.gif|}} GetDistinctColumnValues(String) ** | ** {{wiki:PublicMethod.gif|}} GetDistinctColumnValues(String) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1613: | Line 1640: | ||
** {{wiki:PublicMethod.gif|}} GetAllFeatures(ReturningColumnsType,Int32) ** | ** {{wiki:PublicMethod.gif|}} GetAllFeatures(ReturningColumnsType,Int32) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1633: | Line 1660: | ||
** {{wiki:PublicMethod.gif|}} GetAllFeatures(ReturningColumnsType,Int32,Int32) ** | ** {{wiki:PublicMethod.gif|}} GetAllFeatures(ReturningColumnsType,Int32,Int32) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1657: | Line 1684: | ||
** {{wiki:PublicMethod.gif|}} GetAllFeatures(IEnumerable<String>,Int32,Int32) ** | ** {{wiki:PublicMethod.gif|}} GetAllFeatures(IEnumerable<String>,Int32,Int32) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1681: | Line 1708: | ||
** {{wiki:PublicMethod.gif|}} ExecuteNonQuery(String) ** | ** {{wiki:PublicMethod.gif|}} ExecuteNonQuery(String) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1697: | Line 1724: | ||
** {{wiki:PublicMethod.gif|}} GetFeaturesByColumnValue(String,String,ReturningColumnsType) ** | ** {{wiki:PublicMethod.gif|}} GetFeaturesByColumnValue(String,String,ReturningColumnsType) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1721: | Line 1748: | ||
** {{wiki:PublicMethod.gif|}} GetFeaturesByColumnValue(String,String,IEnumerable<String>) ** | ** {{wiki:PublicMethod.gif|}} GetFeaturesByColumnValue(String,String,IEnumerable<String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1745: | Line 1772: | ||
** {{wiki:PublicMethod.gif|}} GetFeaturesByColumnValue(String,String) ** | ** {{wiki:PublicMethod.gif|}} GetFeaturesByColumnValue(String,String) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1765: | Line 1792: | ||
** {{wiki:PublicMethod.gif|}} ExecuteScalar(String) ** | ** {{wiki:PublicMethod.gif|}} ExecuteScalar(String) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1781: | Line 1808: | ||
** {{wiki:PublicMethod.gif|}} ExecuteQuery(String) ** | ** {{wiki:PublicMethod.gif|}} ExecuteQuery(String) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1797: | Line 1824: | ||
** {{wiki:PublicMethod.gif|}} GetColumns() ** | ** {{wiki:PublicMethod.gif|}} GetColumns() ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1809: | Line 1836: | ||
** {{wiki:PublicMethod.gif|}} RefreshColumns() ** | ** {{wiki:PublicMethod.gif|}} RefreshColumns() ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1821: | Line 1848: | ||
** {{wiki:PublicMethod.gif|}} GetCount() ** | ** {{wiki:PublicMethod.gif|}} GetCount() ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1833: | Line 1860: | ||
** {{wiki:PublicMethod.gif|}} ToString() ** | ** {{wiki:PublicMethod.gif|}} ToString() ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1845: | Line 1872: | ||
** {{wiki:PublicMethod.gif|}} Equals(Object) ** | ** {{wiki:PublicMethod.gif|}} Equals(Object) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1861: | Line 1888: | ||
** {{wiki:PublicMethod.gif|}} GetHashCode() ** | ** {{wiki:PublicMethod.gif|}} GetHashCode() ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1873: | Line 1900: | ||
** {{wiki:PublicMethod.gif|}} GetType() ** | ** {{wiki:PublicMethod.gif|}} GetType() ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1885: | Line 1912: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} Rebuild(String) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} Rebuild(String) ** | ||
- | This method rebuilds the SHP, SHX, DBF, IDX and IDS files for the given shape file. | + | * //This method rebuilds the SHP, SHX, DBF, IDX and IDS files for the given shape file.// |
== Remarks == | == Remarks == | ||
- | This method rebuilds the SHP, SHX, DBF, IDX and IDS files for the given shape file. When we do editing we have optimized the updates so that we do not need to rebuild the entire shape file. This leads to the shape file being out of order which may cause it not to open in other tools. One optimization is if you update a record instead of rebuilding a new shape file we mark the old record as null and add the edited record at the end of the shape file. This greatly increases the speed of committing shape file changes but will over time unorder the shape file. In addition we do a delete the DBF file will simply mark the record deleted and not compact the space. Rebuilding the shape file will correctly order the SPX and SHX along with compacting the DBF file and rebuild any index with the same any of the shape file if it exists. Note that if you have build custom index files where the name of the index differs from that of the shape file you will need to rebuild those manually using the BuildIndex methods. | + | * //This method rebuilds the SHP, SHX, DBF, IDX and IDS files for the given shape file. When we do editing we have optimized the updates so that we do not need to rebuild the entire shape file. This leads to the shape file being out of order which may cause it not to open in other tools. One optimization is if you update a record instead of rebuilding a new shape file we mark the old record as null and add the edited record at the end of the shape file. This greatly increases the speed of committing shape file changes but will over time unorder the shape file. In addition we do a delete the DBF file will simply mark the record deleted and not compact the space. Rebuilding the shape file will correctly order the SPX and SHX along with compacting the DBF file and rebuild any index with the same any of the shape file if it exists. Note that if you have build custom index files where the name of the index differs from that of the shape file you will need to rebuild those manually using the BuildIndex methods.// |
== Return Value == | == Return Value == | ||
Line 1901: | Line 1928: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} Rebuild(String,ShapeFileSortingMode,Int32) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} Rebuild(String,ShapeFileSortingMode,Int32) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 1925: | Line 1952: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildIndexFile(String) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildIndexFile(String) ** | ||
- | This method build a spatial index for the shape file which increases access speed. | + | * //This method build a spatial index for the shape file which increases access speed.// |
== Remarks == | == Remarks == | ||
- | This overload builds an index file with the same name as the shape file with only the extension being different. It will not do a rebuild if there is an existing index. | + | * //This overload builds an index file with the same name as the shape file with only the extension being different. It will not do a rebuild if there is an existing index.// |
== Return Value == | == Return Value == | ||
Line 1941: | Line 1968: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildIndexFile(String,BuildIndexMode) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildIndexFile(String,BuildIndexMode) ** | ||
- | This method build a spatial index for the shape file which increases access speed. | + | * //This method build a spatial index for the shape file which increases access speed.// |
== Remarks == | == Remarks == | ||
- | This overload builds an index file with the same name as the shape file with only the extension being different. You can also specify if you want to rebuild an existing index file. | + | * //This overload builds an index file with the same name as the shape file with only the extension being different. You can also specify if you want to rebuild an existing index file.// |
== Return Value == | == Return Value == | ||
Line 1961: | Line 1988: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildIndexFile(String,String,BuildIndexMode) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildIndexFile(String,String,BuildIndexMode) ** | ||
- | This method build a spatial index for the shape file which increases access speed. | + | * //This method build a spatial index for the shape file which increases access speed.// |
== Remarks == | == Remarks == | ||
- | This overload builds an index file with the same name as the shape file with only the extension being different. You can also specify if you want to rebuild an existing index file. | + | * //This overload builds an index file with the same name as the shape file with only the extension being different. You can also specify if you want to rebuild an existing index file.// |
== Return Value == | == Return Value == | ||
Line 1985: | Line 2012: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildIndexFile(String,String,Projection,BuildIndexMode) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildIndexFile(String,String,Projection,BuildIndexMode) ** | ||
- | This method build a spatial index for the shape file which increases access speed. | + | * //This method build a spatial index for the shape file which increases access speed.// |
== Remarks == | == Remarks == | ||
- | This overload builds an index file with the specified index file name and only build Index for those records satisfied the regularExpression. You can also specify if you want to rebuild an existing index file. | + | * //This overload builds an index file with the specified index file name and only build Index for those records satisfied the regularExpression. You can also specify if you want to rebuild an existing index file.// |
== Return Value == | == Return Value == | ||
Line 2013: | Line 2040: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildIndexFile(String,String,String,String,BuildIndexMode) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildIndexFile(String,String,String,String,BuildIndexMode) ** | ||
- | This method build a spatial index for the shape file which increases access speed. | + | * //This method build a spatial index for the shape file which increases access speed.// |
== Remarks == | == Remarks == | ||
- | This overload builds an index file with the specified index file name and only build Index for those records satisfied the regularExpression. You can also specify if you want to rebuild an existing index file. | + | * //This overload builds an index file with the specified index file name and only build Index for those records satisfied the regularExpression. You can also specify if you want to rebuild an existing index file.// |
== Return Value == | == Return Value == | ||
Line 2045: | Line 2072: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildIndexFile(String,String,Projection,String,String,BuildIndexMode) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildIndexFile(String,String,Projection,String,String,BuildIndexMode) ** | ||
- | This method build a spatial index for the shape file which increases access speed. | + | * //This method build a spatial index for the shape file which increases access speed.// |
== Remarks == | == Remarks == | ||
- | This overload builds an index file with the specified index file name and only build Index for those records satisfied the regularExpression. You can also specify if you want to rebuild an existing index file. | + | * //This overload builds an index file with the specified index file name and only build Index for those records satisfied the regularExpression. You can also specify if you want to rebuild an existing index file.// |
== Return Value == | == Return Value == | ||
Line 2081: | Line 2108: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildIndexFile(String,String,Projection,String,String,BuildIndexMode,Encoding) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildIndexFile(String,String,Projection,String,String,BuildIndexMode,Encoding) ** | ||
- | This method build a spatial index for the shape file which increases access speed. | + | * //This method build a spatial index for the shape file which increases access speed.// |
== Remarks == | == Remarks == | ||
- | This overload builds an index file with the specified index file name and only build Index for those records satisfied the regularExpression. You can also specify if you want to rebuild an existing index file. | + | * //This overload builds an index file with the specified index file name and only build Index for those records satisfied the regularExpression. You can also specify if you want to rebuild an existing index file.// |
== Return Value == | == Return Value == | ||
Line 2121: | Line 2148: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildIndexFile(IEnumerable<Feature>,String) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildIndexFile(IEnumerable<Feature>,String) ** | ||
- | This method build a spatial index for a passed group of featurs which increases access speed. | + | * //This method build a spatial index for a passed group of featurs which increases access speed.// |
== Remarks == | == Remarks == | ||
- | This overload builds an index file with the specified index file name for a group of passed in features. | + | * //This overload builds an index file with the specified index file name for a group of passed in features.// |
== Return Value == | == Return Value == | ||
Line 2141: | Line 2168: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildIndexFile(IEnumerable<Feature>,String,Projection) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildIndexFile(IEnumerable<Feature>,String,Projection) ** | ||
- | This method build a spatial index for a passed group of featurs using the specified projection which increases access speed. | + | * //This method build a spatial index for a passed group of featurs using the specified projection which increases access speed.// |
== Remarks == | == Remarks == | ||
- | This overload builds an index file with the specified index file name for a group of passed in features. | + | * //This overload builds an index file with the specified index file name for a group of passed in features.// |
== Return Value == | == Return Value == | ||
Line 2165: | Line 2192: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildIndexFile(IEnumerable<Feature>,String,BuildIndexMode) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildIndexFile(IEnumerable<Feature>,String,BuildIndexMode) ** | ||
- | This method build a spatial index for a passed group of featurs which increases access speed. | + | * //This method build a spatial index for a passed group of featurs which increases access speed.// |
== Remarks == | == Remarks == | ||
- | This overload builds an index file with the specified index file name for a group of passed in features. | + | * //This overload builds an index file with the specified index file name for a group of passed in features.// |
== Return Value == | == Return Value == | ||
Line 2189: | Line 2216: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildIndexFile(IEnumerable<Feature>,String,Projection,BuildIndexMode) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildIndexFile(IEnumerable<Feature>,String,Projection,BuildIndexMode) ** | ||
- | This method build a spatial index for a passed group of featurs which increases access speed. | + | * //This method build a spatial index for a passed group of featurs which increases access speed.// |
== Remarks == | == Remarks == | ||
- | This overload builds an index file with the specified index file name for a group of passed in features. | + | * //This overload builds an index file with the specified index file name for a group of passed in features.// |
== Return Value == | == Return Value == | ||
Line 2217: | Line 2244: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} GetValidColumns(IEnumerable<DbfColumn>) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} GetValidColumns(IEnumerable<DbfColumn>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 2233: | Line 2260: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} GetValidColumns(IEnumerable<DbfColumn>,Encoding) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} GetValidColumns(IEnumerable<DbfColumn>,Encoding) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 2253: | Line 2280: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} GetValidColumnNames(IEnumerable<String>) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} GetValidColumnNames(IEnumerable<String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 2269: | Line 2296: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} GetValidColumnNames(IEnumerable<String>,Encoding) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} GetValidColumnNames(IEnumerable<String>,Encoding) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 2289: | Line 2316: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} CreateShapeFile(ShapeFileType,String,IEnumerable<DbfColumn>) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} CreateShapeFile(ShapeFileType,String,IEnumerable<DbfColumn>) ** | ||
- | Static API to create a new shape file. | + | * //Static API to create a new shape file.// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 2313: | Line 2340: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} CreateShapeFile(ShapeFileType,String,IEnumerable<DbfColumn>,Encoding) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} CreateShapeFile(ShapeFileType,String,IEnumerable<DbfColumn>,Encoding) ** | ||
- | Static API to create a new shape file. | + | * //Static API to create a new shape file.// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 2341: | Line 2368: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} CreateShapeFile(ShapeFileType,String,IEnumerable<DbfColumn>,Encoding,OverwriteMode) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} CreateShapeFile(ShapeFileType,String,IEnumerable<DbfColumn>,Encoding,OverwriteMode) ** | ||
- | Static API to create a new shape file. | + | * //Static API to create a new shape file.// |
== Remarks == | == Remarks == | ||
- | Exception will be thown when the target shape file exist while the override mode is set to DoNotOverwrite. | + | * //Exception will be thown when the target shape file exist while the override mode is set to DoNotOverwrite.// |
== Return Value == | == Return Value == | ||
Line 2373: | Line 2400: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} CloneShapeFileStructure(String,String) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} CloneShapeFileStructure(String,String) ** | ||
- | Clone out the structure from the source shape file to the target shape file. After cloning the structure, the targetShapeFile has the same type and same dbf columns with the source shape file but without any records in it. | + | * //Clone out the structure from the source shape file to the target shape file. After cloning the structure, the targetShapeFile has the same type and same dbf columns with the source shape file but without any records in it.// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 2393: | Line 2420: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} CloneShapeFileStructure(String,String,OverwriteMode) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} CloneShapeFileStructure(String,String,OverwriteMode) ** | ||
- | Clone out the structure from the source shape file to the target shape file. After cloning the structure, the targetShapeFile has the same type and same dbf columns with the source shape file but without any records in it. | + | * //Clone out the structure from the source shape file to the target shape file. After cloning the structure, the targetShapeFile has the same type and same dbf columns with the source shape file but without any records in it.// |
== Remarks == | == Remarks == | ||
- | Exception will be thown when the target shape file not extis while the override mode is set to DoNotOverwrite. | + | * //Exception will be thown when the target shape file not extis while the override mode is set to DoNotOverwrite.// |
== Return Value == | == Return Value == | ||
Line 2417: | Line 2444: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} CloneShapeFileStructure(String,String,OverwriteMode,Encoding) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} CloneShapeFileStructure(String,String,OverwriteMode,Encoding) ** | ||
- | Clone out the structure from the source shape file to the target shape file. After cloning the structure, the targetShapeFile has the same type and same dbf columns with the source shape file but without any records in it. | + | * //Clone out the structure from the source shape file to the target shape file. After cloning the structure, the targetShapeFile has the same type and same dbf columns with the source shape file but without any records in it.// |
== Remarks == | == Remarks == | ||
- | Exception will be thown when the target shape file not extis while the override mode is set to DoNotOverwrite. | + | * //Exception will be thown when the target shape file not extis while the override mode is set to DoNotOverwrite.// |
== Return Value == | == Return Value == | ||
Line 2445: | Line 2472: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildRecordIdColumn(String,String,BuildRecordIdMode) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildRecordIdColumn(String,String,BuildRecordIdMode) ** | ||
- | Static API used to build RecordId, the id should start from 0 by default. | + | * //Static API used to build RecordId, the id should start from 0 by default.// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 2469: | Line 2496: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildRecordIdColumn(String,String,BuildRecordIdMode,Int32) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildRecordIdColumn(String,String,BuildRecordIdMode,Int32) ** | ||
- | Static API used to build RecordId from the specified starting id number. | + | * //Static API used to build RecordId from the specified starting id number.// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 2497: | Line 2524: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildRecordIdColumn(String,String,BuildRecordIdMode,Int32,Encoding) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} BuildRecordIdColumn(String,String,BuildRecordIdMode,Int32,Encoding) ** | ||
- | Static API used to build RecordId from the specified starting id number. | + | * //Static API used to build RecordId from the specified starting id number.// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 2529: | Line 2556: | ||
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} SaveToProjection(String,String,Projection,OverwriteMode) ** | ** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} SaveToProjection(String,String,Projection,OverwriteMode) ** | ||
- | This API provide a easy way to project features in a shape file into another projection and save it to shape file. | + | * //This API provide a easy way to project features in a shape file into another projection and save it to shape file.// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 2558: | Line 2585: | ||
** {{wiki:ProtectedMethod.gif|}} CloseCore() ** | ** {{wiki:ProtectedMethod.gif|}} CloseCore() ** | ||
- | This method opens the FeatureSource so that it is initialized and ready to use. | + | * //This method opens the FeatureSource so that it is initialized and ready to use.// |
== Remarks == | == Remarks == | ||
- | This protected virtual method is called from the concreate public method Close. The close method plays an important role in the life cycle of the FeatureSource. It may be called after drawing to release any memory and other resources that were allocated since the Open method was called. It is recommended that if you override this method that you take the following things into account. This method may be called multiple times so we suggest you write the so that that a call to a closed FeatureSource is ignored and does not generate an error. We also suggest that in the close you free all resources that have been opened. Remember that the object will not be destroyed but will be re-opened possibly in the near future. | + | * //This protected virtual method is called from the concreate public method Close. The close method plays an important role in the life cycle of the FeatureSource. It may be called after drawing to release any memory and other resources that were allocated since the Open method was called. It is recommended that if you override this method that you take the following things into account. This method may be called multiple times so we suggest you write the so that that a call to a closed FeatureSource is ignored and does not generate an error. We also suggest that in the close you free all resources that have been opened. Remember that the object will not be destroyed but will be re-opened possibly in the near future.// |
== Return Value == | == Return Value == | ||
Line 2570: | Line 2597: | ||
** {{wiki:ProtectedMethod.gif|}} CommitTransactionCore(TransactionBuffer) ** | ** {{wiki:ProtectedMethod.gif|}} CommitTransactionCore(TransactionBuffer) ** | ||
- | This method will commit the existing transaction to its underlying source of data. | + | * //This method will commit the existing transaction to its underlying source of data.// |
== Remarks == | == Remarks == | ||
- | This method will commit the existing transaction to its underlying source of data. It will pass back the results of how the commit went to include any error received. If you are implementing your own FeatureSource then this is one of the crucial methods you must create. It should be fairly straight forward that you will loop through the transaction buffer and add, edit or delete the InternalFeatures in your underlying data source. Remember to build and pass back the TransactionResult class so that users of your FeatureSource can respond to failures you may encounter committing the InternalFeatures. We will handle the end of the transaction and also the cleanup of the transaction buffer. Your task will be to commit the records and produce a TransactionResult return.The Transaction SystemThe transaction system of a FeatureSource sits on top of the inherited implementation of any specific source such as Oracle Spatial or Shape files. In this way it functions the same way for every FeatureSource. You start by calling the BeginTransaction. This allocates a collection of in memory change buffers that are used to store changes until you commit the transaction. So for example when you call the Add, Delete or Update method the changes to the feature are stored in memory only. If for any reason you choose to abandon the transaction you can call RollbackTransaction at any time and the in memory buffer will be deleted and the changes will be lost. When you are ready to commit the transaction you call the CommitTransaction and the collections of changes are then passed to the CommitTransactionCore method and the implementer of the specific FeatureSource is responsible for integrating your changes into the underlying FeatureSource. By default the IsLiveTransaction property is set to false which means that until you commit the changes the FeatureSource API will not reflect any changes that are in the temporary editing buffer.In the case where the IsLiveTransaction is set to true then things function slightly differently. The live transaction concept means that all of the modification you perform during a transaction are live from the standpoint of the querying methods on the object.To setup an example imagine that you have a FeatureSource that has 10 records in it. Next you begin a transaction and then call GetAllFeatures, the result would be 10 records. After that you call a delete on one of the records and call the GetAllFeatures again, this time you only get nine records. You receive nine records even though the transaction has not yet been committed. In the same sense you could have added a new record or modified an existing one and those changes are considered live though not committed.In the case where you modify records such as expanding the size of a polygon those changes as well are reflected. So for example you expand a polygon by doubling its size and then do a spatial query that would not normally return the smaller record but would return the larger records, in this case the larger record is returned. You can set this property to be false as well in which case all of the spatial related methods would ignore anything that is currently in the transaction buffer waiting to be committed. In this case only after committing the transaction would the FeatureSource reflect the changes. | + | * //This method will commit the existing transaction to its underlying source of data. It will pass back the results of how the commit went to include any error received. If you are implementing your own FeatureSource then this is one of the crucial methods you must create. It should be fairly straight forward that you will loop through the transaction buffer and add, edit or delete the InternalFeatures in your underlying data source. Remember to build and pass back the TransactionResult class so that users of your FeatureSource can respond to failures you may encounter committing the InternalFeatures. We will handle the end of the transaction and also the cleanup of the transaction buffer. Your task will be to commit the records and produce a TransactionResult return.The Transaction SystemThe transaction system of a FeatureSource sits on top of the inherited implementation of any specific source such as Oracle Spatial or Shape files. In this way it functions the same way for every FeatureSource. You start by calling the BeginTransaction. This allocates a collection of in memory change buffers that are used to store changes until you commit the transaction. So for example when you call the Add, Delete or Update method the changes to the feature are stored in memory only. If for any reason you choose to abandon the transaction you can call RollbackTransaction at any time and the in memory buffer will be deleted and the changes will be lost. When you are ready to commit the transaction you call the CommitTransaction and the collections of changes are then passed to the CommitTransactionCore method and the implementer of the specific FeatureSource is responsible for integrating your changes into the underlying FeatureSource. By default the IsLiveTransaction property is set to false which means that until you commit the changes the FeatureSource API will not reflect any changes that are in the temporary editing buffer.In the case where the IsLiveTransaction is set to true then things function slightly differently. The live transaction concept means that all of the modification you perform during a transaction are live from the standpoint of the querying methods on the object.To setup an example imagine that you have a FeatureSource that has 10 records in it. Next you begin a transaction and then call GetAllFeatures, the result would be 10 records. After that you call a delete on one of the records and call the GetAllFeatures again, this time you only get nine records. You receive nine records even though the transaction has not yet been committed. In the same sense you could have added a new record or modified an existing one and those changes are considered live though not committed.In the case where you modify records such as expanding the size of a polygon those changes as well are reflected. So for example you expand a polygon by doubling its size and then do a spatial query that would not normally return the smaller record but would return the larger records, in this case the larger record is returned. You can set this property to be false as well in which case all of the spatial related methods would ignore anything that is currently in the transaction buffer waiting to be committed. In this case only after committing the transaction would the FeatureSource reflect the changes.// |
== Return Value == | == Return Value == | ||
Line 2586: | Line 2613: | ||
** {{wiki:ProtectedMethod.gif|}} GetAllFeaturesCore(IEnumerable<String>) ** | ** {{wiki:ProtectedMethod.gif|}} GetAllFeaturesCore(IEnumerable<String>) ** | ||
- | This method returns all of the InternalFeatures in the FeatureSource. | + | * //This method returns all of the InternalFeatures in the FeatureSource.// |
== Remarks == | == Remarks == | ||
- | This method returns all of the InternalFeatures in the FeatureSource. You will not need to consider anything about pending transactions as this will be handled in the non Core version of the method. The main purpose of this method is to be the anchor of all of our default virtual implementations within this class. We wanted as the framework developers to provide you the user with as much default virtual implementation as possible. To do this we needed a way to get access to all of the features. For example, we want to create a default implementation for finding all of the InternalFeatures in a bounding box. Because this is an abstract class we do not know the specifics of the underlying data or how its spatial indexes work. What we do know is that if we get all the records then we can brute force the answer. In this way if you inherited form this class and only implemented this one method we can provide default implementations for virtually every other API. While this is nice for you the developer if you decide to create your own FeatureSource it comes with a price. The price is that it is very inefficient. In the case we just discussed about finding all of the InternalFeatures in a bounding box we would not want to look at every record to fulfil this method. Instead we would want to override the GetFeaturesInsideBoundingBoxCore and implement specific code that would be fast. For example in Oracle Spatial there is a specific SQL statement to do this operation very quickly. The same holds true with other specific FeatureSource examples. Most default implementations in the FeatureSource call the GetFeaturesInsideBoundingBoxCore which by default calls the GetAllFeaturesCore. It is our advice that if you create your own FeatureSource that you ALWAYS override the GetFeatureInsideBoundingBox. It will ensure that nearly every other API will operate efficiently. Please see the specific API to determine what method it uses. | + | * //This method returns all of the InternalFeatures in the FeatureSource. You will not need to consider anything about pending transactions as this will be handled in the non Core version of the method. The main purpose of this method is to be the anchor of all of our default virtual implementations within this class. We wanted as the framework developers to provide you the user with as much default virtual implementation as possible. To do this we needed a way to get access to all of the features. For example, we want to create a default implementation for finding all of the InternalFeatures in a bounding box. Because this is an abstract class we do not know the specifics of the underlying data or how its spatial indexes work. What we do know is that if we get all the records then we can brute force the answer. In this way if you inherited form this class and only implemented this one method we can provide default implementations for virtually every other API. While this is nice for you the developer if you decide to create your own FeatureSource it comes with a price. The price is that it is very inefficient. In the case we just discussed about finding all of the InternalFeatures in a bounding box we would not want to look at every record to fulfil this method. Instead we would want to override the GetFeaturesInsideBoundingBoxCore and implement specific code that would be fast. For example in Oracle Spatial there is a specific SQL statement to do this operation very quickly. The same holds true with other specific FeatureSource examples. Most default implementations in the FeatureSource call the GetFeaturesInsideBoundingBoxCore which by default calls the GetAllFeaturesCore. It is our advice that if you create your own FeatureSource that you ALWAYS override the GetFeatureInsideBoundingBox. It will ensure that nearly every other API will operate efficiently. Please see the specific API to determine what method it uses.// |
== Return Value == | == Return Value == | ||
Line 2602: | Line 2629: | ||
** {{wiki:ProtectedMethod.gif|}} GetColumnsCore() ** | ** {{wiki:ProtectedMethod.gif|}} GetColumnsCore() ** | ||
- | This method returns the columns available for the FeatureSource. | + | * //This method returns the columns available for the FeatureSource.// |
== Remarks == | == Remarks == | ||
- | As this is the abstract core version of the Columns method it is intended to be overridden in inherited version of the class. When overriding you will be responsible for getting a list of all of the columns supported by the FeatureSource. In this way the FeatureSource will know what columns are available and will remove any extra columns when making calls to other core methods. For example if you have a FeatureSource that has three columns of information and the user calls a method and requests four columns of information, something they can do with custom fields, we will first compare what they are asking for to the results of the GetColumnsCore. In this way we can strip out custom columns before calling other Core methods which are only responsible for returning data in the FeatureSource. For more information on custom fields you can see the documentation on the OnCustomFieldsFetch. | + | * //As this is the abstract core version of the Columns method it is intended to be overridden in inherited version of the class. When overriding you will be responsible for getting a list of all of the columns supported by the FeatureSource. In this way the FeatureSource will know what columns are available and will remove any extra columns when making calls to other core methods. For example if you have a FeatureSource that has three columns of information and the user calls a method and requests four columns of information, something they can do with custom fields, we will first compare what they are asking for to the results of the GetColumnsCore. In this way we can strip out custom columns before calling other Core methods which are only responsible for returning data in the FeatureSource. For more information on custom fields you can see the documentation on the OnCustomFieldsFetch.// |
== Return Value == | == Return Value == | ||
Line 2614: | Line 2641: | ||
** {{wiki:ProtectedMethod.gif|}} GetBoundingBoxCore() ** | ** {{wiki:ProtectedMethod.gif|}} GetBoundingBoxCore() ** | ||
- | This method returns the bounding box which encompasses all of the features in the FeatureSource. | + | * //This method returns the bounding box which encompasses all of the features in the FeatureSource.// |
== Remarks == | == Remarks == | ||
- | This protected virtual method is called from the concreate public method GetBoundingBox. It does not take into account any transaction activity as this is the responsibility of the concreate public method GetBoundingBox. In this way as a developer if you choose to override this method you do not have to consider transaction at all. The default implementation of GetBoundingBoxCore uses the GetAllRecordsCore method to calculate the bounding box of the FeatureSource. We strongly recommend that you provide your own implementation for this method that will be more efficient If you do not override this method the means it gets the BoundingBox is by calling the GetAllFeatureCore method and deriving it from each feature. This is a very inefficient way to get the BoundingBox in most data sources. It is highly recommended that you override this method and replace it with a highly optimized version. For example in a ShapeFile the BoundingBox is in the main header of the file. Similarly if you are using Oracle Spatial you can execute a simple query to get the BoundingBox of all of the record without returning them. In these ways you can greatly improve the performance of this method. | + | * //This protected virtual method is called from the concreate public method GetBoundingBox. It does not take into account any transaction activity as this is the responsibility of the concreate public method GetBoundingBox. In this way as a developer if you choose to override this method you do not have to consider transaction at all. The default implementation of GetBoundingBoxCore uses the GetAllRecordsCore method to calculate the bounding box of the FeatureSource. We strongly recommend that you provide your own implementation for this method that will be more efficient If you do not override this method the means it gets the BoundingBox is by calling the GetAllFeatureCore method and deriving it from each feature. This is a very inefficient way to get the BoundingBox in most data sources. It is highly recommended that you override this method and replace it with a highly optimized version. For example in a ShapeFile the BoundingBox is in the main header of the file. Similarly if you are using Oracle Spatial you can execute a simple query to get the BoundingBox of all of the record without returning them. In these ways you can greatly improve the performance of this method.// |
== Return Value == | == Return Value == | ||
Line 2626: | Line 2653: | ||
** {{wiki:ProtectedMethod.gif|}} GetBoundingBoxByIdCore(String) ** | ** {{wiki:ProtectedMethod.gif|}} GetBoundingBoxByIdCore(String) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 2642: | Line 2669: | ||
** {{wiki:ProtectedMethod.gif|}} GetFeaturesOutsideBoundingBoxCore(RectangleShape,IEnumerable<String>) ** | ** {{wiki:ProtectedMethod.gif|}} GetFeaturesOutsideBoundingBoxCore(RectangleShape,IEnumerable<String>) ** | ||
- | This method returns all of the InternalFeatures of this FeatureSource outside of the specified bounding box. | + | * //This method returns all of the InternalFeatures of this FeatureSource outside of the specified bounding box.// |
== Remarks == | == Remarks == | ||
- | This method returns all of the InternalFeatures of this FeatureSource outside of the specified bounding box. If you are in a transaction and that transaction is live then it will also take that into consideration. The default implementation of GetFeaturesOutsideBoundingBoxCore uses the GetAllRecordsCore method to determine which InternalFeatures are outside of the bounding box. We strongly recommend that you provide your own implementation for this method that will be more efficient | + | * //This method returns all of the InternalFeatures of this FeatureSource outside of the specified bounding box. If you are in a transaction and that transaction is live then it will also take that into consideration. The default implementation of GetFeaturesOutsideBoundingBoxCore uses the GetAllRecordsCore method to determine which InternalFeatures are outside of the bounding box. We strongly recommend that you provide your own implementation for this method that will be more efficient// |
== Return Value == | == Return Value == | ||
Line 2662: | Line 2689: | ||
** {{wiki:ProtectedMethod.gif|}} GetFeaturesInsideBoundingBoxCore(RectangleShape,IEnumerable<String>) ** | ** {{wiki:ProtectedMethod.gif|}} GetFeaturesInsideBoundingBoxCore(RectangleShape,IEnumerable<String>) ** | ||
- | This method returns all of the InternalFeatures of this FeatureSource inside of the specified bounding box. | + | * //This method returns all of the InternalFeatures of this FeatureSource inside of the specified bounding box.// |
== Remarks == | == Remarks == | ||
- | This method returns all of the InternalFeatures of this FeatureSource inside of the specified bounding box. If you are overriding this method you will not need to consider anything about transactions as this is handled by the concreate version of this method. The default implementation of GetFeaturesInsideBoundingBoxCore uses the GetAllRecordsCore method to determine which InternalFeatures are inside of the bounding box. We strongly recommend that you provide your own implementation for this method that will be more efficient. It is especially important for this method as many other default virtual methods use this for their calculations. We highly recommend when you override this method that you use any spatial indexes you have at your disposal to make this method as fast as possible. | + | * //This method returns all of the InternalFeatures of this FeatureSource inside of the specified bounding box. If you are overriding this method you will not need to consider anything about transactions as this is handled by the concreate version of this method. The default implementation of GetFeaturesInsideBoundingBoxCore uses the GetAllRecordsCore method to determine which InternalFeatures are inside of the bounding box. We strongly recommend that you provide your own implementation for this method that will be more efficient. It is especially important for this method as many other default virtual methods use this for their calculations. We highly recommend when you override this method that you use any spatial indexes you have at your disposal to make this method as fast as possible.// |
== Return Value == | == Return Value == | ||
Line 2682: | Line 2709: | ||
** {{wiki:ProtectedMethod.gif|}} GetFeaturesByColumnValueCore(String,String,IEnumerable<String>) ** | ** {{wiki:ProtectedMethod.gif|}} GetFeaturesByColumnValueCore(String,String,IEnumerable<String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 2706: | Line 2733: | ||
** {{wiki:ProtectedMethod.gif|}} GetFeatureIdsForDrawingCore(RectangleShape,Double,Double) ** | ** {{wiki:ProtectedMethod.gif|}} GetFeatureIdsForDrawingCore(RectangleShape,Double,Double) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 2730: | Line 2757: | ||
** {{wiki:ProtectedMethod.gif|}} GetFeaturesForDrawingCore(RectangleShape,Double,Double,IEnumerable<String>) ** | ** {{wiki:ProtectedMethod.gif|}} GetFeaturesForDrawingCore(RectangleShape,Double,Double,IEnumerable<String>) ** | ||
- | This method returns the InternalFeatures that will be used for drawing. | + | * //This method returns the InternalFeatures that will be used for drawing.// |
== Remarks == | == Remarks == | ||
- | This method returns all of the InternalFeatures of this FeatureSource inside of the specified bounding box. If you are overriding this method you will not need to consider anything about transactions as this is handled by the concreate version of this method. The default implementation of GetFeaturesForDrawingCore uses the GetFeaturesInsodeBoundingBoxCore with some optimizations based on the screen width and height. For example we can determine is a feature is going to draw in only one to four pixels and in that case we may not draw the entire feature but just a subset. | + | * //This method returns all of the InternalFeatures of this FeatureSource inside of the specified bounding box. If you are overriding this method you will not need to consider anything about transactions as this is handled by the concreate version of this method. The default implementation of GetFeaturesForDrawingCore uses the GetFeaturesInsodeBoundingBoxCore with some optimizations based on the screen width and height. For example we can determine is a feature is going to draw in only one to four pixels and in that case we may not draw the entire feature but just a subset.// |
== Return Value == | == Return Value == | ||
Line 2758: | Line 2785: | ||
** {{wiki:ProtectedMethod.gif|}} GetFeaturesByIdsCore(IEnumerable<String>,IEnumerable<String>) ** | ** {{wiki:ProtectedMethod.gif|}} GetFeaturesByIdsCore(IEnumerable<String>,IEnumerable<String>) ** | ||
- | This method returns a collection of InternalFeatures by providing a group of Ids. | + | * //This method returns a collection of InternalFeatures by providing a group of Ids.// |
== Remarks == | == Remarks == | ||
- | This method returns a collection of InternalFeatures by providing a group of Ids. The internal implementation calls the GetAllFeaturesCore. Because of this if you want an efficient version of this method then we high suggest you override the GetFeaturesByIdsCore method and provide a fast way to find a group of InternalFeatures by their Id. | + | * //This method returns a collection of InternalFeatures by providing a group of Ids. The internal implementation calls the GetAllFeaturesCore. Because of this if you want an efficient version of this method then we high suggest you override the GetFeaturesByIdsCore method and provide a fast way to find a group of InternalFeatures by their Id.// |
== Return Value == | == Return Value == | ||
Line 2778: | Line 2805: | ||
** {{wiki:ProtectedMethod.gif|}} GetCountCore() ** | ** {{wiki:ProtectedMethod.gif|}} GetCountCore() ** | ||
- | This method returns the count of the number of records in this FeatureSource. | + | * //This method returns the count of the number of records in this FeatureSource.// |
== Remarks == | == Remarks == | ||
- | This protected virtual method is called from the concreate public method GetCount. It does not take into account any transaction activity as this is the responsibility of the concreate public method GetCount. In this way as a developer if you choose to override this method you do not have to consider transaction at all. The default implementation of GetCountCore uses the GetAllRecordsCore method to calculate how many records there are in the FeatureSource. We strongly recommend that you provide your own implementation for this method that will be more efficient If you do not override this method the means it gets the count is by calling the GetAllFeatureCore method and counting each feature. This is a very inefficient way to get the count in most data sources. It is highly recommended that you override this method and replace it with a highly optimized version. For example in a ShapeFile the record count is in the main header of the file. Similarly if you are using Oracle Spatial you can execute a simple query to get the count of all of the record without returning them. In these ways you can greatly improve the performance of this method. | + | * //This protected virtual method is called from the concreate public method GetCount. It does not take into account any transaction activity as this is the responsibility of the concreate public method GetCount. In this way as a developer if you choose to override this method you do not have to consider transaction at all. The default implementation of GetCountCore uses the GetAllRecordsCore method to calculate how many records there are in the FeatureSource. We strongly recommend that you provide your own implementation for this method that will be more efficient If you do not override this method the means it gets the count is by calling the GetAllFeatureCore method and counting each feature. This is a very inefficient way to get the count in most data sources. It is highly recommended that you override this method and replace it with a highly optimized version. For example in a ShapeFile the record count is in the main header of the file. Similarly if you are using Oracle Spatial you can execute a simple query to get the count of all of the record without returning them. In these ways you can greatly improve the performance of this method.// |
== Return Value == | == Return Value == | ||
Line 2790: | Line 2817: | ||
** {{wiki:ProtectedMethod.gif|}} CanGetCountQuicklyCore() ** | ** {{wiki:ProtectedMethod.gif|}} CanGetCountQuicklyCore() ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 2802: | Line 2829: | ||
** {{wiki:ProtectedMethod.gif|}} GetFirstFeaturesWellKnownTypeCore() ** | ** {{wiki:ProtectedMethod.gif|}} GetFirstFeaturesWellKnownTypeCore() ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 2814: | Line 2841: | ||
** {{wiki:ProtectedMethod.gif|}} GetDistinctColumnValuesCore(String) ** | ** {{wiki:ProtectedMethod.gif|}} GetDistinctColumnValuesCore(String) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 2830: | Line 2857: | ||
** {{wiki:ProtectedMethod.gif|}} GetAllFeaturesCore(IEnumerable<String>,Int32,Int32) ** | ** {{wiki:ProtectedMethod.gif|}} GetAllFeaturesCore(IEnumerable<String>,Int32,Int32) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 2854: | Line 2881: | ||
** {{wiki:ProtectedMethod.gif|}} CloneDeepCore() ** | ** {{wiki:ProtectedMethod.gif|}} CloneDeepCore() ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 2866: | Line 2893: | ||
** {{wiki:ProtectedMethod.gif|}} OnStreamLoading(StreamLoadingEventArgs) ** | ** {{wiki:ProtectedMethod.gif|}} OnStreamLoading(StreamLoadingEventArgs) ** | ||
- | This method allows you to raise the StreamLoading event. | + | * //This method allows you to raise the StreamLoading event.// |
== Remarks == | == Remarks == | ||
- | This method allows you to raise the StreamLoading event. Normally events are not accessible to derived classes so we exposed a way to raise the event is necessary through this protected method. | + | * //This method allows you to raise the StreamLoading event. Normally events are not accessible to derived classes so we exposed a way to raise the event is necessary through this protected method.// |
== Return Value == | == Return Value == | ||
Line 2882: | Line 2909: | ||
** {{wiki:ProtectedMethod.gif|}} ExecuteNonQueryCore(String) ** | ** {{wiki:ProtectedMethod.gif|}} ExecuteNonQueryCore(String) ** | ||
- | This method executes a SQL query that does returns only a result of the number of record affected. | + | * //This method executes a SQL query that does returns only a result of the number of record affected.// |
== Remarks == | == Remarks == | ||
- | This method executes a SQL query that does returns only a result of the number of record affected. Note that for the table name in the SQL query you need to use the shape file name without the SHP extension. | + | * //This method executes a SQL query that does returns only a result of the number of record affected. Note that for the table name in the SQL query you need to use the shape file name without the SHP extension.// |
== Return Value == | == Return Value == | ||
Line 2898: | Line 2925: | ||
** {{wiki:ProtectedMethod.gif|}} ExecuteScalarCore(String) ** | ** {{wiki:ProtectedMethod.gif|}} ExecuteScalarCore(String) ** | ||
- | Executes the query and returns the first column of the first row in the result set returned by the query. All other columns and rows are ignored. | + | * //Executes the query and returns the first column of the first row in the result set returned by the query. All other columns and rows are ignored.// |
== Remarks == | == Remarks == | ||
- | Use the ExcuteScalar method to retrieve a single value from the database. This reaquires less code than use the ExcuteQuery method and performing the operations necessary to generate the single value using the data. | + | * //Use the ExcuteScalar method to retrieve a single value from the database. This reaquires less code than use the ExcuteQuery method and performing the operations necessary to generate the single value using the data.// |
== Return Value == | == Return Value == | ||
Line 2914: | Line 2941: | ||
** {{wiki:ProtectedMethod.gif|}} ExecuteQueryCore(String) ** | ** {{wiki:ProtectedMethod.gif|}} ExecuteQueryCore(String) ** | ||
- | This method returns a DataTable based on the SQL statement you provided. | + | * //This method returns a DataTable based on the SQL statement you provided.// |
== Remarks == | == Remarks == | ||
- | This method returns a DataTable based on the SQL statement you provided. | + | * //This method returns a DataTable based on the SQL statement you provided.// |
== Return Value == | == Return Value == | ||
Line 2930: | Line 2957: | ||
** {{wiki:ProtectedMethod.gif|}} OpenCore() ** | ** {{wiki:ProtectedMethod.gif|}} OpenCore() ** | ||
- | This method opens the FeatureSource so that it is initialized and ready to use. | + | * //This method opens the FeatureSource so that it is initialized and ready to use.// |
== Remarks == | == Remarks == | ||
- | This protected virtual method is called from the concreate public method Open. The open method play an important role as it is responsible for initializing the FeatureSource. Most methods on the FeatureSource will throw an exception if the state of the FeatureSource is not opened. When the map draws each layer it will open the FeatureSource as one of its first steps, then after it is finished drawing with that layer it will close it. In this way we are sure to release all resources used by the FeatureSource. When implementing this abstract method consider opening files for file based source, connecting to databases in the database based sources and so on. You will get a chance to close these in the Close method of the FeatureSource. | + | * //This protected virtual method is called from the concreate public method Open. The open method play an important role as it is responsible for initializing the FeatureSource. Most methods on the FeatureSource will throw an exception if the state of the FeatureSource is not opened. When the map draws each layer it will open the FeatureSource as one of its first steps, then after it is finished drawing with that layer it will close it. In this way we are sure to release all resources used by the FeatureSource. When implementing this abstract method consider opening files for file based source, connecting to databases in the database based sources and so on. You will get a chance to close these in the Close method of the FeatureSource.// |
== Return Value == | == Return Value == | ||
Line 2939: | Line 2966: | ||
== Parameters == | == Parameters == | ||
+ | <div newline></div> | ||
+ | ** {{wiki:ProtectedMethod.gif|}} ConvertToInternalProjection(BaseShape) ** | ||
+ | |||
+ | * //N/A// | ||
+ | == Remarks == | ||
+ | * //N/A// | ||
+ | |||
+ | == Return Value == | ||
+ | * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] | ||
+ | * Description:N/A | ||
+ | |||
+ | == Parameters == | ||
+ | * //baseShape// | ||
+ | * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] | ||
+ | * Description:N/A | ||
+ | |||
<div newline></div> | <div newline></div> | ||
** {{wiki:ProtectedMethod.gif|}} ConvertToExternalProjection(IEnumerable<Feature>) ** | ** {{wiki:ProtectedMethod.gif|}} ConvertToExternalProjection(IEnumerable<Feature>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 2958: | Line 3001: | ||
** {{wiki:ProtectedMethod.gif|}} ConvertToInternalProjection(IEnumerable<Feature>) ** | ** {{wiki:ProtectedMethod.gif|}} ConvertToInternalProjection(IEnumerable<Feature>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 2974: | Line 3017: | ||
** {{wiki:ProtectedMethod.gif|}} ConvertToExternalProjection(Feature) ** | ** {{wiki:ProtectedMethod.gif|}} ConvertToExternalProjection(Feature) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 2990: | Line 3033: | ||
** {{wiki:ProtectedMethod.gif|}} ConvertToInternalProjection(Feature) ** | ** {{wiki:ProtectedMethod.gif|}} ConvertToInternalProjection(Feature) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3006: | Line 3049: | ||
** {{wiki:ProtectedMethod.gif|}} GetColumnNamesInsideFeatureSource(IEnumerable<String>) ** | ** {{wiki:ProtectedMethod.gif|}} GetColumnNamesInsideFeatureSource(IEnumerable<String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3022: | Line 3065: | ||
** {{wiki:ProtectedMethod.gif|}} GetColumnNamesOutsideFeatureSource(IEnumerable<String>) ** | ** {{wiki:ProtectedMethod.gif|}} GetColumnNamesOutsideFeatureSource(IEnumerable<String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3038: | Line 3081: | ||
** {{wiki:ProtectedMethod.gif|}} GetReturningColumnNames(ReturningColumnsType) ** | ** {{wiki:ProtectedMethod.gif|}} GetReturningColumnNames(ReturningColumnsType) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3052: | Line 3095: | ||
<div newline></div> | <div newline></div> | ||
- | ** {{wiki:ProtectedMethod.gif|}} cRQ=(Collection<Feature>) ** | + | ** {{wiki:ProtectedMethod.gif|}} RemoveEmptyAndExcludeFeatures(Collection<Feature>) ** |
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3070: | Line 3113: | ||
** {{wiki:ProtectedMethod.gif|}} OnDrawingProgressChanged(DrawingProgressChangedEventArgs) ** | ** {{wiki:ProtectedMethod.gif|}} OnDrawingProgressChanged(DrawingProgressChangedEventArgs) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3084: | Line 3127: | ||
<div newline></div> | <div newline></div> | ||
- | ** {{wiki:ProtectedMethod.gif|}} dRQ=(IEnumerable<String>) ** | + | ** {{wiki:ProtectedMethod.gif|}} GetColumnNamesOutsideFeatureSourceCall(IEnumerable<String>) ** |
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3100: | Line 3143: | ||
<div newline></div> | <div newline></div> | ||
- | ** {{wiki:ProtectedMethod.gif|}} dxQ=(IEnumerable<String>,IEnumerable<String>,ZoomLevel,Func<Collection<Feature>>,IEnumerable<String>,RectangleShape) ** | + | ** {{wiki:ProtectedMethod.gif|}} GetFeaturesByActionWithStyleFilters(IEnumerable<String>,IEnumerable<String>,ZoomLevel,Func<Collection<Feature>>,IEnumerable<String>,RectangleShape) ** |
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3136: | Line 3179: | ||
<div newline></div> | <div newline></div> | ||
- | ** {{wiki:ProtectedMethod.gif|}} eBQ=(IEnumerable<String>,Func<IEnumerable<String>,Collection<Feature>>,IEnumerable<String>) ** | + | ** {{wiki:ProtectedMethod.gif|}} ApplyLinkColumnValues(IEnumerable<String>,Func<IEnumerable<String>,Collection<Feature>>,IEnumerable<String>) ** |
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3160: | Line 3203: | ||
<div newline></div> | <div newline></div> | ||
- | ** {{wiki:ProtectedMethod.gif|}} eBQ=(IEnumerable<Feature>,IEnumerable<String>,IEnumerable<String>,IEnumerable<String>) ** | + | ** {{wiki:ProtectedMethod.gif|}} ApplyLinkColumnValues(IEnumerable<Feature>,IEnumerable<String>,IEnumerable<String>,IEnumerable<String>) ** |
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3188: | Line 3231: | ||
<div newline></div> | <div newline></div> | ||
- | ** {{wiki:ProtectedMethod.gif|}} eRQ=(IEnumerable<String>) ** | + | ** {{wiki:ProtectedMethod.gif|}} GetRequiredColumnNamesForLink(IEnumerable<String>) ** |
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3204: | Line 3247: | ||
<div newline></div> | <div newline></div> | ||
- | ** {{wiki:ProtectedMethod.gif|}} ehQ=(IEnumerable<String>,IEnumerable<String>) ** | + | ** {{wiki:ProtectedMethod.gif|}} GetReturningColumnNamesForLink(IEnumerable<String>,IEnumerable<String>) ** |
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3224: | Line 3267: | ||
<div newline></div> | <div newline></div> | ||
- | ** {{wiki:ProtectedMethod.gif|}} exQ=() ** | + | ** {{wiki:ProtectedMethod.gif|}} GetFlatLinkSources() ** |
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3236: | Line 3279: | ||
== Parameters == | == Parameters == | ||
<div newline></div> | <div newline></div> | ||
- | ** {{wiki:ProtectedMethod.gif|}} fxQ=(String) ** | + | ** {{wiki:ProtectedMethod.gif|}} CheckIsLinkColumn(String) ** |
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3252: | Line 3295: | ||
<div newline></div> | <div newline></div> | ||
- | ** {{wiki:ProtectedMethod.gif|}} gBQ=(IEnumerable<String>,IEnumerable<String>) ** | + | ** {{wiki:ProtectedMethod.gif|}} CheckHasLinkColumns(IEnumerable<String>,IEnumerable<String>) ** |
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3272: | Line 3315: | ||
<div newline></div> | <div newline></div> | ||
- | ** {{wiki:ProtectedMethod.gif|}} WhQ=(Collection<Feature>,Collection<String>,Boolean) ** | + | ** {{wiki:ProtectedMethod.gif|}} RaiseCustomColumnFetchEvent(Collection<Feature>,Collection<String>,Boolean) ** |
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3298: | Line 3341: | ||
** {{wiki:ProtectedMethod.gif|}} OnApplyingFilters(ApplyingFiltersFeatureSourceEventArgs) ** | ** {{wiki:ProtectedMethod.gif|}} OnApplyingFilters(ApplyingFiltersFeatureSourceEventArgs) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3314: | Line 3357: | ||
** {{wiki:ProtectedMethod.gif|}} OnAppliedFilters(AppliedFiltersFeatureSourceEventArgs) ** | ** {{wiki:ProtectedMethod.gif|}} OnAppliedFilters(AppliedFiltersFeatureSourceEventArgs) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3330: | Line 3373: | ||
** {{wiki:ProtectedMethod.gif|}} ApplyFiltersCore(IEnumerable<Feature>,IEnumerable<String>,String) ** | ** {{wiki:ProtectedMethod.gif|}} ApplyFiltersCore(IEnumerable<Feature>,IEnumerable<String>,String) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3352: | Line 3395: | ||
<div newline></div> | <div newline></div> | ||
- | ** {{wiki:ProtectedMethod.gif|}} XBQ=(Collection<Feature>) ** | + | ** {{wiki:ProtectedMethod.gif|}} ConvertToExternalProjectionIfNecessary(Collection<Feature>) ** |
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3368: | Line 3411: | ||
<div newline></div> | <div newline></div> | ||
- | ** {{wiki:ProtectedMethod.gif|}} XRQ=(RectangleShape,Collection<Feature>,Boolean) ** | + | ** {{wiki:ProtectedMethod.gif|}} ProcessTransaction(RectangleShape,Collection<Feature>,Boolean) ** |
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3392: | Line 3435: | ||
<div newline></div> | <div newline></div> | ||
- | ** {{wiki:ProtectedMethod.gif|}} XhQ=(RectangleShape,Double,Double,IEnumerable<String>,RectangleShape) ** | + | ** {{wiki:ProtectedMethod.gif|}} GetWrappingFeaturesLeft(RectangleShape,Double,Double,IEnumerable<String>,RectangleShape) ** |
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3424: | Line 3467: | ||
<div newline></div> | <div newline></div> | ||
- | ** {{wiki:ProtectedMethod.gif|}} XxQ=(RectangleShape,Double,Double,IEnumerable<String>,RectangleShape) ** | + | ** {{wiki:ProtectedMethod.gif|}} GetWrappingFeaturesRight(RectangleShape,Double,Double,IEnumerable<String>,RectangleShape) ** |
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3458: | Line 3501: | ||
** {{wiki:ProtectedMethod.gif|}} SpatialQueryCore(BaseShape,QueryType,IEnumerable<String>) ** | ** {{wiki:ProtectedMethod.gif|}} SpatialQueryCore(BaseShape,QueryType,IEnumerable<String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3482: | Line 3525: | ||
** {{wiki:ProtectedMethod.gif|}} GetFeaturesNearestToCore(BaseShape,GeographyUnit,Int32,IEnumerable<String>) ** | ** {{wiki:ProtectedMethod.gif|}} GetFeaturesNearestToCore(BaseShape,GeographyUnit,Int32,IEnumerable<String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3510: | Line 3553: | ||
** {{wiki:ProtectedMethod.gif|}} GetFeaturesWithinDistanceOfCore(BaseShape,GeographyUnit,DistanceUnit,Double,IEnumerable<String>) ** | ** {{wiki:ProtectedMethod.gif|}} GetFeaturesWithinDistanceOfCore(BaseShape,GeographyUnit,DistanceUnit,Double,IEnumerable<String>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3542: | Line 3585: | ||
** {{wiki:ProtectedMethod.gif|}} ConvertToExternalProjection(IEnumerable<RectangleShape>) ** | ** {{wiki:ProtectedMethod.gif|}} ConvertToExternalProjection(IEnumerable<RectangleShape>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3558: | Line 3601: | ||
** {{wiki:ProtectedMethod.gif|}} ConvertToInternalProjection(IEnumerable<RectangleShape>) ** | ** {{wiki:ProtectedMethod.gif|}} ConvertToInternalProjection(IEnumerable<RectangleShape>) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3574: | Line 3617: | ||
** {{wiki:ProtectedMethod.gif|}} ConvertToExternalProjection(RectangleShape) ** | ** {{wiki:ProtectedMethod.gif|}} ConvertToExternalProjection(RectangleShape) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3590: | Line 3633: | ||
** {{wiki:ProtectedMethod.gif|}} ConvertToInternalProjection(RectangleShape) ** | ** {{wiki:ProtectedMethod.gif|}} ConvertToInternalProjection(RectangleShape) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3604: | Line 3647: | ||
<div newline></div> | <div newline></div> | ||
- | ** {{wiki:ProtectedMethod.gif|}} ahQ=(RectangleShape) ** | + | ** {{wiki:ProtectedMethod.gif|}} ConvertToInternalProjectionCall(RectangleShape) ** |
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3617: | Line 3660: | ||
* //rectangle// | * //rectangle// | ||
* Type:[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] | * Type:[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] | ||
- | * Description:N/A | ||
- | |||
- | <div newline></div> | ||
- | ** {{wiki:ProtectedMethod.gif|}} ConvertToInternalProjection(BaseShape) ** | ||
- | |||
- | N/A | ||
- | == Remarks == | ||
- | N/A | ||
- | |||
- | == Return Value == | ||
- | * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] | ||
- | * Description:N/A | ||
- | |||
- | == Parameters == | ||
- | * //baseShape// | ||
- | * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] | ||
* Description:N/A | * Description:N/A | ||
Line 3638: | Line 3665: | ||
** {{wiki:ProtectedMethod.gif|}} CanGetBoundingBoxQuicklyCore() ** | ** {{wiki:ProtectedMethod.gif|}} CanGetBoundingBoxQuicklyCore() ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3650: | Line 3677: | ||
** {{wiki:ProtectedMethod.gif|}} OnGettingFeaturesByIds(GettingFeaturesByIdsFeatureSourceEventArgs) ** | ** {{wiki:ProtectedMethod.gif|}} OnGettingFeaturesByIds(GettingFeaturesByIdsFeatureSourceEventArgs) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3666: | Line 3693: | ||
** {{wiki:ProtectedMethod.gif|}} OnGettingFeaturesForDrawing(GettingFeaturesForDrawingFeatureSourceEventArgs) ** | ** {{wiki:ProtectedMethod.gif|}} OnGettingFeaturesForDrawing(GettingFeaturesForDrawingFeatureSourceEventArgs) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3682: | Line 3709: | ||
** {{wiki:ProtectedMethod.gif|}} OnGettingColumns(GettingColumnsFeatureSourceEventArgs) ** | ** {{wiki:ProtectedMethod.gif|}} OnGettingColumns(GettingColumnsFeatureSourceEventArgs) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3698: | Line 3725: | ||
** {{wiki:ProtectedMethod.gif|}} OnGottenColumns(GottenColumnsFeatureSourceEventArgs) ** | ** {{wiki:ProtectedMethod.gif|}} OnGottenColumns(GottenColumnsFeatureSourceEventArgs) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3714: | Line 3741: | ||
** {{wiki:ProtectedMethod.gif|}} OnCustomColumnFetch(CustomColumnFetchEventArgs) ** | ** {{wiki:ProtectedMethod.gif|}} OnCustomColumnFetch(CustomColumnFetchEventArgs) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3730: | Line 3757: | ||
** {{wiki:ProtectedMethod.gif|}} OnCommittingTransaction(CommittingTransactionEventArgs) ** | ** {{wiki:ProtectedMethod.gif|}} OnCommittingTransaction(CommittingTransactionEventArgs) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3746: | Line 3773: | ||
** {{wiki:ProtectedMethod.gif|}} OnCommittedTransaction(CommittedTransactionEventArgs) ** | ** {{wiki:ProtectedMethod.gif|}} OnCommittedTransaction(CommittedTransactionEventArgs) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3762: | Line 3789: | ||
** {{wiki:ProtectedMethod.gif|}} OnOpeningFeatureSource(OpeningFeatureSourceEventArgs) ** | ** {{wiki:ProtectedMethod.gif|}} OnOpeningFeatureSource(OpeningFeatureSourceEventArgs) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3778: | Line 3805: | ||
** {{wiki:ProtectedMethod.gif|}} OnOpenedFeatureSource(OpenedFeatureSourceEventArgs) ** | ** {{wiki:ProtectedMethod.gif|}} OnOpenedFeatureSource(OpenedFeatureSourceEventArgs) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3794: | Line 3821: | ||
** {{wiki:ProtectedMethod.gif|}} OnClosingFeatureSource(ClosingFeatureSourceEventArgs) ** | ** {{wiki:ProtectedMethod.gif|}} OnClosingFeatureSource(ClosingFeatureSourceEventArgs) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3810: | Line 3837: | ||
** {{wiki:ProtectedMethod.gif|}} OnClosedFeatureSource(ClosedFeatureSourceEventArgs) ** | ** {{wiki:ProtectedMethod.gif|}} OnClosedFeatureSource(ClosedFeatureSourceEventArgs) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3826: | Line 3853: | ||
** {{wiki:ProtectedMethod.gif|}} Finalize() ** | ** {{wiki:ProtectedMethod.gif|}} Finalize() ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3838: | Line 3865: | ||
** {{wiki:ProtectedMethod.gif|}} MemberwiseClone() ** | ** {{wiki:ProtectedMethod.gif|}} MemberwiseClone() ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == | ||
Line 3850: | Line 3877: | ||
** {{wiki:ProtectedMethod.gif|}}{{wiki:Static.gif|}} OnBuildingIndex(BuildingIndexShapeFileFeatureSourceEventArgs) ** | ** {{wiki:ProtectedMethod.gif|}}{{wiki:Static.gif|}} OnBuildingIndex(BuildingIndexShapeFileFeatureSourceEventArgs) ** | ||
- | This method allows you to raise the BuildingIndex event. | + | * //This method allows you to raise the BuildingIndex event.// |
== Remarks == | == Remarks == | ||
- | This method allows you to raise the BuildingIndex event. Normally events are not accessible to derived classes so we exposed a way to raise the event is necessary through this protected method. | + | * //This method allows you to raise the BuildingIndex event. Normally events are not accessible to derived classes so we exposed a way to raise the event is necessary through this protected method.// |
== Return Value == | == Return Value == | ||
Line 3866: | Line 3893: | ||
** {{wiki:ProtectedMethod.gif|}}{{wiki:Static.gif|}} OnRebuilding(RebuildingShapeFileFeatureSourceEventArgs) ** | ** {{wiki:ProtectedMethod.gif|}}{{wiki:Static.gif|}} OnRebuilding(RebuildingShapeFileFeatureSourceEventArgs) ** | ||
- | N/A | + | * //N/A// |
== Remarks == | == Remarks == | ||
- | N/A | + | * //N/A// |
== Return Value == | == Return Value == |