Map and Data IDs - AppGeo/GPV GitHub Wiki

The GPV allows for a one-to-many relationship between features on a map layer and rows in a database such as parcels-to-condominiums or pipes-to-record plans. When the user selects map features, it passes the IDs of those features to a query stored procedure for processing. The stored procedure then returns one or more rows related to each of those features. The user can then click on any of those rows to retrieve more detailed data about that particular entity. The ID for that row is passed to a data tab stored procedure.

In the GPV, any ID that points to a map feature (such as a parcel) is called a map ID. Any ID that points to an entity in the database (such as a condominium) is called a data id. A query stored procedure must return both of these in columns named MapID and DataID to maintain the necessary relationships in the GPV. Some stored procedures operate on map IDs (query, map tip, identify) and others work on data IDs (data tab, mailing label, export).

For many layers, the map IDs of features will be the same as the data IDs of entities in the database. In such cases the query stored procedure should return MapID and DataID columns containing the same ID values.