Package mil.nga.giat.geowave.types.geolife

Source Code of mil.nga.giat.geowave.types.geolife.GeoLifeUtils

package mil.nga.giat.geowave.types.geolife;

import java.io.File;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.geotools.feature.AttributeTypeBuilder;
import org.geotools.feature.simple.SimpleFeatureTypeBuilder;
import org.opengis.feature.simple.SimpleFeatureType;

import com.vividsolutions.jts.geom.Geometry;

/**
* This is a convenience class for performing common GPX static utility methods
* such as schema validation, file parsing, and SimpleFeatureType definition.
*/
public class GeoLifeUtils
{
  public static final DateFormat TIME_FORMAT_SECONDS = new SimpleDateFormat(
      "yyyy-MM-dd HH:mm:ss");
  public static String GEOLIFE_POINT_FEATURE = "geolifepoint";
  public static String GEOLIFE_TRACK_FEATURE = "geolifetrack";

  public static SimpleFeatureType createGeoLifeTrackDataType() {

    final SimpleFeatureTypeBuilder simpleFeatureTypeBuilder = new SimpleFeatureTypeBuilder();
    simpleFeatureTypeBuilder.setName(GEOLIFE_TRACK_FEATURE);

    final AttributeTypeBuilder attributeTypeBuilder = new AttributeTypeBuilder();

    simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
        Geometry.class).nillable(
        true).buildDescriptor(
        "geometry"));
    simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
        Date.class).nillable(
        true).buildDescriptor(
        "StartTimeStamp"));
    simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
        Date.class).nillable(
        true).buildDescriptor(
        "EndTimeStamp"));
    simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
        Long.class).nillable(
        true).buildDescriptor(
        "Duration"));
    simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
        Long.class).nillable(
        true).buildDescriptor(
        "NumberPoints"));
    simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
        String.class).nillable(
        true).buildDescriptor(
        "TrackId"));
    return simpleFeatureTypeBuilder.buildFeatureType();

  }

  public static SimpleFeatureType createGeoLifePointDataType() {

    final SimpleFeatureTypeBuilder simpleFeatureTypeBuilder = new SimpleFeatureTypeBuilder();
    simpleFeatureTypeBuilder.setName(GEOLIFE_POINT_FEATURE);

    final AttributeTypeBuilder attributeTypeBuilder = new AttributeTypeBuilder();

    simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
        Geometry.class).nillable(
        false).buildDescriptor(
        "geometry"));
    simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
        String.class).nillable(
        false).buildDescriptor(
        "trackid"));
    simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
        Integer.class).nillable(
        true).buildDescriptor(
        "pointinstance"));
    simpleFeatureTypeBuilder.add(attributeTypeBuilder.binding(
        Date.class).nillable(
        true).buildDescriptor(
        "Timestamp"));
    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"));

    return simpleFeatureTypeBuilder.buildFeatureType();

  }

  public static boolean validate(
      final File file ) {
    return true;
  }
}
TOP

Related Classes of mil.nga.giat.geowave.types.geolife.GeoLifeUtils

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.