Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member

Entering geographic data with the Location module

From: Drupal 6: Online Presentation of Data

Video: Entering geographic data with the Location module

We've already set up Drupal to geocode addresses. Now we're going to provide a place where each member of our fictional family lives. First, we need to add location fields to the content type that stores that information. We could add it to the Person content type, in which case each member has their own address. But we know that some family members live together, so keeping in mind a concept we learned in the Planning your Data Structure video, we're going to create a new content type called Household. We're making the assumption that each person has only one household, but that each household can contain many people in what's called a one-to-many structure. We'll put this altogether later using relationships.

Entering geographic data with the Location module

We've already set up Drupal to geocode addresses. Now we're going to provide a place where each member of our fictional family lives. First, we need to add location fields to the content type that stores that information. We could add it to the Person content type, in which case each member has their own address. But we know that some family members live together, so keeping in mind a concept we learned in the Planning your Data Structure video, we're going to create a new content type called Household. We're making the assumption that each person has only one household, but that each household can contain many people in what's called a one-to-many structure. We'll put this altogether later using relationships.

Again, we could do it in other ways. All have their advantages and disadvantages. We could introduce flexibility, but also complexity, by allowing people to have more than one household, for instance. Like many other data management decisions, it's a tradeoff. I'm sure you can see how these tradeoffs can have strong social and political ramifications. So the way you plan your data at the beginning, means a lot. Since we're going to be adding locations to nodes, we have to turn on a module that permits that. To do so, go to Administer > Site building and Modules. Scroll down to the Location group, once there, turn on the Node Locations module and scroll down further and save your configuration. Now we're going to create our Household content type. To do so, go to Administer > Content management and Content types. Then click on Add content type. We'll call this Household, the machine-readable name will also be household with a lowercase h, and the description will be 'A place where people and pets live.' Before we scroll down any further, I'm going to use automatic title generation in this content type. We only want to use this content type to enter some very basic information, i.e., the address of the household, and any notes that we have on the household. We don't really need a title, so we'll have that automatically generated and just get it out of the way, as we did for People.

So let's click on Automatic title generation, automatically generate the title and hide the field, and we could just put in, as you know, a straight-ahead pattern, such as This is a household. Of course, then we couldn't tell one household from another in the Administrator view. It's much better to use Replacement patterns. Fortunately, there are some location replacement patterns. Click on the Replacement patterns link and scroll down a little bit, and you'll see the Location tokens group. Let's see what some of those are. We see that there is a street, city, province and so forth followed by this N. That N represents which of the locations you're giving. The location module is unusual and that it lets you enter many addresses at once. We're only going to use one, so we're going to have the first one indicated in the title. As it says here, that would be the one numbered 0. If we had three, they would be numbered 0, 1 and 2.

But we'll just use this one, location- street, followed by location_city. I copy that by hitting Command+C on the Mac or Ctrl+C on the PC and scroll back up, and paste in location-city_0. Good, so we have our title in place now. Let's scroll down a little further and see what other options we have available to us. As usual, we have our Submission form settings. Instead of saying Body, I'm going to say Notes about this household, and I don't think we need any submission guidelines. Scroll down further and we see the usual Workflow settings. I don't think we need it promoted to the front page, and Comment settings. I don't think we need comments on a household. But there is one other area here, and this is where all of the magic happens with the location, this Locative information.

The first part lets you say how many locations you're going to allow, and it's a little unusual because it says we're allowing None, but they can add three at a time. I think that's an error in the defaults. In our case, we're going to say you can add one at a time, you can choose to add none, but we're going to only add one. Next, for Collection settings, again, the defaults were a little strange. They are allowing you to enter the street, but not the city. Well, I think, we want to allow the city, the state, and the postal code. Scrolling down further, we see the RSS Settings and Display Settings. We're actually not going to touch those RSS Settings, which are somewhat complex. In the Display Settings, we won't be making any other changes. However, there is one final change I do want to make, scrolling back up to this Collection settings, the Collapsible and Collapsed. Unfortunately, if you leave these checked, people very often miss the Location settings in their nodes, so I'm going to make sure they're always front in center and visible.

I believe we're all ready. I'll scroll to the bottom and say Save content type. Good! Now we're ready to add our nodes, but you'll notice something strange when I start to do so. We go to Create content and create a household. We have note title, which is good. Remember that's automatic. We have notes about this household up here, and then way at the bottom we have our Location. It would be nice, if we can move this location to up above the body. Unfortunately, with this module, it's not as easy as it could and perhaps should be.

If you go to Administer > Content management and Content types, you'd normally expect to be able to manage those fields and move them around, so that you could put the location above the body. Unfortunately, neither of those show up, because they're considered built into the content type. There is a way to do that by turning off JavaScript. It's rather complicated. For right now, we're just going to leave it as it is and start creating our content. So we create content in the household. The first place we're going to create is going to be the home of Dani and Eli and and their pet Sophie. I'll scroll down. We'll give this house a name. We'll call it, House of little puppies. The street address will be 101 South Main Street. Additional would be if there were a floor, for example. The City, we'll say Oberlin, and for Province, we'll say Ohio. Now watch when I start to type. It auto-completes, i.e., it gives you a choice of all the things in the State database. So I'll just click on that, Postal code, 44074, and we'd leave Latitude and Longitude blank.

But watch what happens when we save this. The Latitude and Longitude were automatically given. That's that Google Maps Geocoding that we mentioned earlier in the series. There is one thing to remember, if your addresses don't get a geocode properly. Because the geocoder is getting information form a remote server, it only works if you're online and connected to the Internet. Also, the geocoding will only do as much as it can. The Google Maps API, for example, will figure out a ZIP code if you don't provide one, and will geocode the middle of a city, if you don't give an address.

The next that we'll do is we're going to connect this person to this address. To do so, we'll go back to our content type by going to Administer > Content management and Content types and manage fields of the Household content type. We'll add a new field, we'll call it residence, and the field will be residents, obviously with a lowercase r. The field type will be a Node reference and it will be a Select list as checkboxes. You'll see why in just a moment. Scroll down and save.

We've created this household and we want to connect it to people. Therefore we'll add a list of people and you could check exactly who lives there. Of course, if we have a larger list of names, you could do it with an auto-complete text field or other ways. But for now, with our small number of people, I think that works best. Scroll down a little bit. We don't need a Help text. For Number of values, we'll make it Unlimited, because, of course, any number of people could live at that location. Of course, the type that can be referenced is Person. Scroll down further and save the field settings. Now let's go back to that household that we just created. To do so, go to Administer > Content management and Content and there we see it at the top.

We'll edit it, scroll down, we see the address, then we see all of the people who could live there. I believe that we're going to put Eli, Dani and Sophie in that household. Scroll to the bottom, and Save. There, we've now created a household and found a way to put people into that household. I want to mention one other module that sometimes creates confusion. To see it, go to Administer > Site building and Modules. Then once again, scroll down until you get into the CCK group. It is also possible to add locations using a CCK field. For example, instead of making that location available in the Household group, we could have added another CCK field to the Person group and so forth. That's useful for some purposes, but if you do that, be careful not to add locations both in the node and in a CCK filed.

I've personally found that to be very confusing and most of the time I found it best to just leave the location CCK alone. But if you did want to use it, this is where you'd turn it on. For us though, we're just going to leave it off. So there we go. But before we leave the subject of location, I want to clarify something that causes some confusion. Drupal's core download includes a module called Locale, which confusingly is related to translations, not location. Furthermore, on each user's account page, there is a section called Locale Setting that has nothing to do with any kind of location. It has to do with time zones. So just remember, when you're dealing with physical places, you want Location and not Locale. But back to location, the module is actually capable of more amazing tricks than we're able to go into here. For example, it can find the distance between two points or do a proximity search to find out where other points are in relation to a certain given point.

We're only going to go into one class of such tricks in the video mapping with the GMap module.

Show transcript

This video is part of

Image for Drupal 6: Online Presentation of Data
Drupal 6: Online Presentation of Data

50 video lessons · 11400 viewers

Tom Geller
Author

 
Expand all | Collapse all
  1. 12m 56s
    1. Welcome
      1m 12s
    2. Reviewing requirements
      3m 35s
    3. Using the exercise files
      3m 11s
    4. Touring examples of data visualization
      4m 58s
  2. 27m 56s
    1. Planning data structure
      8m 26s
    2. Importing and manipulating data
      6m 40s
    3. Looking at Drupal's database
      6m 13s
    4. Deciding whether to store personal data as nodes or users
      6m 37s
  3. 1h 13m
    1. Understanding the Content Construction Kit (CCK)
      4m 57s
    2. Creating new content types with CCK
      7m 26s
    3. Hiding the Body field
      2m 46s
    4. Reflecting CCK field data in the Title field
      7m 28s
    5. Managing CCK field placement
      7m 34s
    6. Exploring CCK's other features
      8m 22s
    7. Using other CCK field types
      3m 25s
    8. Adding date information as a CCK field
      8m 43s
    9. Including images as CCK fields
      10m 23s
    10. Connecting content to existing nodes
      5m 58s
    11. Using taxonomies to categorize and group data
      5m 59s
  4. 53m 54s
    1. Understanding why views are useful
      6m 12s
    2. Using SimpleViews to create basic content views
      5m 49s
    3. Diving into the Views interface
      11m 16s
    4. Adding fields to a view
      7m 12s
    5. Understanding iconic controls in the Views interface
      7m 15s
    6. Surveying the Sort, Filter, and Field options in Views
      5m 40s
    7. Adding view displays as pages, blocks, and RSS feeds
      10m 30s
  5. 43m 34s
    1. Overriding default settings on view displays
      8m 56s
    2. Attaching more information to views
      10m 57s
    3. Improving view appearances with grid, list, and table formatting
      9m 20s
    4. Surveying other basic display settings in Views
      11m 3s
    5. Altering a view's appearance through CSS
      3m 18s
  6. 55m 8s
    1. Importing, exporting, and cloning views
      6m 9s
    2. Controlling access to views
      7m 19s
    3. Learning from built-in views
      5m 52s
    4. Creating views that aren't based on nodes
      10m 6s
    5. Extending views with arguments
      10m 17s
    6. Extending views with relationships
      7m 2s
    7. Going further with relationships
      8m 23s
  7. 46m 40s
    1. Understanding geographic data
      4m 26s
    2. Setting up the Location module
      16m 20s
    3. Entering geographic data with the Location module
      10m 10s
    4. Displaying basic maps with the GMap module
      6m 43s
    5. Integrating the GMap module with Views
      9m 1s
  8. 54m 21s
    1. Exporting data in tabular form
      11m 25s
    2. Planning with the calendar modules
      11m 31s
    3. Using the Charts module and Google Charts
      7m 11s
    4. Graphing data with Open Flash Chart
      4m 50s
    5. Making important data pop out with tag clouds
      7m 46s
    6. Putting it all together in an attractive package
      11m 38s
  9. 36s
    1. Conclusion
      36s

Start learning today

Get unlimited access to all courses for just $25/month.

Become a member
Sometimes @lynda teaches me how to use a program and sometimes Lynda.com changes my life forever. @JosefShutter
@lynda lynda.com is an absolute life saver when it comes to learning todays software. Definitely recommend it! #higherlearning @Michael_Caraway
@lynda The best thing online! Your database of courses is great! To the mark and very helpful. Thanks! @ru22more
Got to create something yesterday I never thought I could do. #thanks @lynda @Ngventurella
I really do love @lynda as a learning platform. Never stop learning and developing, it’s probably our greatest gift as a species! @soundslikedavid
@lynda just subscribed to lynda.com all I can say its brilliant join now trust me @ButchSamurai
@lynda is an awesome resource. The membership is priceless if you take advantage of it. @diabetic_techie
One of the best decision I made this year. Buy a 1yr subscription to @lynda @cybercaptive
guys lynda.com (@lynda) is the best. So far I’ve learned Java, principles of OO programming, and now learning about MS project @lucasmitchell
Signed back up to @lynda dot com. I’ve missed it!! Proper geeking out right now! #timetolearn #geek @JayGodbold
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

Please wait... please wait ...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.


Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ .

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

Join now Already a member? Log in

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.


Mark all as unwatched Cancel

Congratulations

You have completed Drupal 6: Online Presentation of Data.

Return to your organization's learning portal to continue training, or close this page.


OK
Become a member to add this course to a playlist

Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.

Get started

Already a member ?

Become a member to like this course.

Join today and get unlimited access to the entire library of video courses.

Get started

Already a member?

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

The classic layout automatically defaults to the latest Flash Player.

To choose a different player, hold the cursor over your name at the top right of any lynda.com page and choose Site preferences from the dropdown menu.

Continue to classic layout Stay on new layout
Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

Learn more, save more. Upgrade today!

Get our Annual Premium Membership at our best savings yet.

Upgrade to our Annual Premium Membership today and get even more value from your lynda.com subscription:

“In a way, I feel like you are rooting for me. Like you are really invested in my experience, and want me to get as much out of these courses as possible this is the best place to start on your journey to learning new material.”— Nadine H.

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.