# Copyright (C) 2005 Tommy Persson, tpe@ida.liu.se # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA use strict; use osmutil; use vars qw ($opt_getnode $opt_getnodehistory $opt_createnode $opt_deletenode $opt_getseg $opt_getseghistory $opt_createseg $opt_deleteseg $opt_getsegways $opt_getsegareas $opt_getway $opt_getwayhistory $opt_createway $opt_deleteway $opt_from $opt_to $opt_lat $opt_lon $opt_passwd $opt_user); use Getopt::Mixed; Getopt::Mixed::getOptions("getseg=s getseghistory=s createseg deletesegment=s getsegways=s getsegareas=s getnode=s getnodehistory=s createnode deletenode=s getway=s getwayhistory=s createway deleteway=s from=s to=s lat=s lon=s passwd=s user=s"); my $username = $opt_user; my $password = $opt_passwd; if (defined $opt_createnode) { my $tags = {}; if (defined $opt_lat and defined $opt_lon) { my $id = osmutil::create_node ($opt_lat, $opt_lon, $tags, $username, $password); print STDERR "Created node with id: $id\n"; } else { print STDERR "--lon and --lat must be specified\n"; } exit 0; } if (defined $opt_deletenode) { my $resp = osmutil::delete_node ($opt_deletenode, $username, $password); if ($resp) { print STDERR "Node $opt_deletenode deleted\n"; } else { print STDERR "DELETE OF $opt_deletenode FAILED\n"; } exit 0; } if (defined $opt_getnode) { my $node = osmutil::get_node ($opt_getnode, $username, $password); print "NODE: $node\n"; exit 0; } if (defined $opt_getnodehistory) { my $node = osmutil::get_node_history ($opt_getnodehistory, $username, $password); print "NODE: $node\n"; exit 0; } if (defined $opt_getseg) { my $s = osmutil::get_segment ($opt_getseg, $username, $password); print "SEGMENT: $s\n"; exit 0; } if (defined $opt_getseghistory) { my $s = osmutil::get_segment_history ($opt_getseghistory, $username, $password); print "SEGMENT: $s\n"; exit 0; } if (defined $opt_getsegways) { my $s = osmutil::get_segment_ways ($opt_getsegways, $username, $password); print "SEGMENT $opt_getsegways WAYS: $s\n"; exit 0; } if (defined $opt_getsegareas) { my $s = osmutil::get_segment_areas ($opt_getsegareas, $username, $password); print "SEGMENT $opt_getsegways AREAS: $s\n"; exit 0; } if (defined $opt_createseg) { my $tags = {}; if (not defined $opt_from) { print STDERR "--from must be defined\n"; exit 1; } if (not defined $opt_to) { print STDERR "--to must be defined\n"; exit 1; } my $resp = osmutil::create_segment ($opt_from, $opt_to, $tags, $username, $password); print "Segment created: $resp\n"; exit 0; } if (defined $opt_deleteseg) { my $uid = $opt_deleteseg; my $resp = osmutil::delete_segment ($uid, $username, $password); if (not $resp) { print "DELETE FAILED: $uid\n"; } else { print "Segment $uid deleted\n";; } exit 0; } if (defined $opt_getway) { my $s = osmutil::get_way ($opt_getway, $username, $password); print "WAY: $s\n"; exit 0; } if (defined $opt_getwayhistory) { my $s = osmutil::get_way_history ($opt_getwayhistory, $username, $password); print "WAY: $s\n"; exit 0; } if (defined $opt_createway) { my $segs = (); my $tags = {}; ## push @{$segs}, "57853"; $tags->{"name"} = "test way"; my $resp = osmutil::create_way ($segs, $tags, $username, $password); print "Way created: $resp\n"; exit 0; } if (defined $opt_deleteway) { my $uid = $opt_deleteway; my $resp = osmutil::delete_way ($uid, $username, $password); if (not $resp) { print "DELETE FAILED: $uid\n"; } else { print "Way $uid deleted\n";; } exit 0; }