-
Notifications
You must be signed in to change notification settings - Fork 158
Open
Description
Hi! We think we have found an edge case. We have a file that has a numeric column "Blend - *", that when we run it through shapefile, returns all NULL values in the property field instead of the true values. Values can be properly read by other software such as mapshaper or our C++ program, but not this library.
The shape points get converted correctly, and the property "Blend - *" appears on the result object, just not the associated property values.
Code for testing:
async function parseShapefile(absPath) {
const geoJson = await shapefile.read(absPath)
if (!geoJson) { return {} }
// Find numeric columns to use for rate selection
for (const property of Object.keys(shape.properties)) {
let numeric = true
for (const feature of geoJson.features) {
// Use both global isNaN() and parseFloat() to determine if we have a numeric column.
// isNaN() catches most non-numeric columns, but not null
// parseFloat(null) == NaN, but a column value such as "32 UAN" will return a number (32)
if (isNaN(feature.properties[property]) || Number.isNaN(parseFloat(feature.properties[property]))) {
numeric = false
}
else {
console.log('Found Number')
}
}
if (numeric) {
console.log(`Numeric Column: ${property}`)
}
}
}File in question:
TID_822919_OID_2363808_Raven_Viper_2021-04-26-03-53-54.zip
chrispahm
Metadata
Metadata
Assignees
Labels
No labels