I have a question, but it is difficult to phrase. I am picking up GIS methods as I go, and I have run into this problem frequently. Please excuse me if I am in the wrong place.

When organizing information, is it better to group Features together and display/arrange accordingly? Or is it better to attach specific information to each Feature individually?

For a real-world example, I have lots of Features (>10000). Each Feature is given an icon, where the icon represents aspects of the feature. The map consists of layers that organize and display the Features. Take, for example, the question of where to store the icon information? Should I let the layers dictate the icons that are displayed? Or should I let the Features render themselves in whatever layers they are in? This is coming from a programmer, so processing speed/memory are the main issues.

Is there a general design principle for this sort of behavior? If my question indicates a deeper misunderstanding, please fill me in. I've been running in circles.

  • 2
    Are you asking about object-oriented principles vs procedural principles? For ten thousand features, I'd pick whichever one is cleaner/easier to maintain, since you'll undoubtedly be making minor changes down the road.
    – L_Holcombe
    Dec 4 '12 at 20:17
  • @L_Holcombe A good point. I am currently in the process of making MAJOR changes, because the previous organization (which consisted of both types of behavior) quickly became unorganized and unpredictable. I was hoping there was some GIS principles I could translate into a programmatic model...
    – naugler
    Dec 4 '12 at 20:24

This is kind of tough to understand. I'm a GIS Analyst by trade (trying to learn python), so I'll try to give you "GIS Perspective".

The features(points, line, polygons, mainly vector data) that I typically have in my map are SYMBOLIZED (ICON?) by a set of attributes (data) that are linked with the feature. In ARCVIEW (the one I'm most familiar with) I can have layers upon layers of data and SYMBOLIZE by a set of fields (data). So, I could have a point layer that represents monitoring wells, and symbolize that by groundwater elevation, samples that were analyzed (sulfates, chromium) and even temporal data. So, wells that only popped up hex would be a circle, wells that only have chromium would be a square (this is VERY simple). What I'm getting at is, I will create the symbol by the UNDERLYING attributes AS WELL AS the type of feature it is.

  • No, this is helpful. However, it sounds like what you call 'layers' we might call 'models', and what you call 'symbolizers' we might call 'views', or even 'layers'. It's confusing, I'm confused often. But in actually writing something like ARCVIEW perhaps I should simply use the Features to contain data/fields, and use the Layers to 'symbolize' that data. It's just hard to keep the two from blending when I need to define objects for my map ahead of time. (I can't be building new objects each rendering cycle)
    – naugler
    Dec 4 '12 at 20:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.