本文整理汇总了Java中com.esri.ges.core.geoevent.GeoEventDefinition.getFieldDefinition方法的典型用法代码示例。如果您正苦于以下问题:Java GeoEventDefinition.getFieldDefinition方法的具体用法?Java GeoEventDefinition.getFieldDefinition怎么用?Java GeoEventDefinition.getFieldDefinition使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.esri.ges.core.geoevent.GeoEventDefinition
的用法示例。
在下文中一共展示了GeoEventDefinition.getFieldDefinition方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: process
import com.esri.ges.core.geoevent.GeoEventDefinition; //导入方法依赖的package包/类
public GeoEvent process(GeoEvent evt) throws Exception {
GeoEventDefinition ged = evt.getGeoEventDefinition();
FieldDefinition fd = ged.getFieldDefinition(aggregateFld);
if (fd == null)
return null;
FieldType type = fd.getType();
if (!typelist.contains(type)) {
return null;
}
Double val = null;
if (type == FieldType.Double) {
val = (Double) evt.getField(aggregateFld);
} else if (type == FieldType.Integer) {
val = ((Integer) evt.getField(aggregateFld)) * 1.0;
} else if (type == FieldType.Long) {
val = ((Long) evt.getField(aggregateFld)) * 1.0;
} else if (type == FieldType.Short) {
val = ((Short) evt.getField(aggregateFld)) * 1.0;
} else if (type == FieldType.Float) {
val = ((Float) evt.getField(aggregateFld)) * 1.0;
}
if(val == null)
{
return null;
}
timestamp = System.currentTimeMillis();
cache.put(timestamp, val);
return null;
}
示例2: queueGeoEvent
import com.esri.ges.core.geoevent.GeoEventDefinition; //导入方法依赖的package包/类
@SuppressWarnings("incomplete-switch")
public void queueGeoEvent(HashMap<String, String> fields)
{
// in.mark(4 * 1024);
if (fields.containsKey("_type"))
{
String geoEventTypeName = fields.get("_type");
GeoEvent geoEvent = findAndCreate(geoEventTypeName);
if (geoEvent == null)
{
LOG.error("The incoming GeoEvent of type \"" + geoEventTypeName + "\" does not have a corresponding Event Definition in the ArcGIS GeoEvent server.");
}
else
{
GeoEventDefinition definition = geoEvent.getGeoEventDefinition();
for (String fieldName : fields.keySet())
{
String fieldValue = fields.get(fieldName);
try
{
FieldDefinition fieldDefinition = definition.getFieldDefinition(fieldName);
if (fieldDefinition == null)
{
LOG.error("The incoming GeoEvent of type \"" + geoEventTypeName + "\" had an attribute called \"" + fieldName + "\"that does not exist in the corresponding Event Definition.");
continue;
}
switch (fieldDefinition.getType())
{
case Integer:
geoEvent.setField(fieldName, Integer.parseInt(fieldValue));
break;
case Long:
geoEvent.setField(fieldName, Long.parseLong(fieldValue));
break;
case Short:
geoEvent.setField(fieldName, Short.parseShort(fieldValue));
break;
case Double:
geoEvent.setField(fieldName, Double.parseDouble(fieldValue));
break;
case Float:
geoEvent.setField(fieldName, Float.parseFloat(fieldValue));
break;
case Boolean:
geoEvent.setField(fieldName, Boolean.parseBoolean(fieldValue));
break;
case Date:
geoEvent.setField(fieldName, DateUtil.convert(fieldValue));
break;
case String:
geoEvent.setField(fieldName, fieldValue);
break;
case Geometry:
String geometryString = fieldValue;
if (geometryString.contains(";"))
geometryString = geometryString.substring(0, geometryString.indexOf(';') - 1);
String[] g = geometryString.split(",");
double x = Double.parseDouble(g[0]);
double y = Double.parseDouble(g[1]);
double z = 0;
if (g.length > 2)
z = Double.parseDouble(g[2]);
int wkid = Integer.parseInt(fields.get("_wkid"));
Point point = spatial.createPoint(x, y, z, wkid);
int geometryID = geoEvent.getGeoEventDefinition().getGeometryId();
geoEvent.setField(geometryID, point.toJson());
break;
}
}
catch (Exception ex)
{
LOG.warn("Error wile trying to parse the GeoEvent field " + fieldName + ":" + fieldValue, ex);
}
}
}
queue.add(geoEvent);
}
}