GithubHelp home page GithubHelp logo

muleisy2021 / risegerdb Goto Github PK

View Code? Open in Web Editor NEW
7.0 1.0 1.0 13.34 MB

RisegerDB是一个基于R树和R*树主索引的地理空间数据库系统,项目专为地理数据进行快速高效的搜索。

License: GNU Affero General Public License v3.0

Java 99.86% Shell 0.14%
geodb java nosql-database r-tree

risegerdb's Introduction

RisegerDB - README

image

RisegerDB是一个基于R树和R*树主索引的地理空间数据库系统,旨在通过高效的空间数据检索满足各类应用需求。本文档提供了RisegerDB的启动流程、示例用法以及支持的SQL命令语法概述。

这个项目的名字RisegerDB来源于 “Rapid Search of Geographic Database”Ri-se-ger-DB)即“快速搜素地理数据库”,项目专为地理数据进行快速高效的搜索。

RisegerDB

English

入门指南

要启动RisegerDB,请使用以下启动脚本:

./scripts/startup.sh
./scripts/shell.sh

示例用法

以下是使用RisegerDB的一系列命令示例:

get databases

image

preload './test/test_data.json';

use database 'test_db';

get maps;

image

USE		
  DATABASE 'test_db'|		
  MAP 'china_mp'|		
  SCOPE RECT(		
    [1, 2],		
    20000		
  )|		
  MODEL province_scope.area_scope.building_model		
SEARCH		
  building_model.KEY_LOOP,		
  building_model.name		
WHERE		
  IN RECT(		
    [4000, 1000],		
    5000		
  )		
  OR OUT RECT(		
    [777.5, 72658.1],		
    45.2		
  )		
  AND building_model.floorArea > 1000;

image

SQL语法

搜索SQL

USE use_clause SEARCH search_clause WHERE where_clause
USE use_clause SEARCH search_clause
SEARCH search_clause WHERE where_clause
USE use_clause
SEARCH search_clause
WHERE where_clause
GET DATABASES
GET MAPS
GET MODELS

创建SQL

PRELOAD 'file_path'

使用语句

use_statement "|" use_statements
use_statement

use_statement:
  DATABASE 'database_name'
  | MAP 'map_name'
  | SCOPE rectangle_expression
  | MODEL 'model_expression'

搜索子句

search_clause: strings_expression

WHERE子句

where_clause: bool_condition

布尔条件

bool_condition:
  "(" bool_condition ")"
  | bool_condition_0 "OR" bool_condition_0
  | bool_condition_0

bool_condition_0:
  bool_condition_1 "AND" bool_condition_1
  | bool_condition_1

bool_condition_1:
  "!" bool_condition_2
  | bool_condition_2

bool_condition_2:
  "IN" graphic_expression
  | "OUT" graphic_expression
  | bool_condition_3

bool_condition_3:
  num_condition ">" bool_condition_3
  | num_condition ">=" bool_condition_3
  | num_condition "<" bool_condition_3
  | num_condition "<=" bool_condition_3
  | num_condition "=" bool_condition_3
  | num_condition

num_condition:
  "(" num_condition ")"
  | "-" num_condition
  | num_condition_0
num_condition_0:
  | num_condition_1 "+" num_condition
  | num_condition_1 "-" num_condition
  | num_condition_1

num_condition_1:
  number_entity "*" num_condition
  | number_entity "/" num_condition
  | number_entity

attribute_expression:
  string "." string

graphic_expression:
  rectangle_expression

rectangle_expression:
  "RECT" "(" coord_expression "," num_condition ")"

coord_expression:
  "COORD" "(" num_condition "," num_condition ")"

strings_expression:
  string_entity "," strings_expression
  | string_entity

number_entity:
  number
  | attribute_expression

string_entity:
  string
  | attribute_expression

实体定义

END:number
END:string

欢迎使用、修改和为RisegerDB贡献代码。有关更详细的信息和更新,请查看官方 RisegerDB存储库.

愉快的编码!

risegerdb's People

Contributors

muleisy2021 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

manchangfengxu

risegerdb's Issues

添加日志系统-为增删改查设计

Is your feature request related to a problem? Please describe.
数据库系统不能支持增删改查,这不好,需要改进

Describe the solution you'd like
如下图:
日志系统

Describe alternatives you've considered

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.