Comments (2)
The FeatureId
it's not related to Shapefile specification. You won't be able to find this attribute neither in *.shp
nor in *.dbf
file.
This is specific to Esri software. The ObjectID is used by ArcGIS to do such things as scroll, display selection sets, and perform identify operations on features. To solve missing ObjectID in Shapefiles they used simple solution. They added virtual FID
column where values start at zero. It's not real ID because if a record from a shapefile is deleted, the FIDs are renumbered so that they start from 0 and increase sequentially (there is no gap in numbering).
You can easily mimic the same:
var features = Shapefile.ReadAllFeatures(shpPath).ToList();
for (int featureId = 0; featureId < features.Count; featureId++)
{
var feature = features[featureId];
Console.WriteLine($"{"FID",10}: {featureId}");
foreach (var attrName in feature.Attributes.GetNames())
{
Console.WriteLine($"{attrName,10}: {feature.Attributes[attrName]}");
}
Console.WriteLine($" SHAPE: {feature.Geometry}");
Console.WriteLine();
}
from nettopologysuite.io.esri.
Thank you for the explanation, I'll just use the array index as FID from now on.
from nettopologysuite.io.esri.
Related Issues (20)
- How to write Shapefile header HOT 4
- Invalid Polygon Issue HOT 3
- Multi-polygon bringing in extra/redundant polygons? HOT 6
- Reading in invalid dates HOT 1
- Merge https://github.com/FObermaier/SharpSbn HOT 1
- PointZ shapefiles are not properly read HOT 2
- Is there a way to get shapefile field aliases? HOT 2
- Null value HOT 9
- Invalid geometry type provided (Polygon). Expected: Multilinestring HOT 1
- Problem with saving attributes readed from existing file HOT 1
- Cannot Write Shapefile with LineStrings using ShapefileWriter HOT 1
- nuget out of date HOT 2
- Saving geometries with Z=NaN HOT 2
- GDBWriter and GDBReader classes removed? HOT 3
- Allow DbfCharacterField support 255 length. HOT 3
- Add stream support
- Do not write SHP files that are over 2gb HOT 2
- Handling of duplicate attribute-names
- Read a prj
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nettopologysuite.io.esri.