[Talk-us] [OSM-talk] TIGER "unbraid" tool now available

Dave Hansen dave at sr71.net
Fri Apr 25 22:56:10 BST 2008


On Fri, 2008-04-25 at 14:46 -0700, Alan Millar wrote:
> Unfortunately, it is in perl because that's what I know; I've never done
> anything in Java yet.  I've been wondering if this may be just the time to
> learn it.  I'm not sure if a JOSM plugin is a good place to start learning
> Java or if that is biting off too much to start.
> 
> Any advice?  Thanks

Thankfully, the validator tests don't require *too* much java.  You can
basically cut 'n paste from an existing one with very little trouble.

I hadn't touched Java in about 10 years before I started looking at
JOSM.  I do a lot of C on a daily basis, but no Java.  It wasn't hard to
pick back up.

Here's an example validator test:

http://svn.openstreetmap.org/applications/editors/josm/plugins/validator/src/org/openstreetmap/josm/plugins/validator/tests/DuplicateNode.java

You basically examine all the Osm Primitives in a couple of visit
functions like this:

	@Override
	public void visit(Node n) 
	{
		nodes.add(n.coor, n);
	}

Usually, you just collect them into a structure like that 'nodes' list.
Then, in the endTest() function you go an examine all of them.  I've
been keeping custom versions of JOSM around that have some really nice
helpers for writing JOSM plugins. 

	http://dev.openstreetmap.org/~daveh/josm/018/

Like this:

	for (Way wtmp : Main.ds.rl.waysUsingNode(n)) {

That iterates over a list of all the ways using Node 'n'.  You probably
recognize this operation.  I think you do it a bit in your perl script.

-- Dave





More information about the Talk-us mailing list