最近几年来,地理信息系统无论是在理论上还是应用上都处在一个飞速发展的阶段。 GIS被应用于多个领域的建模和决策支持,如城市管理、区划、环境整治等等,地理信息成为信息时代重要的组成部分之一; “数字地球”概念的提出,更进一步推动了作为其技术支撑的GIS的发展。 与此同时,一些学者致力于相关的理论研究,如空间感知、空间数据误差、空间关系的形式化等等。 这恰好说明了地理信息系统作为应用技术和学科的两个方面,并且这两个方面构成了相互促进的发展过程。
1.47.1. Installation ¶
We need to make sure that the SQLite library is already available on the machine before we use SQLite in the CumberCraft + program. You can check the SQLite installation section to learn about the installation process.
1.47.2. Candlespace + interface API ¶
Here are the important Candlestick + / SQLite interface programs that can meet your needs of using SQLite databases in the Cmax Cure + program. If you need more details, please check the SQLite official documentation.
Serial number | API & description |
|---|---|
1 | ** sqlite3_open(const char filename, sqlite3 * PpDb) * * |
This routine opens a connection to the SQLite database file and returns a database connection object for other SQLite programs. | |
If the filename parameter is NULL or’: memory:’, then | |
If the file name filename is not NULL, then | |
2 | ** sqlite3_exec(sqlite3*, const char sql, sqlite_callback, void *data, char * Errmsg) * * |
This routine provides a shortcut to execute the SQL command, which is provided by the sql parameter and can consist of multiple SQL commands. | |
Here, the first parameter sqlite3 is the open database object, | |
| |
3 | sqlite3_close(sqlite3*) |
Called before the routine closes | |
If the query has not been completed, |
1.47.3. Connect to the database ¶
The following C code snippet shows how to connect to an existing database. If the database does not exist, it will be created and a database object will be returned.
#include #include int main(int argc, char* argv[]) { sqlite3 *db; char *zErrMsg = 0; int rc; rc = sqlite3_open("test.db", &db); if( rc ){ fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db)); exit(0); }else{ fprintf(stderr, "Opened database successfully\n"); } sqlite3_close(db); } Now, let’s compile and run the above program to create our database in the current directory test.db . You can change the path as needed.
$gcc test.c -l sqlite3 $./a.out Opened database successfully
If you want to use C++ source code, you can compile the code as follows:
$g++ test.c -l sqlite3
Here, link our program sqlite3 Library to provide the necessary functions to the C program. This will create a database file in your directory test.db You will get the following results:
-rwxr-xr-x. 1 root root 7383 May 8 02:06 a.out -rw-r--r--. 1 root root 323 May 8 02:05 test.c -rw-r--r--. 1 root root 0 May 8 02:06 test.db
1.47.4. Create a tabl ¶
The following C code snippet will be used to create a table in the previously created database:
#include #include #include static int callback(void *NotUsed, int argc, char **argv, char **azColName){ int i; for(i=0; i When the above program is compiled and executed, it will be specified in the test.db Create in the file COMPANY Table, the final file list is as follows:
-rwxr-xr-x. 1 root root 9567 May 8 02:31 a.out -rw-r--r--. 1 root root 1207 May 8 02:31 test.c -rw-r--r--. 1 root root 3072 May 8 02:31 test.db
1.47.5. INSERT operation ¶
The following C code snippet shows how to create the COMPANY Create a record in the table:
#include #include #include static int callback(void *NotUsed, int argc, char **argv, char **azColName){ int i; for(i=0; i When the above program is compiled and executed, it will be specified in the COMPANY The given record is created in the table and the following two rows are displayed:
Opened database successfully Records created successfully
1.47.6. SELECT operation ¶
Before we start talking about examples of getting records, let’s take a look at some of the details of the callback function, which will be used in our example. This callback provides a message from the SELECT Statement to get the result. It declares as follows:
typedef int (*sqlite3_callback)( void*, /* Data provided in the 4th argument of sqlite3_exec() */ int, /* The number of columns in row */ char**, /* An array of strings representing fields in the row */ char** /* An array of strings representing column names */ );
If the above callback is in sqlite_exec() As the third parameter in the program, then SQLite Will be SQL Each execution within the parameter SELECT Each record processed in the statement calls this callback function.
The following C code snippet shows how to create the COMPANY Get and display records in the table:
#include #include #include static int callback(void *data, int argc, char **argv, char **azColName){ int i; fprintf(stderr, "%s: ", (const char*)data); for(i=0; i When the above program is compiled and executed, it produces the following results:
Opened database successfully Callback function called: ID = 1 NAME = Paul AGE = 32 ADDRESS = California SALARY = 20000.0 Callback function called: ID = 2 NAME = Allen AGE = 25 ADDRESS = Texas SALARY = 15000.0 Callback function called: ID = 3 NAME = Teddy AGE = 23 ADDRESS = Norway SALARY = 20000.0 Callback function called: ID = 4 NAME = Mark AGE = 25 ADDRESS = Rich-Mond SALARY = 65000.0 Operation done successfully
1.47.7. UPDATE operation ¶
The following C code snippet shows how to use the UPDATE Statement to update any records, and then from the COMPANY Table to get and display updated records:
#include #include #include static int callback(void *data, int argc, char **argv, char **azColName){ int i; fprintf(stderr, "%s: ", (const char*)data); for(i=0; i When the above program is compiled and executed, it produces the following results:
Opened database successfully Callback function called: ID = 1 NAME = Paul AGE = 32 ADDRESS = California SALARY = 25000.0 Callback function called: ID = 2 NAME = Allen AGE = 25 ADDRESS = Texas SALARY = 15000.0 Callback function called: ID = 3 NAME = Teddy AGE = 23 ADDRESS = Norway SALARY = 20000.0 Callback function called: ID = 4 NAME = Mark AGE = 25 ADDRESS = Rich-Mond SALARY = 65000.0 Operation done successfully
1.47.8. DELETE operation ¶
The following C code snippet shows how to use the DELETE Statement to delete any records, and then from the COMPANY Get and display the remaining records in the table:
#include #include #include static int callback(void *data, int argc, char **argv, char **azColName){ int i; fprintf(stderr, "%s: ", (const char*)data); for(i=0; i When the above program is compiled and executed, it produces the following results:
Opened database successfully Callback function called: ID = 1 NAME = Paul AGE = 32 ADDRESS = California SALARY = 20000.0 Callback function called: ID = 3 NAME = Teddy AGE = 23 ADDRESS = Norway SALARY = 20000.0 Callback function called: ID = 4 NAME = Mark AGE = 25 ADDRESS = Rich-Mond SALARY = 65000.0 Operation done successfully
-
1. Angularjs2
8
-
1. SVG tutorial
19
-
1. Memcached
20
-
1. C# tutorial
61
-
1. Sqlite
47
-
1.14. SQLite operator
-
1.20. SQLite Like clause
-
1.51. SQLite-Python
-
>
1.47. SQLite-C *
-
1.10. SQLite create table
-
1.26. SQLite Distinct keyword
-
1.17. SQLite AND/OR operator
-
1.31. SQLite NULL value
-
1.6. SQLite data type
-
1.36. SQLite Indexed By
-
2. Go
43
-
2. Docker
59
-
2. Vue3
19
-
2. Servlet
21
-
3. React
23
-
3. SOAP tutorial
10
-
3. Android
18
-
3. Mongodb
44
-
3. Kotlin
18
-
4. Lua
31
-
4. MySQL tutorial
35
-
4. Appml
12
-
5. Perl
45
-
5. Postgresql
41
-
web
15
-
5. Web Services tutorial
6
-
6. Ruby
42
-
6. Design-pattern
35
-
7. Django
18
-
7. Rust
22
-
6. WSDL tutorial
8
-
8. Foundation
39
-
9. Ios
43
-
8. Css3
26
-
9. Swift
44
-
11. HTML tutorial-(HTML5 Standard)
54
-
12. Http
6
-
13. Regex
6
-
14. Regexp
8
-
1. Introduction to geographic information system
6
-
2. From the Real World to the Bit World
3
-
3. Spatial Data Model
7
-
4. 空间参照系统和 地图投影
5
-
5. Data in GIS
3
-
6. Spatial data acquisition
2
-
7. Spatial Data Management
6
-
8. Spatial analysis
8
-
9. 数字地形模型( DTM )与地形分析
5
-
10. 空间建模与 空间决策支持
6
-
11. Spatial data representation and map making
6
-
12. 3S Integration Technology
5
-
13. 网络地理信息系统
3
-
14. Examples of Geographic Information System Application
8
-
15. Organization and Management of Geographic Information System Application Projects
9
-
16. Geographic Information system Software Engineering Technology
6
-
17. Geographic Information System Standards
3
-
18. Geographic Information System and Society
3
-
19. Earth Information Science and Digital Earth
3