org.openstreetmap.osmosis.core.domain.v0_6.Entity类的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(9.3k)|赞(0)|评价(0)|浏览(195)

本文整理了Java中org.openstreetmap.osmosis.core.domain.v0_6.Entity类的一些代码示例,展示了Entity类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Entity类的具体详情如下:
包路径:org.openstreetmap.osmosis.core.domain.v0_6.Entity
类名称:Entity

Entity介绍

[英]A data class representing a single OSM entity. All top level data types inherit from this class.
[中]表示单个OSM实体的数据类。所有顶级数据类型都继承自此类。

代码示例

代码示例来源:origin: openstreetmap/osmosis

/**
 * Sets common entity values as bind variable parameters to an entity insert query.
 * 
 * @param args
 *            The bind variable arguments to be updated.
 * @param entity
 *            The entity containing the data to be inserted.
 */
protected void populateCommonEntityParameters(Map<String, Object> args, Entity entity) {
  Map<String, String> tags;
  
  // We can't write an entity with a null timestamp.
  if (entity.getTimestamp() == null) {
    throw new OsmosisRuntimeException(
        "Entity(" + entity.getType() + ") " + entity.getId() + " does not have a timestamp set.");
  }
  
  tags = new HashMap<String, String>(entity.getTags().size());
  for (Tag tag : entity.getTags()) {
    tags.put(tag.getKey(), tag.getValue());
  }
  
  args.put("id", entity.getId());
  args.put("version", entity.getVersion());
  args.put("userId", entity.getUser().getId());
  args.put("timestamp", new Timestamp(entity.getTimestamp().getTime()));
  args.put("changesetId", entity.getChangesetId());
  args.put("tags", tags);
}

代码示例来源:origin: openstreetmap/osmosis

/**
   * Add metatag attributes.
   * 
   * @param entity
   *            The entity being written.
   */
  protected void addMetatags(Entity entity) {
    for (Entry<String, Object> metaTag : entity.getMetaTags().entrySet()) {
      addAttribute(metaTag.getKey(), metaTag.getValue().toString());
    }
  }
}

代码示例来源:origin: mapsforge/mapsforge

String relationType = null;
if (entity.getTags() != null) {
    List<Tag> tags = new ArrayList<Tag>(entity.getTags());
    Collections.sort(tags);
    for (Tag tag : entity.getTags()) {
      String key = tag.getKey().toLowerCase(Locale.ENGLISH);
      if ("name".equals(key) && !foundPreferredLanguageName) {
  for (Tag tag : entity.getTags()) {
    String key = tag.getKey().toLowerCase(Locale.ENGLISH);
    if ("piste:name".equals(key) && name == null) {
      } catch (NumberFormatException e) {
        LOGGER.finest("could not parse layer information to byte type: " + tag.getValue()
            + "\t entity-id: " + entity.getId() + "\tentity-type: " + entity.getType().name());
            + "\t entity-id: " + entity.getId() + "\tentity-type: " + entity.getType().name());

代码示例来源:origin: org.openstreetmap.osmosis/osmosis-core

/**
 * Initializes the contents of the builder to the specified data.
 * 
 * @param entity
 *            The entity to initialise to.
 * @return This object allowing method chaining.
 */
protected EntityBuilder<T> initialize(Entity entity) {
  // Delegate to the more specific method.
  initialize(entity.getId(), entity.getVersion(), entity.getTimestampContainer(), entity.getUser(), entity
      .getChangesetId());
  
  tags.addAll(entity.getTags());
  
  return this;
}

代码示例来源:origin: openstreetmap/osmosis

/**
 * Performs any validation and pre-processing required for all entity types.
 */
private void processEntityPrerequisites(Entity entity) {
  // We can't write an entity with a null timestamp.
  if (entity.getTimestamp() == null) {
    throw new OsmosisRuntimeException("Entity(" + entity.getType()
        + ") " + entity.getId() + " does not have a timestamp set.");
  }
  
  // Process the user data.
  writeUser(entity.getUser());
}

代码示例来源:origin: openstreetmap/osmosis

/**
 * Process a node, way or relation.
 * 
 * @param currentContainer
 *            The entity container to be processed.
 */
@Override
public void process(EntityContainer currentContainer) {
  if (previousContainer == null) {
    previousContainer = currentContainer;
    return;
  }
  Entity current = currentContainer.getEntity();
  Entity previous = previousContainer.getEntity();
  if (current.getId() != previous.getId() || !current.getType().equals(previous.getType())) {
    sink.process(previousContainer);
    previousContainer = currentContainer;
    return;
  }
  if (current.getVersion() > previous.getVersion()) {
    previousContainer = currentContainer;
  }
}

代码示例来源:origin: openstreetmap/osmosis

private void assertEntityHasTimestamp(Entity entity) {
  if (entity.getTimestamp() == null) {
    throw new OsmosisRuntimeException(
        entity.getType().toString() + " " + entity.getId() + " does not have a timestamp set.");
  }
}

代码示例来源:origin: openstreetmap/osmosis

/**
 * Add common entity attributes.
 * 
 * @param entity
 *            The entity being written.
 */
protected void addCommonAttributes(Entity entity) {
  addAttribute("id", Long.toString(entity.getId()));
  addAttribute("version", Integer.toString(entity.getVersion()));
  addAttribute("timestamp", entity.getFormattedTimestamp(getTimestampFormat()));
  OsmUser user = entity.getUser();
  if (!user.equals(OsmUser.NONE)) {
    addAttribute("uid", Integer.toString(user.getId()));
    addAttribute("user", user.getName());
  }
  if (entity.getChangesetId() != 0) {
    addAttribute("changeset", Long.toString(entity.getChangesetId()));
  }
}

代码示例来源:origin: org.openstreetmap.osmosis/osmosis-core

/**
 * {@inheritDoc}
 */
public void process(EntityContainer entityContainer) {
  Entity entity;
  
  entity = entityContainer.getEntity();
  
  if (progressTracker.updateRequired()) {
    LOG.info(
        prefix
        + "Processing " + entity.getType() + " " + entity.getId() + ", "
        + progressTracker.getObjectsPerSecond() + " objects/second.");
  }
  
  sink.process(entityContainer);
}

代码示例来源:origin: openstreetmap/osmosis

/**
   * {@inheritDoc}
   */
  @Override
  public int compare(EntityHistory<T> o1, EntityHistory<T> o2) {
    long idDelta;
    int versionDelta;
    
    idDelta = o1.getEntity().getId() - o2.getEntity().getId();
    
    if (idDelta < 0) {
      return -1;
    } else if (idDelta > 0) {
      return 1;
    }
    
    versionDelta = o1.getEntity().getVersion() - o2.getEntity().getVersion();
    
    if (versionDelta < 0) {
      return -1;
    } else if (versionDelta > 0) {
      return 1;
    }
    
    return 0;
  }
}

代码示例来源:origin: mapsforge/mapsforge

LOGGER.finest("Processing entity: " + entity.toString());
switch (entity.getType()) {
  case Node:
    Node node = (Node) entity;

代码示例来源:origin: mapsforge/mapsforge

/**
 * Extracts known way tags and returns their ids.
 *
 * @param entity the way
 * @return the ids of the identified tags
 */
public static Map<Short, Object> extractKnownWayTags(Entity entity) {
  Map<Short, Object> tagMap = new HashMap<>();
  OSMTagMapping mapping = OSMTagMapping.getInstance();
  if (entity.getTags() != null) {
    for (Tag tag : entity.getTags()) {
      OSMTag wayTag = mapping.getWayTag(tag.getKey(), tag.getValue());
      if (wayTag != null) {
        String wildcard = wayTag.getValue();
        tagMap.put(wayTag.getId(), getObjectFromWildcardAndValue(wildcard, tag.getValue()));
      }
    }
  }
  return tagMap;
}

代码示例来源:origin: org.locationtech.geogig/geogig-osm

SimpleFeatureType ft = entity instanceof Node ? OSMUtils.nodeType() : OSMUtils
      .wayType();
  String id = Long.toString(entity.getId());
  target.put(new FeatureToDelete(ft, id));
  return;
  progressListener.setProgress(count);
latestChangeset = Math.max(latestChangeset, entity.getChangesetId());
latestTimestamp = Math.max(latestTimestamp, entity.getTimestamp().getTime());
Geometry geom = null;
switch (entity.getType()) {
case Node:
  nodeCount++;

代码示例来源:origin: ncolomer/elasticsearch-osmosis-plugin

protected ESEntity(Entity entity) {
  this.id = entity.getId();
  this.tags = new HashMap<String, String>();
  for (Tag tag : entity.getTags()) {
    this.tags.put(tag.getKey(), tag.getValue());
  }
}

代码示例来源:origin: openstreetmap/osmosis

Collection<Tag> entityTags = entity.getTags();
EntityType entityType = entity.getType();
for (Tag tag : entity.getTags()) {
  tagMap.put(tag.getKey(), tag.getValue());
      .getUser().getName(), entity.getUser().getId());
  if (matches == null || matches.isEmpty()) {
    continue;

代码示例来源:origin: openstreetmap/osmosis

/**
   * {@inheritDoc}
   */
  public int compare(Entity o1, Entity o2) {
    long idDiff;
    
    // Perform an identifier comparison.
    idDiff = o1.getId() - o2.getId();
    if (idDiff > 0) {
      return 1;
    } else if (idDiff < 0) {
      return -1;
    } else {
      return 0;
    }
  }
}

代码示例来源:origin: openstreetmap/osmosis

if (entityContainer0.getEntity().getType() == EntityType.Bound) {
  bound0 = (Bound) entityContainer0.getEntity();
  entityContainer0 = nextOrNull(postbox0);
if (entityContainer1.getEntity().getType() == EntityType.Bound) {
  bound1 = (Bound) entityContainer1.getEntity();
  entityContainer1 = nextOrNull(postbox1);
      entityContainer0.getEntity().getTimestamp()
        .compareTo(entityContainer1.getEntity().getTimestamp());
    sink.process(entityContainer1);
  } else if (conflictResolutionMethod.equals(ConflictResolutionMethod.Version)) {
    int version0 = entityContainer0.getEntity().getVersion();
    int version1 = entityContainer1.getEntity().getVersion();
    if (version0 < version1) {
      sink.process(entityContainer1);

代码示例来源:origin: org.locationtech.geogig/geogig-osm

progressListener.setProgress(count);
latestChangeset = Math.max(latestChangeset, entity.getChangesetId());
latestTimestamp = Math.max(latestTimestamp, entity.getTimestamp().getTime());
Geometry geom = null;
switch (entity.getType()) {
case Node:
  nodeCount++;

代码示例来源:origin: openstreetmap/osmosis

/**
 * {@inheritDoc}
 */
public void process(EntityContainer entityContainer) {
  Entity entity;
  
  initialize();
  entity = entityContainer.getEntity();
  userManager.addOrUpdateUser(entityContainer.getEntity().getUser());
  changesetManager.addChangesetIfRequired(entity.getChangesetId(), entity.getUser());
  entityContainer.process(this);
}

代码示例来源:origin: openstreetmap/osmosis

changeContainer0.getEntityContainer().getEntity().getTimestamp()
    .compareTo(changeContainer1.getEntityContainer().getEntity().getTimestamp());
  changeSink.process(changeContainer1);
} else if (conflictResolutionMethod.equals(ConflictResolutionMethod.Version)) {
  int version0 = changeContainer0.getEntityContainer().getEntity().getVersion();
  int version1 = changeContainer1.getEntityContainer().getEntity().getVersion();
  if (version0 < version1) {
    changeSink.process(changeContainer1);

相关文章