.NET Development: Storing custom data using GeoBase
1 to 8 of 8
-
- CommentAuthorbleach
- CommentTimeNov 30th 2009
Hello,
We're currently trying to determine the best approach for storing some custom data required by our application using the GeoBase libraries.
We're trying to do the following:- We need to store multiple data fields for each object, for example a name plus a secondary identifier
- We need to have a location assigned to each object so that we can locate them
- The data needs to be disk-bound so that it doesn't have to be loaded into memory to be searched
- We need to be able to script building our data files using a tool like Alchemy
- It would be nice if the API provided a method to search the data asynchronously so that we could cancel it midway with no side-effects
My question is: if you guys needed to build such a system with your dev kit? How would you do it? GBFS? TransactionalRepository?
BTW, previously, I asked about the TransactionalRepositories here:
http://geozone.geobase.info/community/discussion/23/custom-data-in-gbfs-files/#Item_0
Thanks!
Brandon -
-
CommentAuthorPepitaL
- CommentTimeDec 1st 2009
Hi Brandon,
I need to talk to development team to figure out what would be best solution for you concerns and I will get back to you.
Pepita -
-
- CommentAuthorbleach
- CommentTimeDec 1st 2009
That would be great. Thanks Pepita. -
-
CommentAuthorPepitaL
- CommentTimeDec 1st 2009
Brandon,
To answer your last question 'how would we build such a system?': if you want to locate and search your data using the position property (LatLon) of your object, then you could use the GBFS files, otherwise, if you wish to query data through other parameters than location, then you would use TransactionalRepository.
Pepita -
-
- CommentAuthorbleach
- CommentTimeDec 2nd 2009
Hello Pepita,
The reason I ask is that it seems like each solution is missing some critical features that the other has.
GBFS:
* Unless data is stored as points of interest, it cannot be query on any field other than location
* If data is stored as POI, you cannot store any non-standard data fields
TransactionalRepository:
* Data cannot be stored to the TransactionalRepository using Alchemy
* LatLon fields are not possible, and there is no API for spacial queries
* No asynchronous search API
Do I have this right? Are there any plans to "fix" any of these limitations?
Thanks!
Brandon -
-
CommentAuthorPepitaL
- CommentTimeDec 2nd 2009
Brandon,
From data in a gbfs files you can make all the types of queries specified in the documentation under DataQuery: http://docs.geobase.info/html/6d202b3d-755f-2fa1-d79e-dddb526078de.htm
Concerning TransactionalRepository, it works as a data base where you store your data. You cannot use Alchemy to fill your TransactionalRepository, instead you create tables (http://docs.geobase.info/html/6e28f02f-2f2e-1233-b9fb-a5c92a3c7973.htm) that you fill with 'records' (http://docs.geobase.info/html/bb08cb32-0254-b8b3-1821-f920206fb5c5.htm). You can then add as many 'items' as you want, respecting the type of element (http://docs.geobase.info/html/0c207365-1890-a6cb-7a85-f45431c96866.htm) for each item. As you can notice, LatLon is a possible object that you can store in your database.
TransactionalRepository being a database of tables with indexes, you can query each item using the index. The result is immediat so no need of asynchronous option.
I understand that it could be difficult to figure out the exact use of transactionalRepository without tutorial but we aim to get a tutorial included in the documentation. In the meantime you should check the TransactionalRepository section of the documentation (http://docs.geobase.info/html/1950168f-5953-0863-d92f-09d90154d8d2.htm) where all objects/classes/methods are defined.
I hope this helps
Pepita -
-
- CommentAuthorDominic
- CommentTimeDec 8th 2009
Hi Pepita,
Thanks for these responses. Like Brandon mentioned, we are trying to create a control that allows us to query data that is displayed on the map. When we query this data, we want to be able to query it in multiple columns (Example column would be, name, company, number of employee, etc.).
We understand our options:
1) Use the POI API
2) Use the DataQuery API
3) Use the transactional repository API
For each of these solution we have the following problems:
1) POI API
a. The information stored are not “point of interests”
b. The POI table has limited amount of columns
2) DataQuery API
a. You cannot search by a given column (or columns). You can only search by area.
3) Transactional Repository:
a. Cannot display the information using Chameleon files (I am unsure of this, please correct me if I am wrong). However, if this is true, it means that we need to have the data in two files (GPFS and transactional repository).
b. Cannot import the data using Alchemy: We have to make our own import script.
We are willing to wait for some of these issues/features to be fixed. We only need to know which method should we invest our time in?
• Will the DataQuery class eventually support column search? If yes, when?
• Will the transactional repository eventually be supported by Alchemy? If Yes, when?
• Are we able to display transactional repository information using a chameleon file? If no, when?
Thanks in advance
Dominic -
-
CommentAuthorPepitaL
- CommentTimeDec 8th 2009
Hi Dominic,
I think it would be best to send an email to gbsupport@telogis.com since your questions would imply a few back and forth on the forum to understand your requirements and answer your questions.
Pepita -
1 to 8 of 8
