예제 #1
0
def tool_class(category):
	# GIS Analysis => Distance Tools
	if re.match("(^GIS Analysis )", category):
		category = category.replace('GIS Analysis', '').strip()
		return OWLUtils.create_onto_class(onto, category.replace(' ', ''), onto['GISAnalysis'])
	if re.match("(^Image Processing Tools )", category):
		category = category.replace('Image Processing Tools', '').strip()
		return OWLUtils.create_onto_class(onto, category.replace(' ', ''), onto['ImageProcessingTools'])
	if category == 'Math and Stats Tools':
		category = "Math And Stats Tools"
	tool_cls = category.replace(' ', '')
	return OWLUtils.create_onto_class(onto, tool_cls, WhiteboxTool)
예제 #2
0
def topic_classes():
    config = OWLUtils.get_config(module_path + '/config.ini')
    for k, v in config.items('application'):
        k = Preprocessor.to_upper_camel_case(k, True)
        topic_cls = OWLUtils.create_onto_class(onto, k, TopicCategoryTool)
        for _tool in v.split(','):
            _tool = _tool.strip()
            if onto[_tool] is not None:
                onto[_tool].is_a.append(topic_cls)
예제 #3
0
def get_property(option, prop_type):
    """
		根据配置查找对应的属性,没有则创建新的属性

	Args:
		option: property name
		prop_type: ObjectProperty or DataProperty

	Returns: created property name

	"""
    config = OWLUtils.get_config(module_path + '/config.ini')
    _prop = OWLUtils.get_option(config, 'saga', option)
    if _prop is None:
        if onto.__getattr__(option) is None:
            OWLUtils.create_onto_class(onto, option, prop_type)
        return option
    else:
        return _prop
예제 #4
0
def tool_class(name):
	if str(name).startswith('gnm'):
		tool_cls = "GeographicNetworkPrograms"
	elif str(name).startswith('ogr'):
		tool_cls = "VectorPrograms"
	elif str(name).startswith('gdalmd'):
		tool_cls = "MultidimensionalRasterPrograms"
	else:
		tool_cls = "RasterPrograms"
	return OWLUtils.create_onto_class(onto, tool_cls, GDALTool)
예제 #5
0
def get_property(option, prop_type):
	"""
		根据配置查找对应的属性,没有则创建新的属性

	Args:
		option: property name
		prop_type: ObjectProperty or DataProperty

	Returns: created property name

	"""
	config = OWLUtils.get_config(module_path + '/config.ini')
	_prop = OWLUtils.get_option(config, 'taudem', option)
	# 返回配置的属性或是已有的属性(has[Name])
	if _prop is not None:
		return _prop
	else:
		_prop = gb.__getattr__(option)
		if _prop is None:
			OWLUtils.create_onto_class(onto, option, prop_type)
	return option
예제 #6
0
onto.metadata.created.append(datetime.datetime.today())
print('ontologies imported')
# OWLUtils.create_onto_class(onto, 'has' + option.capitalize(), prop_type)
with onto:

    class GeoTerms(Thing):
        pass


module_path = os.path.dirname(__file__)
with open(module_path + '/term.json', 'r', encoding='utf-8') as f:
    jdata = json.load(f)  # list

for d in jdata:
    domain = d['domain']
    if not onto[domain]: OWLUtils.create_onto_class(onto, domain, GeoTerms)
    term = d['term']
    term_english = d['term_english']
    definition_cn = d['definition']
    if onto[term] and (GeoTerms in onto[term].is_a):
        # 不能用definition?
        onto[domain].definition.append(definition_cn)
    else:
        indi = onto[domain](term,
                            prefLabel=locstr(term_english, lang='en'),
                            altLabel=locstr(term, lang='zh-CN'))
        print(onto[domain])
        print(indi)
        indi.definition.append(definition_cn)

# onto.save("geoterms.owl", format="rdfxml")
예제 #7
0
def tool_class(keywords):
    tool_cls = keywords[0].replace(' ', '') + 'Tool'
    return OWLUtils.create_onto_class(onto, tool_cls, SagaTool)
예제 #8
0
def tool_class(tool_name):
	tool_cls = get_task_class(tool_name)
	return OWLUtils.create_onto_class(onto, tool_cls, TauDEMAnalysis)
예제 #9
0
def tool_class(category):
    if category == '3D Analyst': category = 'ThreeDimensionalAnalyst'
    tool_cls = category.replace(' ', '') + 'Tool'
    return OWLUtils.create_onto_class(onto, tool_cls, ArcGISTool)
예제 #10
0
def tool_class(tool_name):
    short_name = tool_name.split('.', maxsplit=1)[0]
    config = OWLUtils.get_config(module_path + '/config.ini')
    tool_cls = str(config.get('tools', short_name)).capitalize() + 'Tool'
    return OWLUtils.create_onto_class(onto, tool_cls, StandardCategoryTool)