Select to view content in your preferred language

How to display 1 million points in the Map?

6874
16
04-21-2011 09:43 AM
SripathiRao
Emerging Contributor
Hi,

I am new to arcGIS. I have requirement to display 1 million points in the Map. Can anyone guide me the efficient way to achieve this?

I have tried by using Graphic Layer by adding Graphic object to GraphicCollection, but it is taking indefinite time to display the points.

Any help will be highly appreciated.

Thanks in Anticipation,
Sripathi Rao
0 Kudos
16 Replies
dotMorten_esri
Esri Notable Contributor
You DO NOT want to render this client side - Cluster or not. Remember that the client will have to not only have to render them, but even worse have to download 1000000 points to the client. This is NOT going to work well.
Instead this is what the server-side rendering should be used for. There's absolutely no point in rendering all these points client-side. Only render points on the client if you know that they are going to interact with them directly using mouse hover/enter/leave. There is no app where you would expect the user to be looking at all 1 million points. Instead leave them rendered at the server, and if the user wants to query information about a specific point, use the click event and then use QueryTask to get the information about that one specific element.

I cover some of this and various tricks you can use in this session:
http://resources.arcgis.com/gallery/video/arcgis-api-for-silverlightwpf/details?entryID=E50439B8-142... (jump to 26:29)
0 Kudos
IgressT
Emerging Contributor
You DO NOT want to render this client side - Cluster or not. Remember that the client will have to not only have to render them, but even worse have to download 1000000 points to the client. This is NOT going to work well.
Instead this is what the server-side rendering should be used for. There's absolutely no point in rendering all these points client-side. Only render points on the client if you know that they are going to interact with them directly using mouse hover/enter/leave. There is no app where you would expect the user to be looking at all 1 million points. Instead leave them rendered at the server, and if the user wants to query information about a specific point, use the click event and then use QueryTask to get the information about that one specific element.

I cover some of this and various tricks you can use in this session:
http://resources.arcgis.com/gallery/video/arcgis-api-for-silverlightwpf/details?entryID=E50439B8-142... (jump to 26:29)


Thanks Morton, I looked at the video and you present very interesting techniques. In my situation we don't use (or better we don't have resources) ArcGIS server. So can you suggest something that I can do on server side to render all the points and send it to the client. If you see the thread my problem is

1. I need to display 20,000 points stored on the SQL Server 2008
2. No Access to ArcGIS server
3. Each point on the map indicates some kind of data has been collected at that location and I have to give a overall view to the user to show where the data has been collected.
4. When the user zooms in to a particular location then show detailed info about the point
0 Kudos
dotMorten_esri
Esri Notable Contributor
Sorry no. You really need a server-side component to do something like this properly. And after all this IS a client API, meaning a client to primarily ArcGIS Server. However, this might also be interesting for you: http://www.zekiah.com/index.php?q=node/146

Btw as per the license requirements (just making sure you know), AFAIK if you don't own an ArcGIS Server license, the ArcGIS Silverlight API is not free to use.
0 Kudos
IgressT
Emerging Contributor
Sorry no. You really need a server-side component to do something like this properly. And after all this IS a client API, meaning a client to primarily ArcGIS Server. However, this might also be interesting for you: http://www.zekiah.com/index.php?q=node/146

Btw as per the license requirements (just making sure you know), AFAIK if you don't own an ArcGIS Server license, the ArcGIS Silverlight API is not free to use.


Thanks for the link...
I was under the impression that I can build Silverlight applications using ESRI API's even if I don't have ArcGIS server. Ok I will let my team know.
0 Kudos
LanceCrumbliss
Frequent Contributor
Sorry no. You really need a server-side component to do something like this properly. And after all this IS a client API, meaning a client to primarily ArcGIS Server. However, this might also be interesting for you: http://www.zekiah.com/index.php?q=node/146

Btw as per the license requirements (just making sure you know), AFAIK if you don't own an ArcGIS Server license, the ArcGIS Silverlight API is not free to use.


out of curiosity, (we have a license, after all) where is the relevant section of the ArcGIS Silverlight API license?
0 Kudos
dotMorten_esri
Esri Notable Contributor
You can build ESRI Silverlight API apps without a server license. However it requires it to be either be a non-commercial app, or that you buy a license.

This is described in section 3 of the license agreement:
http://resources.arcgis.com/node/agreement/1226

This also describes in more detail what "non-commercial" means. (although its all in lawyer speak 🙂
0 Kudos
LanceCrumbliss
Frequent Contributor
Wow...ok. I'm glad we have a license because honestly I feel sorry for anyone looking for anything in there that would highlight the restriction mentioned above.  Lawerspeak indeed!  🙂
0 Kudos