{
createRelationship( prev_way, way, OSMRelation.NEXT );
}
prev_way = way;
addNodeTags( way, wayTags, "way" );
Envelope bbox = new Envelope();
T firstNode = null;
T prevNode = null;
T prevProxy = null;
Map<String, Object> prevProps = null;
LinkedHashMap<String, Object> relProps = new LinkedHashMap<String, Object>();
HashMap<String, Object> directionProps = new HashMap<String, Object>();
directionProps.put( "oneway", true );
for ( long nd_ref : wayNodes )
{
// long pointNode =
// batchIndexService.getSingleNode("node_osm_id", nd_ref);
T pointNode = getOSMNode( nd_ref, changesetNode );
if ( pointNode == null )
{
/*
* This can happen if we import not whole planet, so some referenced
* nodes will be unavailable
*/
missingNode( nd_ref );
continue;
}
T proxyNode = createProxyNode();
if ( firstNode == null )
{
firstNode = pointNode;
}
if ( prevNode == pointNode )
{
continue;
}
createRelationship( proxyNode, pointNode, OSMRelation.NODE,
null );
Map<String, Object> nodeProps = getNodeProperties( pointNode );
double[] location = new double[] {
(Double) nodeProps.get( "lon" ),
(Double) nodeProps.get( "lat" ) };
bbox.expandToInclude( location[0], location[1] );
if ( prevProxy == null )
{
createRelationship( way, proxyNode, OSMRelation.FIRST_NODE );
}
else