use of org.openforis.idm.model.Coordinate in project collect by openforis.
the class CollectRecordIntegrationTest method addTestValues.
private void addTestValues(Entity cluster, String id) {
EntityBuilder.addValue(cluster, "id", new Code(id));
EntityBuilder.addValue(cluster, "gps_realtime", Boolean.TRUE);
EntityBuilder.addValue(cluster, "region", new Code("001"));
EntityBuilder.addValue(cluster, "district", new Code("002"));
EntityBuilder.addValue(cluster, "crew_no", 10);
EntityBuilder.addValue(cluster, "map_sheet", "value 1");
EntityBuilder.addValue(cluster, "map_sheet", "value 2");
EntityBuilder.addValue(cluster, "vehicle_location", new Coordinate((double) 432423423l, (double) 4324324l, "srs"));
EntityBuilder.addValue(cluster, "gps_model", "TomTom 1.232");
{
Entity ts = EntityBuilder.addEntity(cluster, "time_study");
EntityBuilder.addValue(ts, "date", new Date(2011, 2, 14));
EntityBuilder.addValue(ts, "start_time", new Time(8, 15));
EntityBuilder.addValue(ts, "end_time", new Time(15, 29));
}
/*
{
Entity ts = EntityBuilder.addEntity(cluster, "time_study");
EntityBuilder.addValue(ts, "date", new Date(2011,2,15));
EntityBuilder.addValue(ts, "start_time", new Time(8,32));
EntityBuilder.addValue(ts, "end_time", new Time(11,20));
}
*/
{
Entity plot = EntityBuilder.addEntity(cluster, "plot");
EntityBuilder.addValue(plot, "no", new Code("1"));
Entity tree1 = EntityBuilder.addEntity(plot, "tree");
EntityBuilder.addValue(tree1, "tree_no", 1);
EntityBuilder.addValue(tree1, "dbh", 54.2);
EntityBuilder.addValue(tree1, "total_height", 2.0);
// EntityBuilder.addValue(tree1, "bole_height", (Double) null).setMetadata(new CollectAttributeMetadata('*',null,"No value specified"));
RealAttribute boleHeight = EntityBuilder.addValue(tree1, "bole_height", (Double) null);
boleHeight.getField(0).setSymbol('*');
boleHeight.getField(0).setRemarks("No value specified");
Entity tree2 = EntityBuilder.addEntity(plot, "tree");
EntityBuilder.addValue(tree2, "tree_no", 2);
EntityBuilder.addValue(tree2, "dbh", 82.8);
EntityBuilder.addValue(tree2, "total_height", 3.0);
}
{
Entity plot = EntityBuilder.addEntity(cluster, "plot");
EntityBuilder.addValue(plot, "no", new Code("2"));
Entity tree1 = EntityBuilder.addEntity(plot, "tree");
EntityBuilder.addValue(tree1, "tree_no", 1);
EntityBuilder.addValue(tree1, "dbh", 34.2);
EntityBuilder.addValue(tree1, "total_height", 2.0);
Entity tree2 = EntityBuilder.addEntity(plot, "tree");
EntityBuilder.addValue(tree2, "tree_no", 2);
EntityBuilder.addValue(tree2, "dbh", 85.8);
EntityBuilder.addValue(tree2, "total_height", 4.0);
{
Entity humanImpact = EntityBuilder.addEntity(plot, "human_impact");
EntityBuilder.addValue(humanImpact, "type", new Code("0"));
}
}
}
use of org.openforis.idm.model.Coordinate in project collect by openforis.
the class ModelDaoIntegrationTest method addTestValues.
private void addTestValues(Entity cluster, String id) {
EntityBuilder.addValue(cluster, "id", new Code(id));
EntityBuilder.addValue(cluster, "gps_realtime", Boolean.TRUE);
EntityBuilder.addValue(cluster, "region", new Code("001"));
EntityBuilder.addValue(cluster, "district", new Code("002"));
EntityBuilder.addValue(cluster, "crew_no", 10);
EntityBuilder.addValue(cluster, "map_sheet", "value 1");
EntityBuilder.addValue(cluster, "map_sheet", "value 2");
EntityBuilder.addValue(cluster, "vehicle_location", new Coordinate((double) 432423423l, (double) 4324324l, "srs"));
EntityBuilder.addValue(cluster, "gps_model", "TomTom 1.232");
{
Entity ts = EntityBuilder.addEntity(cluster, "time_study");
EntityBuilder.addValue(ts, "date", new Date(2011, 2, 14));
EntityBuilder.addValue(ts, "start_time", new Time(8, 15));
EntityBuilder.addValue(ts, "end_time", new Time(15, 29));
}
{
Entity ts = EntityBuilder.addEntity(cluster, "time_study");
EntityBuilder.addValue(ts, "date", new Date(2011, 2, 15));
EntityBuilder.addValue(ts, "start_time", new Time(8, 32));
EntityBuilder.addValue(ts, "end_time", new Time(11, 20));
}
{
Entity plot = EntityBuilder.addEntity(cluster, "plot");
EntityBuilder.addValue(plot, "no", new Code("1"));
Entity tree1 = EntityBuilder.addEntity(plot, "tree");
EntityBuilder.addValue(tree1, "tree_no", 1);
EntityBuilder.addValue(tree1, "dbh", 54.2);
EntityBuilder.addValue(tree1, "total_height", 2.0);
// EntityBuilder.addValue(tree1, "bole_height", (Double) null).setMetadata(new CollectAttributeMetadata('*',null,"No value specified"));
RealAttribute boleHeight = EntityBuilder.addValue(tree1, "bole_height", (Double) null);
boleHeight.getField(0).setSymbol('*');
boleHeight.getField(0).setRemarks("No value specified");
Entity tree2 = EntityBuilder.addEntity(plot, "tree");
EntityBuilder.addValue(tree2, "tree_no", 2);
EntityBuilder.addValue(tree2, "dbh", 82.8);
EntityBuilder.addValue(tree2, "total_height", 3.0);
}
{
Entity plot = EntityBuilder.addEntity(cluster, "plot");
EntityBuilder.addValue(plot, "no", new Code("2"));
Entity tree1 = EntityBuilder.addEntity(plot, "tree");
EntityBuilder.addValue(tree1, "tree_no", 1);
EntityBuilder.addValue(tree1, "dbh", 34.2);
EntityBuilder.addValue(tree1, "total_height", 2.0);
Entity tree2 = EntityBuilder.addEntity(plot, "tree");
EntityBuilder.addValue(tree2, "tree_no", 2);
EntityBuilder.addValue(tree2, "dbh", 85.8);
EntityBuilder.addValue(tree2, "total_height", 4.0);
}
}
use of org.openforis.idm.model.Coordinate in project collect by openforis.
the class CoordinateValidator method evaluate.
@Override
public ValidationResultFlag evaluate(CoordinateAttribute node) {
Coordinate coordinate = node.getValue();
CoordinateAttributeDefinition definition = node.getDefinition();
List<SpatialReferenceSystem> srs = definition.getSurvey().getSpatialReferenceSystems();
boolean valid = coordinate.getX() != null && coordinate.getY() != null && isSrsIdValid(srs, coordinate.getSrsId());
if (valid) {
valid = node.getSurveyContext().getCoordinateOperations().validate(coordinate);
}
return ValidationResultFlag.valueOf(valid);
}
use of org.openforis.idm.model.Coordinate in project collect by openforis.
the class CoordinateOperations method convertTo.
private Coordinate convertTo(Coordinate coordinate, SpatialReferenceSystem toSrs) {
SpatialReferenceSystem fromSrs = toSrs(coordinate);
if (fromSrs.equals(toSrs)) {
return coordinate;
} else {
double[] uiCoordinate = toUiCoordinate(coordinate);
double[] transformed = CoordinateUtils.transform(fromSrs, uiCoordinate, toSrs);
return new Coordinate(transformed[0], transformed[1], toSrs.getId());
}
}
use of org.openforis.idm.model.Coordinate in project collect by openforis.
the class IDMDistanceFunctionTest method testSampingPointLocation.
// @Test
public void testSampingPointLocation() throws InvalidExpressionException {
EntityBuilder.addValue(cluster, "id", new Code("10_114"));
EntityBuilder.addValue(cluster, "cluster_location", new Coordinate(592340d, 9293450d, "EPSG:21036"));
EntityBuilder.addValue(cluster, "vehicle_location", new Coordinate(592342d, 9293460d, "EPSG:21036"));
Object distance = evaluateExpression(ExpressionFactory.IDM_PREFIX + ":distance(cluster_location, vehicle_location)");
Assert.assertEquals(Double.valueOf(10.2010d), round((Double) distance, 6));
}
Aggregations