Drawing road network

Hi.
I am developing a traffic simulation and i am having problem with the GUI.
I have always been programming the logic part and i have never done
a GUI.
In the simulation, I have sever different types of vehicles and road network. I am using an image (gif) to
represent the vehicles. The part I am stuck is with the road network. How can i write a road network,
as for simple example a crossroad with four road on north,sourth, east and west directions.
My vehicle image moves over the road network image, so any idea or help or links on
how to draw the road network in swing will be highly appreciated.

If you do not mean free-hand drawing, java.awt.geom package has tools for drawing lines and shapes. Read the tutorial(s) on Java 2D programming on Sun site and others.

Similar Messages

  • Network Type Logical or SDO or TOPO for road network

    Hi
    I have to create road network application for shortest path, shortest path with multi transport system.
    I have road data as line
    My doubt is which type of network should I create SDO_NETWORK or LOGICAL_NETWORK or TOPO_NETWORK.
    I could not get any documentation for comparison among these.
    Thanks for any help.
    Gagan

    It depends upon your application need. A LOGICAL_NETWORK only contains connectivity information and A SDO_NETWORK contains connectivity and spatial information. If you need to access node or link geometry information, model it as a SDO_NETWORK. Otherwise a LOGICAL_NETWORK is sufficient for analysis purpose (i.e. cost) and it has a smaller footprint. You may access the geometry by using getGeometry() method on nodea and links for a SDO_NETWORK.

  • Liner Asset Management Implementation for Railway and Road Network.

    Hi EAM Experts,
    My client currently is using SAP modules including SAP PM but now for better asset management they want to implement LAM.
    Please do guide me how to implement the LAM. Please specify with the config settings and the business cycle so that it will be helpful for me in mapping
    the business requirement.
    Your help required asap. Screen shots will be highly thankful.
    This requirement is with my mutiple clients who is into Road and Railway networks.
    Thanks
    Anil

    Didier,
    >So my question is what should we do to get the most accurate data for our
    >asset and inventory in the case were deep freeze is running and reseting
    >the system at every reboot....could you suggest a processs to make it more
    >accurate.
    Duplicate.
    This post has been answered in the Asset Inventory Forum.
    Jared Jennings - Data Technique, Inc.
    Novell Support Forums Sysop
    My Blog and Wiki with Tips, Tricks, and Tutorials
    http://jaredjennings.org

  • What is the Profile Drawer in Network System Prefs for?

    I'm struggling with my very illogical d-link DWL-G122. Sometimes it works, sometimes it doesn't... blah... Anyway, that's a different story. My question is, what is the Profile Drawer for in Network System Prefs? I can add my available wireless network, but it works even if it's not added. And why would I want to edit/activate/delete it etc? I've done a quick search and can't find any documentation to help me understand it. Can anyone help?
    THANKS!

    It's not really to add your network, it's to keep others out. If you have a neighbor with a strong signal you keep automatically switching to, you can eliminate that by using the list of preferred networks. Of course, if he has a reliable connection and you don't, that might not be desirable...

  • Drawing roads in freehand

    As a complete punter on Freehand (10) I'm struggling with how
    to draw lines with black edges and a coloured fill (like on an
    Ordnance survey map).
    Any ideas?

    Tubbs_T
    I have never used pen tool for such, probably because of the
    myriad of nodes it will produce and a large road map would become
    too slow to draw (ok ...I have thousands of roads on mine and it
    does grind to a halt ), I also prefer an intelligent map such that
    if my 0.15mm black line peeking out under the red line is too thin,
    I just alter its line weight. Using styles at the outset makes life
    easier still, saves trying to select all the black lines for A
    roads to alter their weight.
    My method if of use, and I draw maps for a living :-
    If using layers as I do, you will have layer names from top
    to bottom of :-
    Mway blue
    primary A rd green
    other A rds red
    B roads brown
    C rds yellow
    D rds grey
    Mway outline dk blue or black
    primary A rds outline black
    Other A rds outline black
    B rds outline black
    C rds outline black
    D rds I dont bother with an edge, too thin by then ! even C
    rds not vital if yellow strong enough.
    Roundabouts on A rds can be red spots or green ones (life
    more complex now that O.S. have green and red A rds !) with stroke
    of black as edge, or rings with another layer for the black edge.
    If altering the black edge of the roads using style , dont forget
    the strokes of the roundabouts as a separate task.
    All coloured layers sit above the black layers.
    all these sit above rivers and those above settlement shapes
    and so on.
    As for A road over motorway, afraid thats two layers, one for
    the black edge, both sited above the rest of the layers, and so on.
    I shall look into your method though !
    Envirographics

  • Drawing network topology in Cisco Prime LMS 4.2

    Hi all:
    I installed the Cisco Prime LMS 4.2 and managed to discover the Cisco devices and user devices like my PC stations.
    Then I tried to draw the network topology from this LMS 4.2 and I found the topology under the Configuration and Monitor tab. By clicking to these two tabs, it appears a page of something like below:
    Topology Services
    You can use Topology Services to:
    - View detailed xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    - Display the physical and logical services in your network
    - xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxx
    - xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxx
    - xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxx
    - xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxx
    - xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxx
    There is no action click on this page and it looks like an explanation page and cannot do anything.
    May I know how to draw the networl topology by this Cisco Prime LMS 4.2?
    Hope to hear the answer from anyone know about this soon. Many thanks!
    Warmest regards,
    tangsuan

    Hi Mantej:
    Thanks to your link and I have downloaded the Prime LMS 4.2 document.
    I then read and installed the JRE first in 64 bits because my Windows OS is 64bits but it still prompts out the Java installation screen. I then installed the JRE in 32 bits.
    After that, it has no more Java installation screen. It then request for downloading file at the Windows top bar. I follow the request to riight click to allow the downloading. The Java running and downlaod the file.
    After that, I cannot see any difference. Meaning I still cannot access anything for Toplology Services to draw my network topology diagram.
    May I know what should be happen and what is the next step to do the topology drawing?
    Many thanks!
    Regards,
    tangsuan

  • Drawing Network Diagrams For Virtualized Networks.

    Hi guys, 
    I'm looking at drawing up simple network diagrams of the virtualised servers and IP addresses.. To make it easier to remember the IPs of the virtual machines and the hypervisor, which can get confusing at times. Is there any basic starting diagram I could
    use to give a simple, clear visual representation of the virtualized network, which I could then use as a template for drawing custom network diagrams for my clients. 
    nb. I dont have visio, but I have photoshop my plan would be to get an image file and just edit this as required. 
    thanks, 
    J

    Hi Jonathan,
    it's a little bit off topic, but maybe my answer can help you.
    I know that problem from my own environment. Recently we started to use VeeamOne (free version with a few limitations) for Monitoring the Workload on our Hosts and VMs. 
    A nice feature is that you can have an overview of the VMs per Host, including DNS-Name and IP-Address.
    Maybe you want to have a look at it. 
    Best Regards,
    Jens
    jensit.wordpress.com

  • How to draw an interactive network graph in JSP

    hi all,
    I want to draw a network graph in web page by reading data from database. In the graph, there are some points with lines between them. And I need some interactive features. If I put the mouse on the point, some information should be displayed. I could click the point to jump to the other pages. And I could change the layout of the network graph by dragging the point.
    JFreeChart can not draw the network graph and has limited interactive feature. Could anybody give me some solution?
    Thanks a lot!
    fancy

    u can find all what u need here:
    http://jakarta.apache.org/commons/fileupload/
    i think it will help u a lot

  • Oracle Map Builder Network Models

    We are working on a project that displays road networks in Oracle Map Builder. Many of the network tables were irrevelant so they were deleted in SQL Developer. However, in Oracle MapBuilder all the Network Tables are still listed. Does anyone know how to synchonize Oracle SQL Developer and MapBuilder?
    Thank you,
    Renee

    Hi Renee,
    Were you using the Network Themes to create new Network Themes or were you using Geometry Themes?
    If you used Network Themes, when you deleted the network (tables), did you delete its entry in user_sdo_network_metadata?
    If you were using the Geometry Themes, did you delete the entry from user_sdo_geom_metadata after you delete the geom. table?
    Try to remove the entries in the network/geom metadata views when you no longer need the network/geom tables.
    You also need to commit after you deleted the tables.
    What version of MapBuilder are you using? (click Help->About Oracle Map Builder)
    jack

  • Join Line Segments (road segments) SDO_AGGR_UNION/SDO_AGGR_CONCAT_LINES

    Hi,
    I have road segments I need to join/merge in order to get the complete road axe. Unfortunately I have some segements which are not joined and the resulting road axe has a gap.
    When I look at the road segements and the join result it seems to me that aggregation does not work for roads which either have segements which are disjoint (we have a few roads where single segments do not touch) or if a road has two or more "branches" (just take the letter "Y" as example for it).
    (1) SDO_AGGR_CONCAT_LINES
    Didn't work at all - I could not create a view using SDO_AGGR_CONCAT_LINES. As the documention mentions - not suitable if you have arcs (we have).
    (2) SDO_AGGR_UNION
    I tried SDO_AGGR_UNION as well although the documentation mentions - "Do not use SDO_AGGR_UNION to merge line string or multiline string geometries; instead, use the SDO_AGGR_CONCAT_LINES spatial aggregate function."
    (3) SDO_AGGR_SET_UNION
    I tried SDO_AGGR_SET_UNION as well. It sounded promising as the documentation doesn't mention anything related to arcs but says: "Can aggregate sets of lines..."
    2 and 3 give the same result. Please have a look at the screenshot (mh, looks like I can't upload a picture...)
    I would like to aggregate the segements - is there another function in Oracle I could use?
    Any idea, whether SDO_AGGR_UNION / SDO_AGGR_SET_UNION are / are not suitable for my dataset?
    Many thanks, Rob
    My view definitions:
    CREATE OR REPLACE FORCE VIEW AV_V_STRASSEN_2
    AS
      SELECT l.fid,
        ln.location_name,
        SDO_AGGR_UNION(sdo.SDOAGGRTYPE(rs.geom, 0.005)) geom
      FROM lm_lo_location l,
        lm_lo_location_name ln,
        lm_lo_road_section rs
      WHERE l.fid = ln.fid_lo_location
      AND l.fid   = rs.fid_lo_location
      GROUP BY l.fid,
        ln.location_name;
        CREATE OR REPLACE FORCE VIEW AV_V_STRASSEN_3
    AS
        SELECT l.fid,
        ln.location_name,
        sdo_aggr_set_union (get_geom_set ('lm_lo_road_section', 'geom','fid_lo_location = ', l.fid), .0005 ) geom
      FROM lm_lo_location l,
        lm_lo_location_name ln,
        lm_lo_road_section rs
      WHERE l.fid = ln.fid_lo_location
      AND l.fid   = rs.fid_lo_location
      GROUP BY l.fid,
        ln.location_name;

    R o b wrote:
    after some further tests I found out that the cause of the issue seems to be the application I used for viewing my road network.
    I displayed the view in SQLDeveloper and with FME and both look fine - result is expected (for view 2 and 3). But initially I used a different package for checking the view visually.
    Yes, that can happen sometimes. Currently I've been working with one of the biggest GIS-applications out there, and I have noticed that especially when zooming in or out rapidly gaps appear between lines (when I know for certain that there are no gaps - because I checked). It's weird that, but it can trick you into believing things are not right.
    R o b wrote:
    Stefan - thanks for yopur reply:
    - I need the roads not road segements when displaying the data in our GIS system, most users want a road not single segements
    - performance : will see, if it's not good I will create a mat. view, road network is quite static and doesn't change often
    - gaps : there are no gaps in our data set (but "gaps" appeared when I displayed the view in one specific software package).
    - sdo_aggr_union / sdo_aggr_set_union seem to do what I want and seem to work with our data as well
    Roads do make more sense to users - that is true. If you also need segments, maybe the LRS stuff can help you there: create the necessary segments on the fly when needed? On the other hand you are right, road networks tend to stay the same for a long time, and if the do change you usually have plenty of notification so an MV might be best (also depends on the number of users and the type of users I suppose).
    Glad it's working for you now!
    Cheers,
    Stefan

  • Import Network Model from Shapefile

    Hello,
    How to import shapefile of roads network (network data model) into oracle spatial? (Oracle+Spatial 10.2g)
    http://www.oracle.com/technology/software/products/spatial/files/shape2sdojava.zip deals only with normal (non-network) spatial data..
    Huge thanks!

    Ok, putting together your help, I managed to get myself a network model, hurray! But after this script in the end (could you peep through it and tell if anything's missing), VALIDATE_NETWORK gives me this:
    SDO_NET.VALIDATE_NETWORK('SHP_TABLE_NET')
    No Link Geom Metadata!
    How (where) would I insert that Link Geom Metadata? All I found is USER_SDO_GEOM_METADATA, but there is nowhere to insert Link data. Googled, too.
    The script, together with instructions, in case you make a nice use of it ;):
    * Import a Shapefile into Oracle Spatial as a normal vector map;
    * (ISSIT POSSIBLE TO AVOID THIS STEP? PL/SQL .sql file script? But that with DDL restrictions, clumsy variable definitions in DERLARE section etc. drove me nuts and I gave up, just asking users to do simple Find/Replace..):
    Replace all occurrences of SHP_TABLE (case sensitive, can be part of a word) in the script below with the table name of the imported map from Shapefile (copy all script from below to a text editor and perform that replace);
    * Copy/Paste (in Linux: select text and then use middle mouse button or Shift+Insert to paste it in a console) the script line-by-line, follow any severe errors (ignore ones, when it writes that table cannot be dropped when it does not actually exist :) and the like).
    -- delete any tables existing
    EXECUTE SDO_NET.DROP_NETWORK('SHP_TABLE_NET');
    DROP TABLE SHP_TABLE_PLINK$;
    DROP TABLE SHP_TABLE_EDGE$;
    DROP TABLE SHP_TABLE_NODE$;
    DROP TABLE SHP_TABLE_LINK$;
    DROP TABLE SHP_TABLE_FACE$;
    -- delete any existing geometry layer
    EXECUTE SDO_TOPO.DELETE_TOPO_GEOMETRY_LAYER('SHP_TABLE', 'SHP_TABLE_TOPO', 'FEATURE');
    DROP TABLE SHP_TABLE_TOPO;
    -- then drop existing topology
    EXECUTE SDO_TOPO.DROP_TOPOLOGY('SHP_TABLE');
    -- create new topology
    EXECUTE SDO_TOPO.CREATE_TOPOLOGY('SHP_TABLE', 0.5);
    -- insert the universal face for an empty topology
    INSERT INTO SHP_TABLE_FACE$(face_id, boundary_edge_id, island_edge_id_list, island_node_id_list, mbr_geometry)
    VALUES(-1, NULL, SDO_LIST_TYPE(), SDO_LIST_TYPE(), NULL);
    -- create an Oracle table with a feature layer
    DROP TABLE SHP_TABLE_TOPO;
    -- note, do not create unique id (PRIMARY KEY) as the data in teleatlas.dbf is inconsistent
    CREATE TABLE SHP_TABLE_TOPO(id NUMBER, feature SDO_TOPO_GEOMETRY);
    --CREATE TABLE SHP_TABLE_TOPO(id number, type varchar2(1), feature SDO_TOPO_GEOMETRY);
    -- register feature layer with topology
    EXECUTE SDO_TOPO.ADD_TOPO_GEOMETRY_LAYER('SHP_TABLE', 'SHP_TABLE_TOPO', 'FEATURE', 'CURVE');
    -- create updatable TOPO_MAP object and load the whole topology in cache
    -- since we just created the topology, the cache will be empty
    EXECUTE SDO_TOPO_MAP.DROP_TOPO_MAP('SHP_TABLE_MAP_CACHE');
    EXECUTE SDO_TOPO_MAP.CREATE_TOPO_MAP('SHP_TABLE', 'SHP_TABLE_MAP_CACHE');
    EXECUTE SDO_TOPO_MAP.LOAD_TOPO_MAP('SHP_TABLE_MAP_CACHE', 'true');
    -- copy/paste everything in one go between BEGIN and COMMIT; (including):
    -- this one will demand a considerable amount of time
    BEGIN
    FOR r IN (SELECT id, geometry FROM SHP_TABLE) LOOP
    -- associate topological primitives with features
    INSERT INTO SHP_TABLE_TOPO(id, feature)
    VALUES(r.id,
    SDO_TOPO_MAP.CREATE_FEATURE('SHP_TABLE',
    'SHP_TABLE_TOPO',
    'FEATURE',
    r.geometry)
    END LOOP;
    END;
    COMMIT;
    -- commit topology changes
    EXECUTE SDO_TOPO_MAP.COMMIT_TOPO_MAP;
    EXECUTE SDO_TOPO_MAP.DROP_TOPO_MAP('SHP_TABLE_MAP_CACHE');
    -- check how many primitives were converted (should be the same number as primitives in the DB)
    SELECT COUNT(*) FROM SHP_TABLE_TOPO;
    -- after an initial bulk load into an empty topology, initialize_metadata
    EXECUTE SDO_TOPO.INITIALIZE_METADATA('SHP_TABLE');
    -- check here what tables have been created:
    SELECT table_name FROM user_tables WHERE table_name LIKE 'SHP_TABLE_%$';
    CREATE TABLE SHP_TABLE_LINK$
    AS SELECT edge_id AS link_id,
    start_node_id,
    end_node_id,
    geometry
    FROM SHP_TABLE_EDGE$;
    -- FULL NETWORK:
    --CREATE TABLE SHP_TABLE_PATH$(PATH_ID NUMBER,
    -- PATH_NAME VARCHAR2(200),
    -- PATH_TYPE VARCHAR2(200),
    -- START_NODE_ID NUMBER NOT NULL,
    -- END_NODE_ID NUMBER NOT NULL,
    -- COST NUMBER,
    -- SIMPLE VARCHAR2(1),
    -- PATH_GEOMETRY MDSYS.SDO_GEOMETRY);
    --CREATE TABLE roads_incompl_plink$(path_id number not null, link_id number not null, seq_no number not null);
    --INSERT INTO USER_SDO_NETWORK_METADATA(
    -- network, network_category, geometry_type,
    -- node_table_name, node_geom_column,
    -- link_table_name, link_geom_column, link_direction,
    -- path_table_name, path_geom_column,
    -- path_link_table_name)
    -- VALUES(
    -- 'SHP_TABLE_NET', 'SPATIAL', 'SDO_GEOMETRY',
    -- 'SHP_TABLE_NODE$', 'GEOMETRY',
    -- 'SHP_TABLE_LINK$', 'GEOMETRY', 'UNDIRECTED',
    -- 'SHP_TABLE_PATH$', 'PATH_GEOMETRY',
    -- 'SHP_TABLE_PLINK$');
    -- MINIMAL NETWORK:
    INSERT INTO USER_SDO_NETWORK_METADATA(
    network, network_category, geometry_type,
    node_table_name, node_geom_column,
    link_table_name, link_geom_column, link_direction)
    VALUES(
    'SHP_TABLE_NET', 'SPATIAL', 'SDO_GEOMETRY',
    'SHP_TABLE_NODE$', 'GEOMETRY',
    'SHP_TABLE_LINK$', 'GEOMETRY', 'UNDIRECTED');
    SELECT SDO_NET.VALIDATE_NETWORK('SHP_TABLE_NET') FROM DUAL;
    COMMIT;

  • Network Model  - Arcs create unexpected results

    Hello Spatial Users,
    I have created a road network using the "Automatic" Network Definition, loaded all the nodes and links, and everything seems to be OK. It all validates, links and nodes have the correct values. It is an undirected network.
    I can create shortest paths, but the issue I'm having is arcs within the links are returning unexpected results. It is as though the start of the arc is used and then it follows the arc and jumps back to the end of the line - so the shortest path is not the shortest with all this jumping from start to finish of the arcs within the line string.
    Do I need to convert the arcs to lines or am I missing something else? I was hoping that because it was 'undirected' this would resolve this issue.
    We are using 11.1.0.6.0.
    Thanks for your help,
    Kerryne

    Hi, Kerryne,
    NDM doesn't support arcs in its spatial path representation. For arcs it will only use start and end pt of the arc. You need to approximate arcs as linear segments for link geometry to get a more accurate path geometry.
    Regards,
    Jack

  • Network Model - AStar dies, Dijkstra is OK

    Hi all,
    I'm using the Network Model to model a road network. I have a problem when a "complicated path" can't be found. By this I mean two nodes that aren't connected (one of them is an island with no connectivity in the nertwork) but the intervening network "space" is complicated and extensive. When the intervening "space" is smaller then there isn't a problem.
    When I use shortestPathAStar() then my Java app just eats up memory and CPU and eventually runs out of Java heap space. When I use shortestPathDijkstra() then the code correctly works out there is not a path between the two.
    The problem for me is that i'd really like to use AStar. I'm calculating many paths through the network and A* is just so much faster....
    Are there any bugs or known issues in this area, or has anyone else seen anything? I can't find anything on Metalink.
    Thanks
    Steve

    AStart algorithm uses more memory compared to Dijkstra Algorithm in NDM API.
    If the network is not fully connected, you could use isReachable(network,startNodeID,endNodeID) method first to find out if there exists at least one path before computing the shortest path.
    The overhead for this method is small compared to the shortest path algorithms.
    You could also try to increase the heap size (using Java -Xmx heapSize) when running your application.
    By the way, what is the size of the network and what is the java heap size you use?
    What version are you using?

  • Network Data Modeler Source

    I have been working on building PL/SQL to extract Network models from well formed road shape files. I have successfully built a rather large road network and would like to add some features to Oracle's Network Data Model Editor to assist with final editing and add the pl/sql extraction module. Does anyone know if Oracle has released the source for this or if they are planning to?
    Thanks

    Hi,
    Please see the Data Modeler Forum message option Show Source/Target Name “on” in the logic model for an answer to this question.
    David

  • Getting Error while running SDO_ROUTER_PARTITION in Release 10.2.0.1.0

    Hi
    We are building the road network for Bangalore data with Oracle Routing server. we are using Oracle Release 10.2.0.1.0. I haven’t run the script loadrouter.sql which is shipped with Oracle Routing server
    When I try to create the PARTITION table using the procedure
    exec SDO_ROUTER_PARTITION.partition_router('NODE_PART', 4000);
    we are getting the error as
    ERROR at line 1:
    ORA-29531: no method partition_router in class
    oracle/spatial/router/partitioning/ElocationPartition
    ORA-06512: at "MDSYS.SDO_ROUTER_PARTITION", line 99
    ORA-06512: at "MDSYS.SDO_ROUTER_PARTITION", line 663
    ORA-06512: at line 1
    Even later I tried to run loadrouter.sql script, its giving error as package already exists.
    But I copied the entire tables into dump file and put it in Oracle Release 10.1.0.4.0 its working fine because already I run the loadrouter.sql script there.
    Then I configured the Routing Server for this Data, its working fine.
    But when I make the return_driving_directions=”true” its giving error as
    <?xml version="1.0" encoding="UTF-8" ?>
    <RoutingEngineException>[REE-0108: SQLException caught while trying to call SDO_ROUTER_PARTITION.get_edge_info: [ORA-00942: table or view does not exist ORA-06512: at "MDSYS.SDO_ROUTER_PARTITION", line 1606 ORA-06512: at line 1 ]]</RoutingEngineException>
    How to solve these problems?

    hi,
    do you have atg search installed in your environment? if so configure it properly
    Edited by: Raghuram A on Mar 14, 2013 11:33 PM

Maybe you are looking for

  • Laserjet pro 300

    I installed LaserJet Pro 300 with Windows 8 and it worked great for several months.  Upgraded to 8.1 and have experienced problems everyday.  The print queue won't clear when I delete documents; starting and stopping the spooler doesn't clear the que

  • How to access my App Store on iPhone 4s

    What do I need to do to access my App Store so I could download some apps

  • Java 6 update 3 changes

    Hi, I have been using my applet software now many years. It uses socket to connect server. After I downloaded this new Java update 1.6.0_03-b05 my software stop to working. Now I get errors to console: App1: java.security.AccessControlException: acce

  • IWS 6.0 SP1, document contained no data

    Hello all, I'm working on iWS6.0 SP1 on Solaris 8 and when I start the administration console (Netscape Communicator, port 7777) I see this Netscape error: "the document contained no data. Try again later or contact the server administrator", and the

  • Synchronizing on multiple objects

    I have a situation as listed below. My code is multithreaded. I need to protect the data in mMyMap. I have other methods that can access the data in mMyMap. If I were just using 1 object, I lock access to the object by locking the key (it's a global