Abstract:
A web-based implemented system in which observers may pinpoint locations on a scalable map in order to fix data by latitude and longitude and to collect data describing that location. Also permitted within the system is the selection of non-contiguous groups of geographic data points for analysis. Although not limited thereto, the system may be used to track bird sightings and migration patterns as well as other bird related information and data. 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 movements across points can be tracked.

Description:
FIELD OF THE INVENTION 
     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 data to 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 bird sightings 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 movements between 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 a spatially-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 a non-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 area may 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 are initially 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 illustrative embodiment 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 is characterized 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 of the 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 same entity. 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 in Visual 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 an Active 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 of the 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&#39;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 visible is 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 program draws 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 the geographic point of the location to latitude and longitude, block  115 . The client program packages other parameters associated with the location, such as the user&#39;s login name, the project name, and other data associated with an event occurring at the geographic 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 to the 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 with respect 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, the relative position of the map point is compared with that of the map&#39;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 the reference 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, until the 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 a dot 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 field for 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 in software 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, or date. 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 observation locations. 
     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&#39;s browser loads a Java applet. The user is presented with the map of the project area, along with tools to navigate the map (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 wildlife survey 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 over 1,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 in an 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 the arbitrary shape for the query, the user&#39;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 the results, 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&#39;s computer. In the client program, the user can navigate to new maps using navigation tools such as 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, the user 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 a beginning 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”&amp;parameter2=“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 a software 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 ESRI Corporation 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. The results 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&#39;s browser. The client program tells the user&#39;s browser to display this new HTML page, and the 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 or years. 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&#39;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&#39;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 additional data 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  are provided. 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  15  which 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 the query 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 visual formats 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 inventory purposes, 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 tree species, 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 suspicious activity. 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, for example, 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 localized information 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 of traffic 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 the invention and fall within the spirit and scope thereof.