public static SimpleFeatureType createGPXPointDataType() {
final SimpleFeatureTypeBuilder simpleFeatureTypeBuilder = new SimpleFeatureTypeBuilder();
simpleFeatureTypeBuilder.setName(GPX_POINT_FEATURE);
final AttributeTypeBuilder attributeTypeBuilder = new AttributeTypeBuilder();
simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
Geometry.class).nillable(
true).buildDescriptor(
"geometry"));
simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
Double.class).nillable(
true).buildDescriptor(
"Latitude"));
simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
Double.class).nillable(
true).buildDescriptor(
"Longitude"));
simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
Double.class).nillable(
true).buildDescriptor(
"Elevation"));
simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
Date.class).nillable(
true).buildDescriptor(
"Timestamp"));
simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
String.class).nillable(
true).buildDescriptor(
"Comment"));
simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
Integer.class).nillable(
true).buildDescriptor(
"Satellites"));
simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
Double.class).nillable(
true).buildDescriptor(
"VDOP"));
simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
Double.class).nillable(
true).buildDescriptor(
"HDOP"));
simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
Double.class).nillable(
true).buildDescriptor(
"PDOP"));
simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
String.class).nillable(
true).buildDescriptor(
"Symbol"));
simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
String.class).nillable(
true).buildDescriptor(
"Classification"));
simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
Double.class).nillable(
true).buildDescriptor(
"GeoHeight"));
simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
Double.class).nillable(
true).buildDescriptor(
"Course"));
simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
Double.class).nillable(
true).buildDescriptor(
"MagneticVariation"));
simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
String.class).nillable(
true).buildDescriptor(
"Source"));
simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
String.class).nillable(
true).buildDescriptor(
"Link"));
simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
String.class).nillable(
true).buildDescriptor(
"Fix"));
simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
Integer.class).nillable(
true).buildDescriptor(
"Station"));
return simpleFeatureTypeBuilder.buildFeatureType();