{"action":"created","issue":{"url":"https://api.github.com/repos/glob3mobile/g3m/issues/141","labels_url":"https://api.github.com/repos/glob3mobile/g3m/issues/141/labels{/name}","comments_url":"https://api.github.com/repos/glob3mobile/g3m/issues/141/comments","events_url":"https://api.github.com/repos/glob3mobile/g3m/issues/141/events","html_url":"https://github.com/glob3mobile/g3m/issues/141","id":108091756,"number":141,"title":"Does MarksRenderer have a max capacity ?","user":{"login":"octavianiLocator","id":14217058,"avatar_url":"https://avatars.githubusercontent.com/u/14217058?v=3","gravatar_id":"","url":"https://api.github.com/users/octavianiLocator","html_url":"https://github.com/octavianiLocator","followers_url":"https://api.github.com/users/octavianiLocator/followers","following_url":"https://api.github.com/users/octavianiLocator/following{/other_user}","gists_url":"https://api.github.com/users/octavianiLocator/gists{/gist_id}","starred_url":"https://api.github.com/users/octavianiLocator/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/octavianiLocator/subscriptions","organizations_url":"https://api.github.com/users/octavianiLocator/orgs","repos_url":"https://api.github.com/users/octavianiLocator/repos","events_url":"https://api.github.com/users/octavianiLocator/events{/privacy}","received_events_url":"https://api.github.com/users/octavianiLocator/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-09-24T09:27:19Z","updated_at":"2015-10-08T10:00:14Z","closed_at":null,"body":"Hi\r\n\r\nI have json file containing a dataset with ~50K points in a city, which I try to draw as Markers in my G3M Android app using MarksRenderer. The application is a simplified version of the G3MShowMarkersActivity example from G3MAndroidDemo.\r\n\r\n```Java\r\n// Initialize G3M basic params\r\nfinal G3MBuilder_Android builder = new G3MBuilder_Android(getApplicationContext()); \r\n// Initialize MarksRenderer\r\nprivate MarksRenderer _assetMarkerRenderer = new MarksRenderer(false, false, false );\r\n// Parse JSON file, construct Marker objects and add to MarksRenderer\r\nbuilder.setInitializationTask(getAssetMarkerLayersTask());\r\n// Display Marks\r\nbuilder.addRenderer(_assetMarkerRenderer0);\r\n// Fill LayerSet with the layers and assign\r\n...\r\n```\r\nThe performance impact when I assign all the points to a single MarksRenderer isn't big, but only around 2K of the points get rendered in the course of several minutes. Why does it do so?\r\n\r\nThe Marks renderer is populated as follows:\r\n```Java\r\n/*Excerpt from the \"getAssetMarkerLayersTask()\" initialization task*/\r\n\r\n// Having parsed the JSON file, construct the Mark and add to MarksRenderer\r\nfor (int i = 0; i < assetList.getSize(); i++) {\r\n        Asset a = assetList.get(i);\r\n        // Initialize Mark\r\n        Mark markM = new Mark(\".\", new Geodetic3D( Angle.fromDegrees(a.getLatitude()), Angle.fromDegrees(a.getLongitude()), 0 ), AltitudeMode.RELATIVE_TO_GROUND);\r\n        // Add Mark to MarksRenderer\r\n        _assetMarkerRenderer.addMark(markM);\r\n}\r\n```\r\n\r\nI also tried rendering the 50K points with several MarksRenderers. Although, after waiting several minutes, a good portion of the assetList points get rendered. A higher number of MarksRenderers has a stronger performance impact. \r\n\r\n__Am I doing something wrong?__\r\n\r\n*Side note: The app was tested on a Samsung Galaxy Note 10.1 (2013)*"},"comment":{"url":"https://api.github.com/repos/glob3mobile/g3m/issues/comments/146479736","html_url":"https://github.com/glob3mobile/g3m/issues/141#issuecomment-146479736","issue_url":"https://api.github.com/repos/glob3mobile/g3m/issues/141","id":146479736,"user":{"login":"octavianiLocator","id":14217058,"avatar_url":"https://avatars.githubusercontent.com/u/14217058?v=3","gravatar_id":"","url":"https://api.github.com/users/octavianiLocator","html_url":"https://github.com/octavianiLocator","followers_url":"https://api.github.com/users/octavianiLocator/followers","following_url":"https://api.github.com/users/octavianiLocator/following{/other_user}","gists_url":"https://api.github.com/users/octavianiLocator/gists{/gist_id}","starred_url":"https://api.github.com/users/octavianiLocator/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/octavianiLocator/subscriptions","organizations_url":"https://api.github.com/users/octavianiLocator/orgs","repos_url":"https://api.github.com/users/octavianiLocator/repos","events_url":"https://api.github.com/users/octavianiLocator/events{/privacy}","received_events_url":"https://api.github.com/users/octavianiLocator/received_events","type":"User","site_admin":false},"created_at":"2015-10-08T10:00:14Z","updated_at":"2015-10-08T10:00:14Z","body":"Hello there @DiegoGomezDeck. Thank you for your insight. \r\nI would very much like to try both the Vector Tiles and Vector Streaming options that you have presented above.\r\nAs I see it, the static nature of the vector tiles option would require me to re-generate the tiles whenever:\r\n- a feature is modified\r\n- the number of features changes\r\n- what else?\r\n\r\nI am setting up a GeoServer with a PostgreSQL database (+ PostGIS extension) \r\nI manually mapped and georeferenced an ortho-image to create my vector layers - containing polygons, lines and points. Additionally, I created the raster tiles. As soon as the data upload to the server is complete, I will explore the options in more detail. \r\n\r\n**1.** For the vector tiles - if a polygon is split into multiple tiles, but it is still entirely visible in the view, could I still select it entirely by touching inside the rendered polygon? Does it still act as a whole?\r\n**2.** How can I use VectorStreaming capabilities with my server? - the sample code uses MapBoo\r\n**3.** Can I still use **caching** with any of these options? \r\nIs it possible to render the data from local storage? (say I copy all the necessary raster tiles and vector data, or tiles, on the mobile devices' storage - for cases when there is no internet connection)\r\n\r\nWish you and your team all the best."}}