FIELD OF THEINVENTION
This invention relates generally to data collection and retrieval, and more particularly to collection and retrieval of geographically-referenced data and to data collection from a plurality of observers over the Internet.
BACKGROUND OF THE INVENTION
When studying phenomena having specific occurrences over a widespread geographic area, it is desirable to be able to receive data from a plurality of observers. Where the specific occurrences are mobile, such as birds, or likely to move rapidly,such as a highly infectious disease, collection of data in real-time from the plurality of observers is essential to a full and accurate study. In order to participate easily, the observers need an easy way to report their findings and to link the datato the geographic location to which it relates. Linking the data in some way in addition to the geographic reference is desirable. Non-contiguous points should be linkable in order to effectively analyze the data.
It remains desirable to facilitate multiple observer projects conducted over a large geographic area.
It is an object of the present invention to provide a method and apparatus to enable a plurality of observers to input geographically-referenced data in real time.
It is another object of the present invention to provide a method and apparatus to enable analysis of non-contiguous geographically-referenced data.
It is another object of the present invention to provide a method and apparatus to enable ornithological studies.
SUMMARY OF THE INVENTION
The problems of collecting and expressing geographically-referenced data are solved by the present invention of a web-based method and apparatus for collecting and expressing geographically-referenced data.
Internet observers may pinpoint locations on a scalable map in order to fix data by latitude and longitude. It also permits the selection of non-contiguous groups of geographic data points for analysis. The system may be used to track birdsightings and migration patterns. The mapping is scalable and can be integrated with a Geographic Information System (GIS), e.g. elevation, vegetation or city maps. Variations over time can be analyzed for a specific point, and pattern movementsbetween points can be tracked.
The present invention together with the above and other advantages may best be understood from the following detailed description of the embodiments of the invention illustrated in the drawings, wherein:
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a system for collecting and expression of geographic-referenced data according to principles of the invention;
FIG. 2 is flow chart of the process of creation of an observation site according to principles of the invention;
FIG. 3 is a flow chart of the process of submitting a query according to principles of the present invention;
FIG. 4 is a table of fields of the locations table of the spatially-linked database of FIG. 1;
FIG. 5 is a table of fields of the observations table of the spatially-linked database of FIG. 1;
FIG. 6 is a first view of the interactive map of the present invention;
FIG. 7 is a second view of the interactive map of the present invention showing a small extent of the view of FIG. 6;
FIG. 8 is a part block diagram, part flow chart of the creation of an observation point according to the present invention; and
FIG. 9 is a part block diagram, part flow chart of a query according to the present invention.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
FIG. 1 shows a web-based system for collecting and expressing geographic-referenced data according to principles of the invention. A web server 5 is connected to the Internet 10. A map server/data processor ("map server") 15 and aspatially-linked database 20 are connected to the web server 5. The configuration is merely exemplary. For example, in alternative embodiments, the map server and database may be combined, the map server and the database may be connected together by anon-Internet network, or the data processor portion may be separated from the map server. Other configurations are possible within the scope of the invention.
The database 20 stores data records having the general form of a location and data associated with that location. In the present embodiment of the invention, the data is stored as two tables, a locations table 25 and an observations table 30. The tables will be described in detail below. In an illustrative embodiment of this invention, the database comprises a plurality of locations for storing data from corresponding of a set of points disposed within a geographic area. The geographic areamay illustratively be small, e.g., Central Park within New York City, or as large as the entire earth, depending upon the needs of the user to collect data. Until established as a data collection site as explained below, the locations of the points areinitially undetermined. Each of the storage locations is dedicated to storing data related to a corresponding point within the geographic area. More particularly, the data may illustratively reflect an event occurring at its point. In an illustrativeembodiment of this invention, the event may be a bird siting. As will be elaborated below, there are many other events that may be observed and applications for this invention. In one illustrative embodiment of this invention, data base ischaracterized as being geographically structured, e.g., each storage location is addressed according to the geographic coordinates of the point to which the data stored therein is related. Other database configurations are possible within the scope ofthe present invention. For example, it is possible to store the locations and observations in the same table.
A plurality of observers 35 are connected to the map server and database over the Internet. A plurality of non-observing users 40 are also able to access the system over the Internet. Often, an observer and a non-observing user will be the sameentity. The observers and non-observing users are clients of the map server. The map server serves an interactive map which the observers use to enter data into the system and the users use to query the system.
The current embodiment of the present invention includes software applications from the Environmental Systems Research Institute, Inc. located in Redlands, Calif. The MapObjects Internet Map Server connects an application program written inVisual Basic to a web server. It enables two-way, stateless communication between the application program and the web browser. Stateless here means that there is no session management and that each communication is a unique event. MapObjects is anActive X control object (also a COM object). MapObjects is a plug-in module for Visual Basic and other languages that renders maps from data files of map features.
An example of a use for the present system is ornithology studies, specifically the study of bird migration. The study of bird migration takes place over a large geographic area with data collected from a plurality of observers. The mobility ofthe subject birds in a study requires real-time entry of observed data. Potentially, observers over the entire range of the study area may enter data using the system of the present invention.
Creating an Observation Site
FIG. 2 is a flow chart of the process of creating an observation site on the interactive map, the site to be stored in the database.
First, the client program is downloaded over the Internet, block 100. In the present embodiment of the invention, the user's browser loads a Java applet. In alternative embodiments of the invention, the client program may use other languages. The user is presented with a map of the project area, along with tools to navigate the map (pan, zoom, etc.).
Next, as the user navigates to smaller map extent, already-existing observation sites become visible, block 105. At even smaller map extent, point creation tools become available. The map scale at which the point creation tools becomes visibleis a configurable property. In the present embodiment of the invention, the point-making tools become visible when a tenth of a degree of latitude or less is visible on the map.
Then, the user, or data gatherer, indicates that an observation site is to be created, in the present embodiment, by clicking with a mouse on a point on the map. The map accepts a map point entered by the user, block 110. The client programdraws a point for feedback, and the user can make further clicks on the map to adjust the point. Other types of data entry are possible within the scope of the present invention.
The user is then prompted to provide a name for the point, block 110.
After the user completes the location, the user submits the location to the system. The client program packages the location as a set of map coordinates, makes calls to the server to do map coordinate conversions, if necessary, to convert thegeographic point of the location to latitude and longitude, block 115. The client program packages other parameters associated with the location, such as the user's login name, the project name, and other data associated with an event occurring at thegeographic point, e.g. a bird sighting, into a URL, block 120. The URL is sent to the server, block 125.
The server parses the incoming parameters, and converts the latitude and longitude coordinate pair into an object in software that represents the location, block 130. In an illustrative embodiment of this invention, the set of maps displayed tothe user or data gatherer includes at least one map, which is geographically referenced map. The geographically referenced map is adapted, as will be explained below, to receive a map point or mark that is placed thereon in relative position withrespect to at least one reference point whose coordinates are known. As indicated above, the geographic coordinates of the point and therefore the geographic location of the map point are initially undetermined. As is well known in the art, therelative position of the map point is compared with that of the map's reference point, whereby the coordinates of the map point may be calculated, i.e., ratios of the relative distances along the axes of latitude and longitude of the map point and thereference point are calculated; the product of these ratios and the known coordinates of the reference point are an accurate indication of the coordinates of the map point or mark made by the data gatherer.
The server then adds the object, including its location attributes, to the database via the map component, which submits the location to the spatially-indexed database, block 135.
The server creates a map overlay showing the newly-entered location and sends an updated map view back to the client, block 140.
The user can repeat the previous steps to create another location, or may submit observation data associated with the newly-entered location.
The present embodiment of the invention is implemented as follows. If a user is logged in as a legitimate user for a project, the user can download the client program. The user navigates through different maps, customized for the project, untilthe user is close to a desired destination. If the user is zoomed in close enough, the user can click a Place Point button. This button enables the client program to capture a mouse click on the map. When the user clicks, the client program draws adot on the map, and also shows the latitude and longitude, for feedback. The client program may have to request the server to convert the point to latitude and longitude, as some maps are in different units. The client program accepts a name in a fieldfor the location (with some restrictions), and the user can click a button to submit the location, or, click on the map again to move it. If submitted, a URL is packaged with parameters as before. The server gets this URL and creates an object insoftware that represents a location, using the parameters submitted. It then adds this object to a map layer using the MapObjects software application. The server also sets other database fields associated with the location, such as, project, user, ordate. Meanwhile, the client program requests a new map from the server so that the user can see the location displayed. In the present embodiment of the invention, this location is a permanent record in the spatially-indexed database of observationlocations.
Submitting a Spatial Query
FIG. 3 is a flow chart of the process of submitting a spatial query and receiving an output of data from the database.
First, the client program is downloaded over the Internet, block 200. In the present embodiment of the invention, the user's browser loads a Java applet. The user is presented with the map of the project area, along with tools to navigate themap (pan, zoom, etc.).
As the user navigates to smaller map scales, observation sites become visible, block 205. In the present implementation, sites designated as Christmas Bird Count (CBC) circles become visible. The Christmas Bird Count is an ongoing wildlifesurvey sponsored by the National Audubon Society. The survey is designed as a series of circular count areas, and observers count birds within these "circles" each year on a prespecified day around 25 December. The CBC was started in 1900 and has over1,500 circles.
The system then accepts a choice from the user of how to select observation sites, block 210. In the present embodiment of the invention, there are four options: a single site, two or more sites one at a time, or selection by enclosing sites inan arbitrary shape or by selecting a predefined geographic area such as a state or a province.
The user then makes a selection, and the selection is indicated as a map overlay, block 215. The map overlay provides feedback as to which observation sites are being selected, and therefore will be included in the database query.
The client program also presents other choices for composing the database query, block 220. In the present embodiment of the invention these choices are which bird species to include, and what time period to cover.
The finished query is then submitted to the server, block 225. This is accomplished by the client which assembles the query parameters into a URL, and opens a connection to the server, transmitting the parameters. If the user selected thearbitrary shape for the query, the user's polygon is sent to the server as a series of map coordinate pairs.
The server parses the incoming parameters, and converts the coordinate pairs into an object in software that represents a polygon, block 230.
The server performs a spatial search, retrieving the observation sites contained within the polygon, and takes the list of observation sites found and performs a database query using the list and other parameters, block 235.
The results of the server query to the database are used to create histograms and tables of results, block 240. The histograms and tables are incorporated into an HTML page and sent to the user, block 245. The server then disposes of theresults, the polygon, and parameters, and is ready for another query. The user may perform another query using the same polygon, which the client program has saved.
The present embodiment of the invention is implemented as follows. The user accesses the web site, and the client program is downloaded to the user's computer. In the client program, the user can navigate to new maps using navigation tools suchas pan and zoom. The position of Christmas Bird Count circles are plotted on the maps. The user goes to a tab in the client program interface, and indicates the method to select circles (single, one by one, or by shape). If the user chooses "by shape"the user can then click on the map repeatedly. Each click becomes a vertex of a polygon. The user does not need to "close" the polygon; the client program will do it. The polygon is drawn over the map while the user creates it. When finished, theuser goes to another tab in the interface and indicates which species is of interest for the query. There is a database lookup functionality to help users find a species using only part of a name. After choosing the species, the user chooses abeginning and ending year. The client program limits the number of years.
At this point, the user submits the query by clicking a button. The query parameters are packaged by the client program as standard Universal Resource Locator (URL) Web protocol parameters (i.e., http://website/. esrimap?paramter1="something"¶meter2="something+else"), and sent to the server.
When the server sees the URL, it passes the URL to the MapObjects application which in turn passes it to a Visual Basic server component. The server parses the request parameters. It takes the points that were part of the polygon and creates asoftware object that represents a polygon. It then performs a spatial query on the polygon asking the server which CBC circles are contained in the polygon. In the present implementation of the invention, the server uses ArcSDE from the ESRICorporation to accomplish this. The server then uses this list, along with the species, and the years specified, to create an Structured Query Language (SQL) statement. The server uses that statement to do a standard relational database query. Theresults of the query are used to generate histograms and a table of results. An HTML page is created by the server and sent back to the client program in the user's browser. The client program tells the user's browser to display this new HTML page, andthe user sees the histograms. The server disposes of the polygon and the query results. The client program, however, retains the points that the user specified, and the user can do a new query based on the same polygon, just changing the species oryears. The points will persist until the user asks for a new map (by panning, say), or creates a new query shape or selection, or if the user quits out of the program.
FIG. 4 shows a selection of fields from the table of locations from the spatially-linked database of FIG. 1. The table has a plurality of fields. In the present embodiment, the fields are as follows:
LOC_ID 300 [Location ID]--a unique identifier for a location, assigned internally, never displayed;
NAME 302--location name;
DESCRIPTION 304--free text location description;
ENTRY_TECHNIQUE 306--method used to enter and create the location record;
UNCERTAINTY_RADIUS 308
CREATION_DT 310 [Creation Date/Time]--date/Time the observation record was created;
LAST_EDITED_DT 312 [Last Edited Date/Time]--date/Time the observation record was last edited;
OWNER_ID 314--user ID of the observer or non-observing user who `owns` the location record;
LATITUDE 316--latitude of the location in decimal degrees;
LONGITUDE 318--longitude of the location in decimal degrees;
STATPROV_LIST 320--list of States/Provinces this location intersects;
COUNTRY_CODE 322--ISO standard country code for the location;
FEATURE 324--Link to another table which contains the map-drawing characteristics of the location; and
IN_USE 326--(Yes/No) Can this location be used for new observations.
FIG. 5 shows the table of bird observations from the spatially-linked database of FIG. 1. The table has a plurality of fields. In the present embodiment, the fields are as follows:
PROJ_ID 350 [Project Identifier]--project under which the observation was made;
OBS_DT 352 [Observation Date/Time]--date and time of the observation;
SPECIES_CODE 354--a code for the bird species observed;
HOW_MANY 356--number of birds of this species observed;
VALID 358--Valid/Invalid flag: allows reviewers or bad-data filtering programs to suppress a record from reports or analyses without deleting it;
PROTOCOL_ID 360--A code for the project's data collection protocol;
LOC_ID 362 [Location ID]--a link to the Location Table Location where this observation was made;
USER_ID 364--ID of the person who made the observation;
DURATION_HRS 366--Number of hours the observer spent looking for birds; used to standardize `HOW_MANY`based on amount of observer effort expended;
COMMENTS 368--Observer's free text comments on the observation;
CREATION_DT 370 [Creation DateTime]--Date/Time the observation record was created;
LAST_EDITED_DT 372 [Last Edited DateTime]--Date/Time the observation record was last edited; and
REVIEWED 374 [Expert Reviewed]--Yes/No Indicating whether this record been expert reviewed.
The configurations of the tables in FIGS. 4 and 5 are merely exemplary. In alternative embodiments of the invention, there may be additional tables. The system has predefined required fields for data entry, however, any number of additionaldata fields associated with each observation or location can be defined and stored for each project.
FIG. 6 is a first view of the interactive map 400 according to principles of the invention. The user is provided with a plurality of functions 402 to move around the map, e.g. to pan and to zoom in or out. The map coordinate points 404 areprovided. The user may specify an area to examine more closely by drawing a polygon 406 around the desired destination.
FIG. 7 is a second view of the interactive map according to principles of the invention. FIG. 7 is a zoomed in view of the area marked in FIG. 6. In the present embodiment at this scale, observation points 420, 422 become visible.
FIG. 8 is a part block diagram, part flow chart of the creation of an observation point, or location. The user specifies a point 450 in the interactive map at the client 452. The client provides the data over the Internet 10 to the server 15which stores the point in the spatially-linked database 20. The point can be seen as part of a map layer 454, overlaid on a map 456 of the geographic features of the area.
FIG. 9 is a part block diagram, part flow chart of the query process. The user, at the client level 452, provides a polygon 460 or some other selection of points to be included in the query. The user can provide additional information in thequery such as, type of bird and time period during which observations were taken. The client program sends the data over the Internet 10 to the server 15 which generates a map layer 462 to return to the user as well as query results in other visualformats such as a histogram 464.
The implementation described herein was applied to ornithology, however other applications, as would be contemplated by one skilled in the art, are within the scope of this invention. It may be applied to any wildlife for reporting and inventorypurposes, or for reporting specific problems, e.g. disease, symptoms, or danger to humans. Wildlife includes mammals, aquatic life, amphibians, reptiles, and butterflies, etc. Wildlife can also include plant life, e.g., taking inventory on a treespecies, or an offshore algal bloom. The present invention may also be used for disease tracking in humans or studying commercial product use. The present invention may also be used to study weather conditions, illegal dump sites, crime or suspiciousactivity. The present invention may also be used to study electromagnetic fields, e.g., users reporting on signal strength of their cell phones in different locations to a company. The present invention may also be used for amateur archeology, forexample, for reporting where fossils or artifacts are found. Other applications within the spirit of this invention include without limitation environment impact studies, e.g., the construction industry; any monitoring project requiring localizedinformation analyzed towards regional applications; self reported household usage of products and service by geographic area; auditing the performance of transportation systems, e.g., a transportation system; analysis of energy usage geographically;marketing information analysis, e.g., distributed mapping of marketing "hits"; commercial application of existing data as an indicator of changes in environmental systems; data gathering for a particular industry and providing analysis for that industry;track the spread of a disease; monitor the growth or condition of plants in a geographic area; monitor the location of vehicles, e.g., vans, taxes, service vehicles etc.; the use by consumers of pesticides and fertilizers; the geographic incidence oftraffic and other accidents; and other events/applications as would be appreciated by one skilled in the art.
Additional implementations of the invention include the entry of data into computers that are off-line for later uploading to the map server over the web.
It is to be understood that the above-described embodiments are simply illustrative of the principles of the invention. Various and other modifications and changes may be made by those skilled in the art which will embody the principles of theinvention and fall within the spirit and scope thereof.
* * * * *