DemTrain 20230313
This commit is contained in:
		
							
								
								
									
										63
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,63 @@
 | 
				
			|||||||
 | 
					###############################################################################
 | 
				
			||||||
 | 
					# Set default behavior to automatically normalize line endings.
 | 
				
			||||||
 | 
					###############################################################################
 | 
				
			||||||
 | 
					* text=auto
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###############################################################################
 | 
				
			||||||
 | 
					# Set default behavior for command prompt diff.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# This is need for earlier builds of msysgit that does not have it on by
 | 
				
			||||||
 | 
					# default for csharp files.
 | 
				
			||||||
 | 
					# Note: This is only used by command line
 | 
				
			||||||
 | 
					###############################################################################
 | 
				
			||||||
 | 
					#*.cs     diff=csharp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###############################################################################
 | 
				
			||||||
 | 
					# Set the merge driver for project and solution files
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Merging from the command prompt will add diff markers to the files if there
 | 
				
			||||||
 | 
					# are conflicts (Merging from VS is not affected by the settings below, in VS
 | 
				
			||||||
 | 
					# the diff markers are never inserted). Diff markers may cause the following 
 | 
				
			||||||
 | 
					# file extensions to fail to load in VS. An alternative would be to treat
 | 
				
			||||||
 | 
					# these files as binary and thus will always conflict and require user
 | 
				
			||||||
 | 
					# intervention with every merge. To do so, just uncomment the entries below
 | 
				
			||||||
 | 
					###############################################################################
 | 
				
			||||||
 | 
					#*.sln       merge=binary
 | 
				
			||||||
 | 
					#*.csproj    merge=binary
 | 
				
			||||||
 | 
					#*.vbproj    merge=binary
 | 
				
			||||||
 | 
					#*.vcxproj   merge=binary
 | 
				
			||||||
 | 
					#*.vcproj    merge=binary
 | 
				
			||||||
 | 
					#*.dbproj    merge=binary
 | 
				
			||||||
 | 
					#*.fsproj    merge=binary
 | 
				
			||||||
 | 
					#*.lsproj    merge=binary
 | 
				
			||||||
 | 
					#*.wixproj   merge=binary
 | 
				
			||||||
 | 
					#*.modelproj merge=binary
 | 
				
			||||||
 | 
					#*.sqlproj   merge=binary
 | 
				
			||||||
 | 
					#*.wwaproj   merge=binary
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###############################################################################
 | 
				
			||||||
 | 
					# behavior for image files
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# image files are treated as binary by default.
 | 
				
			||||||
 | 
					###############################################################################
 | 
				
			||||||
 | 
					#*.jpg   binary
 | 
				
			||||||
 | 
					#*.png   binary
 | 
				
			||||||
 | 
					#*.gif   binary
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###############################################################################
 | 
				
			||||||
 | 
					# diff behavior for common document formats
 | 
				
			||||||
 | 
					# 
 | 
				
			||||||
 | 
					# Convert binary document formats to text before diffing them. This feature
 | 
				
			||||||
 | 
					# is only available from the command line. Turn it on by uncommenting the 
 | 
				
			||||||
 | 
					# entries below.
 | 
				
			||||||
 | 
					###############################################################################
 | 
				
			||||||
 | 
					#*.doc   diff=astextplain
 | 
				
			||||||
 | 
					#*.DOC   diff=astextplain
 | 
				
			||||||
 | 
					#*.docx  diff=astextplain
 | 
				
			||||||
 | 
					#*.DOCX  diff=astextplain
 | 
				
			||||||
 | 
					#*.dot   diff=astextplain
 | 
				
			||||||
 | 
					#*.DOT   diff=astextplain
 | 
				
			||||||
 | 
					#*.pdf   diff=astextplain
 | 
				
			||||||
 | 
					#*.PDF   diff=astextplain
 | 
				
			||||||
 | 
					#*.rtf   diff=astextplain
 | 
				
			||||||
 | 
					#*.RTF   diff=astextplain
 | 
				
			||||||
							
								
								
									
										363
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										363
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,363 @@
 | 
				
			|||||||
 | 
					## Ignore Visual Studio temporary files, build results, and
 | 
				
			||||||
 | 
					## files generated by popular Visual Studio add-ons.
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# User-specific files
 | 
				
			||||||
 | 
					*.rsuser
 | 
				
			||||||
 | 
					*.suo
 | 
				
			||||||
 | 
					*.user
 | 
				
			||||||
 | 
					*.userosscache
 | 
				
			||||||
 | 
					*.sln.docstates
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# User-specific files (MonoDevelop/Xamarin Studio)
 | 
				
			||||||
 | 
					*.userprefs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Mono auto generated files
 | 
				
			||||||
 | 
					mono_crash.*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Build results
 | 
				
			||||||
 | 
					[Dd]ebug/
 | 
				
			||||||
 | 
					[Dd]ebugPublic/
 | 
				
			||||||
 | 
					[Rr]elease/
 | 
				
			||||||
 | 
					[Rr]eleases/
 | 
				
			||||||
 | 
					x64/
 | 
				
			||||||
 | 
					x86/
 | 
				
			||||||
 | 
					[Ww][Ii][Nn]32/
 | 
				
			||||||
 | 
					[Aa][Rr][Mm]/
 | 
				
			||||||
 | 
					[Aa][Rr][Mm]64/
 | 
				
			||||||
 | 
					bld/
 | 
				
			||||||
 | 
					[Bb]in/
 | 
				
			||||||
 | 
					[Oo]bj/
 | 
				
			||||||
 | 
					[Oo]ut/
 | 
				
			||||||
 | 
					[Ll]og/
 | 
				
			||||||
 | 
					[Ll]ogs/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio 2015/2017 cache/options directory
 | 
				
			||||||
 | 
					.vs/
 | 
				
			||||||
 | 
					# Uncomment if you have tasks that create the project's static files in wwwroot
 | 
				
			||||||
 | 
					#wwwroot/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio 2017 auto generated files
 | 
				
			||||||
 | 
					Generated\ Files/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# MSTest test Results
 | 
				
			||||||
 | 
					[Tt]est[Rr]esult*/
 | 
				
			||||||
 | 
					[Bb]uild[Ll]og.*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# NUnit
 | 
				
			||||||
 | 
					*.VisualState.xml
 | 
				
			||||||
 | 
					TestResult.xml
 | 
				
			||||||
 | 
					nunit-*.xml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Build Results of an ATL Project
 | 
				
			||||||
 | 
					[Dd]ebugPS/
 | 
				
			||||||
 | 
					[Rr]eleasePS/
 | 
				
			||||||
 | 
					dlldata.c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Benchmark Results
 | 
				
			||||||
 | 
					BenchmarkDotNet.Artifacts/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# .NET Core
 | 
				
			||||||
 | 
					project.lock.json
 | 
				
			||||||
 | 
					project.fragment.lock.json
 | 
				
			||||||
 | 
					artifacts/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# ASP.NET Scaffolding
 | 
				
			||||||
 | 
					ScaffoldingReadMe.txt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# StyleCop
 | 
				
			||||||
 | 
					StyleCopReport.xml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Files built by Visual Studio
 | 
				
			||||||
 | 
					*_i.c
 | 
				
			||||||
 | 
					*_p.c
 | 
				
			||||||
 | 
					*_h.h
 | 
				
			||||||
 | 
					*.ilk
 | 
				
			||||||
 | 
					*.meta
 | 
				
			||||||
 | 
					*.obj
 | 
				
			||||||
 | 
					*.iobj
 | 
				
			||||||
 | 
					*.pch
 | 
				
			||||||
 | 
					*.pdb
 | 
				
			||||||
 | 
					*.ipdb
 | 
				
			||||||
 | 
					*.pgc
 | 
				
			||||||
 | 
					*.pgd
 | 
				
			||||||
 | 
					*.rsp
 | 
				
			||||||
 | 
					*.sbr
 | 
				
			||||||
 | 
					*.tlb
 | 
				
			||||||
 | 
					*.tli
 | 
				
			||||||
 | 
					*.tlh
 | 
				
			||||||
 | 
					*.tmp
 | 
				
			||||||
 | 
					*.tmp_proj
 | 
				
			||||||
 | 
					*_wpftmp.csproj
 | 
				
			||||||
 | 
					*.log
 | 
				
			||||||
 | 
					*.vspscc
 | 
				
			||||||
 | 
					*.vssscc
 | 
				
			||||||
 | 
					.builds
 | 
				
			||||||
 | 
					*.pidb
 | 
				
			||||||
 | 
					*.svclog
 | 
				
			||||||
 | 
					*.scc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Chutzpah Test files
 | 
				
			||||||
 | 
					_Chutzpah*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual C++ cache files
 | 
				
			||||||
 | 
					ipch/
 | 
				
			||||||
 | 
					*.aps
 | 
				
			||||||
 | 
					*.ncb
 | 
				
			||||||
 | 
					*.opendb
 | 
				
			||||||
 | 
					*.opensdf
 | 
				
			||||||
 | 
					*.sdf
 | 
				
			||||||
 | 
					*.cachefile
 | 
				
			||||||
 | 
					*.VC.db
 | 
				
			||||||
 | 
					*.VC.VC.opendb
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio profiler
 | 
				
			||||||
 | 
					*.psess
 | 
				
			||||||
 | 
					*.vsp
 | 
				
			||||||
 | 
					*.vspx
 | 
				
			||||||
 | 
					*.sap
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio Trace Files
 | 
				
			||||||
 | 
					*.e2e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# TFS 2012 Local Workspace
 | 
				
			||||||
 | 
					$tf/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Guidance Automation Toolkit
 | 
				
			||||||
 | 
					*.gpState
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# ReSharper is a .NET coding add-in
 | 
				
			||||||
 | 
					_ReSharper*/
 | 
				
			||||||
 | 
					*.[Rr]e[Ss]harper
 | 
				
			||||||
 | 
					*.DotSettings.user
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# TeamCity is a build add-in
 | 
				
			||||||
 | 
					_TeamCity*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# DotCover is a Code Coverage Tool
 | 
				
			||||||
 | 
					*.dotCover
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# AxoCover is a Code Coverage Tool
 | 
				
			||||||
 | 
					.axoCover/*
 | 
				
			||||||
 | 
					!.axoCover/settings.json
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Coverlet is a free, cross platform Code Coverage Tool
 | 
				
			||||||
 | 
					coverage*.json
 | 
				
			||||||
 | 
					coverage*.xml
 | 
				
			||||||
 | 
					coverage*.info
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio code coverage results
 | 
				
			||||||
 | 
					*.coverage
 | 
				
			||||||
 | 
					*.coveragexml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# NCrunch
 | 
				
			||||||
 | 
					_NCrunch_*
 | 
				
			||||||
 | 
					.*crunch*.local.xml
 | 
				
			||||||
 | 
					nCrunchTemp_*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# MightyMoose
 | 
				
			||||||
 | 
					*.mm.*
 | 
				
			||||||
 | 
					AutoTest.Net/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Web workbench (sass)
 | 
				
			||||||
 | 
					.sass-cache/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Installshield output folder
 | 
				
			||||||
 | 
					[Ee]xpress/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# DocProject is a documentation generator add-in
 | 
				
			||||||
 | 
					DocProject/buildhelp/
 | 
				
			||||||
 | 
					DocProject/Help/*.HxT
 | 
				
			||||||
 | 
					DocProject/Help/*.HxC
 | 
				
			||||||
 | 
					DocProject/Help/*.hhc
 | 
				
			||||||
 | 
					DocProject/Help/*.hhk
 | 
				
			||||||
 | 
					DocProject/Help/*.hhp
 | 
				
			||||||
 | 
					DocProject/Help/Html2
 | 
				
			||||||
 | 
					DocProject/Help/html
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Click-Once directory
 | 
				
			||||||
 | 
					publish/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Publish Web Output
 | 
				
			||||||
 | 
					*.[Pp]ublish.xml
 | 
				
			||||||
 | 
					*.azurePubxml
 | 
				
			||||||
 | 
					# Note: Comment the next line if you want to checkin your web deploy settings,
 | 
				
			||||||
 | 
					# but database connection strings (with potential passwords) will be unencrypted
 | 
				
			||||||
 | 
					*.pubxml
 | 
				
			||||||
 | 
					*.publishproj
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Microsoft Azure Web App publish settings. Comment the next line if you want to
 | 
				
			||||||
 | 
					# checkin your Azure Web App publish settings, but sensitive information contained
 | 
				
			||||||
 | 
					# in these scripts will be unencrypted
 | 
				
			||||||
 | 
					PublishScripts/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# NuGet Packages
 | 
				
			||||||
 | 
					*.nupkg
 | 
				
			||||||
 | 
					# NuGet Symbol Packages
 | 
				
			||||||
 | 
					*.snupkg
 | 
				
			||||||
 | 
					# The packages folder can be ignored because of Package Restore
 | 
				
			||||||
 | 
					**/[Pp]ackages/*
 | 
				
			||||||
 | 
					# except build/, which is used as an MSBuild target.
 | 
				
			||||||
 | 
					!**/[Pp]ackages/build/
 | 
				
			||||||
 | 
					# Uncomment if necessary however generally it will be regenerated when needed
 | 
				
			||||||
 | 
					#!**/[Pp]ackages/repositories.config
 | 
				
			||||||
 | 
					# NuGet v3's project.json files produces more ignorable files
 | 
				
			||||||
 | 
					*.nuget.props
 | 
				
			||||||
 | 
					*.nuget.targets
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Microsoft Azure Build Output
 | 
				
			||||||
 | 
					csx/
 | 
				
			||||||
 | 
					*.build.csdef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Microsoft Azure Emulator
 | 
				
			||||||
 | 
					ecf/
 | 
				
			||||||
 | 
					rcf/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Windows Store app package directories and files
 | 
				
			||||||
 | 
					AppPackages/
 | 
				
			||||||
 | 
					BundleArtifacts/
 | 
				
			||||||
 | 
					Package.StoreAssociation.xml
 | 
				
			||||||
 | 
					_pkginfo.txt
 | 
				
			||||||
 | 
					*.appx
 | 
				
			||||||
 | 
					*.appxbundle
 | 
				
			||||||
 | 
					*.appxupload
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio cache files
 | 
				
			||||||
 | 
					# files ending in .cache can be ignored
 | 
				
			||||||
 | 
					*.[Cc]ache
 | 
				
			||||||
 | 
					# but keep track of directories ending in .cache
 | 
				
			||||||
 | 
					!?*.[Cc]ache/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Others
 | 
				
			||||||
 | 
					ClientBin/
 | 
				
			||||||
 | 
					~$*
 | 
				
			||||||
 | 
					*~
 | 
				
			||||||
 | 
					*.dbmdl
 | 
				
			||||||
 | 
					*.dbproj.schemaview
 | 
				
			||||||
 | 
					*.jfm
 | 
				
			||||||
 | 
					*.pfx
 | 
				
			||||||
 | 
					*.publishsettings
 | 
				
			||||||
 | 
					orleans.codegen.cs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Including strong name files can present a security risk
 | 
				
			||||||
 | 
					# (https://github.com/github/gitignore/pull/2483#issue-259490424)
 | 
				
			||||||
 | 
					#*.snk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Since there are multiple workflows, uncomment next line to ignore bower_components
 | 
				
			||||||
 | 
					# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
 | 
				
			||||||
 | 
					#bower_components/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# RIA/Silverlight projects
 | 
				
			||||||
 | 
					Generated_Code/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Backup & report files from converting an old project file
 | 
				
			||||||
 | 
					# to a newer Visual Studio version. Backup files are not needed,
 | 
				
			||||||
 | 
					# because we have git ;-)
 | 
				
			||||||
 | 
					_UpgradeReport_Files/
 | 
				
			||||||
 | 
					Backup*/
 | 
				
			||||||
 | 
					UpgradeLog*.XML
 | 
				
			||||||
 | 
					UpgradeLog*.htm
 | 
				
			||||||
 | 
					ServiceFabricBackup/
 | 
				
			||||||
 | 
					*.rptproj.bak
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# SQL Server files
 | 
				
			||||||
 | 
					*.mdf
 | 
				
			||||||
 | 
					*.ldf
 | 
				
			||||||
 | 
					*.ndf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Business Intelligence projects
 | 
				
			||||||
 | 
					*.rdl.data
 | 
				
			||||||
 | 
					*.bim.layout
 | 
				
			||||||
 | 
					*.bim_*.settings
 | 
				
			||||||
 | 
					*.rptproj.rsuser
 | 
				
			||||||
 | 
					*- [Bb]ackup.rdl
 | 
				
			||||||
 | 
					*- [Bb]ackup ([0-9]).rdl
 | 
				
			||||||
 | 
					*- [Bb]ackup ([0-9][0-9]).rdl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Microsoft Fakes
 | 
				
			||||||
 | 
					FakesAssemblies/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# GhostDoc plugin setting file
 | 
				
			||||||
 | 
					*.GhostDoc.xml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Node.js Tools for Visual Studio
 | 
				
			||||||
 | 
					.ntvs_analysis.dat
 | 
				
			||||||
 | 
					node_modules/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio 6 build log
 | 
				
			||||||
 | 
					*.plg
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio 6 workspace options file
 | 
				
			||||||
 | 
					*.opt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
 | 
				
			||||||
 | 
					*.vbw
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio LightSwitch build output
 | 
				
			||||||
 | 
					**/*.HTMLClient/GeneratedArtifacts
 | 
				
			||||||
 | 
					**/*.DesktopClient/GeneratedArtifacts
 | 
				
			||||||
 | 
					**/*.DesktopClient/ModelManifest.xml
 | 
				
			||||||
 | 
					**/*.Server/GeneratedArtifacts
 | 
				
			||||||
 | 
					**/*.Server/ModelManifest.xml
 | 
				
			||||||
 | 
					_Pvt_Extensions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Paket dependency manager
 | 
				
			||||||
 | 
					.paket/paket.exe
 | 
				
			||||||
 | 
					paket-files/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# FAKE - F# Make
 | 
				
			||||||
 | 
					.fake/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# CodeRush personal settings
 | 
				
			||||||
 | 
					.cr/personal
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Python Tools for Visual Studio (PTVS)
 | 
				
			||||||
 | 
					__pycache__/
 | 
				
			||||||
 | 
					*.pyc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Cake - Uncomment if you are using it
 | 
				
			||||||
 | 
					# tools/**
 | 
				
			||||||
 | 
					# !tools/packages.config
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Tabs Studio
 | 
				
			||||||
 | 
					*.tss
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Telerik's JustMock configuration file
 | 
				
			||||||
 | 
					*.jmconfig
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# BizTalk build output
 | 
				
			||||||
 | 
					*.btp.cs
 | 
				
			||||||
 | 
					*.btm.cs
 | 
				
			||||||
 | 
					*.odx.cs
 | 
				
			||||||
 | 
					*.xsd.cs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# OpenCover UI analysis results
 | 
				
			||||||
 | 
					OpenCover/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Azure Stream Analytics local run output
 | 
				
			||||||
 | 
					ASALocalRun/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# MSBuild Binary and Structured Log
 | 
				
			||||||
 | 
					*.binlog
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# NVidia Nsight GPU debugger configuration file
 | 
				
			||||||
 | 
					*.nvuser
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# MFractors (Xamarin productivity tool) working folder
 | 
				
			||||||
 | 
					.mfractor/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Local History for Visual Studio
 | 
				
			||||||
 | 
					.localhistory/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# BeatPulse healthcheck temp database
 | 
				
			||||||
 | 
					healthchecksdb
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Backup folder for Package Reference Convert tool in Visual Studio 2017
 | 
				
			||||||
 | 
					MigrationBackup/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Ionide (cross platform F# VS Code tools) working folder
 | 
				
			||||||
 | 
					.ionide/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Fody - auto-generated XML schema
 | 
				
			||||||
 | 
					FodyWeavers.xsd
 | 
				
			||||||
							
								
								
									
										51
									
								
								DEM_GeneVec/CProgressBar.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								DEM_GeneVec/CProgressBar.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,51 @@
 | 
				
			|||||||
 | 
					#include "CProgressBar.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CProgressBar::CProgressBar(QWidget* parent) : QProgressBar(parent)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						//this->setStyleSheet(
 | 
				
			||||||
 | 
						//	"QProgressBar {color:black;font-size:12px;font-weight:normal;font-family:'Microsoft YaHei'; text-align:center; }"
 | 
				
			||||||
 | 
						//	"QProgressBar::chunk {background-color: rgb(0, 160, 244);}");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void CProgressBar::ShowTips(const QString& strTips)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						if (this->isHidden())
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							this->show();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						this->resetFormat();
 | 
				
			||||||
 | 
						this->setRange(0, 100);
 | 
				
			||||||
 | 
						this->setFormat(strTips);
 | 
				
			||||||
 | 
						this->setValue(100);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					double CProgressBar::GetDoubleFormatValue()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						double dValue = 0.0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						QString strFormat = this->format();
 | 
				
			||||||
 | 
						if (!strFormat.isEmpty())
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							int nIndex = strFormat.indexOf(":");
 | 
				
			||||||
 | 
							if (nIndex != -1)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								QString strFormatData = strFormat.mid(nIndex + 1, strFormat.length() - nIndex - 2);
 | 
				
			||||||
 | 
								dValue = strFormatData.toDouble();
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return dValue;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void CProgressBar::SetDoubleFormatValue(const QString& strFormat, double dValue)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						if (this->isHidden())
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							this->show();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						this->setFormat(strFormat + ":" + QString::number(dValue, 'f', 2) + "%");
 | 
				
			||||||
 | 
						this->setValue(dValue);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										18
									
								
								DEM_GeneVec/CProgressBar.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								DEM_GeneVec/CProgressBar.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					#include<QProgressBar>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class CProgressBar : public QProgressBar
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						Q_OBJECT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public:
 | 
				
			||||||
 | 
						CProgressBar(QWidget* parent = 0);
 | 
				
			||||||
 | 
						~CProgressBar() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public:
 | 
				
			||||||
 | 
						void ShowTips(const QString& strTips);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						void SetDoubleFormatValue(const QString& strFormat, double dValue);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						double GetDoubleFormatValue();
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
							
								
								
									
										425
									
								
								DEM_GeneVec/DEM_GeneVec.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										425
									
								
								DEM_GeneVec/DEM_GeneVec.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,425 @@
 | 
				
			|||||||
 | 
					#include "DEM_GeneVec.h"
 | 
				
			||||||
 | 
					#include<windows.h>
 | 
				
			||||||
 | 
					#include<stdio.h>
 | 
				
			||||||
 | 
					#include<stdlib.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <QSettings>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TrainMoudle::TrainMoudle()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						//ui.setupUi(this);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TrainMoudle::~TrainMoudle()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QString TrainMoudle::PannelName()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						return QString::fromLocal8Bit("");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QString TrainMoudle::CategoryName()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						return QString::fromLocal8Bit("DEMģ<EFBFBD><EFBFBD>");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QString TrainMoudle::EnglishName()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						return QString::fromLocal8Bit("DEM_Module");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QString TrainMoudle::ChineseName()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						return QString::fromLocal8Bit("ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QString TrainMoudle::Information()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						return QString::fromLocal8Bit("ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QString TrainMoudle::IconPath()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						return ":/DEM_GeneVec/resources/dem_vec.svg";
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QWidget* TrainMoudle::CenterWidget()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						QString gdal_path = qApp->applicationDirPath().toLocal8Bit() + "/share/gdal";
 | 
				
			||||||
 | 
						QString pro_lib_path = qApp->applicationDirPath().toLocal8Bit() + "/share/proj";
 | 
				
			||||||
 | 
						qputenv("GDAL_DATA", gdal_path.toLocal8Bit());
 | 
				
			||||||
 | 
						qputenv("PROJ_LIB", pro_lib_path.toLocal8Bit());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						bool showWin = false;
 | 
				
			||||||
 | 
						if (myWidget == nullptr)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							myWidget = new QDialog();
 | 
				
			||||||
 | 
							showWin = true;
 | 
				
			||||||
 | 
							qDebug() << "new QDialog()";
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							qDebug() << "already have myWidget";
 | 
				
			||||||
 | 
							myWidget->activateWindow();
 | 
				
			||||||
 | 
							myWidget->raise();
 | 
				
			||||||
 | 
							return myWidget;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						ui.setupUi(myWidget);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						myWidget->setWindowTitle(QString::fromLocal8Bit("ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
 | 
				
			||||||
 | 
						myWidget->setWindowFlags(Qt::CustomizeWindowHint | Qt::WindowCloseButtonHint);
 | 
				
			||||||
 | 
						myWidget->setWindowIcon(QIcon(":/DEM_GeneVec/resources/dem_vec.svg"));
 | 
				
			||||||
 | 
						myWidget->setAttribute(Qt::WA_QuitOnClose, false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						myWidget->setAttribute(Qt::WA_DeleteOnClose);
 | 
				
			||||||
 | 
						connect(myWidget, &QDialog::destroyed, this, [=] {
 | 
				
			||||||
 | 
							qDebug() << "----DEM train window close----";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							QDir pluginsDir = QDir(qApp->applicationDirPath());
 | 
				
			||||||
 | 
							if (pluginsDir.cd("srsplugins\\DemModel"))
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								QString strConfigPath = pluginsDir.absoluteFilePath("dem_config.ini");
 | 
				
			||||||
 | 
								QFile f(strConfigPath);
 | 
				
			||||||
 | 
								if (f.exists())
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									WriteConfigPaths(strConfigPath);
 | 
				
			||||||
 | 
									f.close();
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if (mThread != nullptr)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								mThread->requestInterruption();//<2F><><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3>ж<EFBFBD>
 | 
				
			||||||
 | 
								mThread->quit();
 | 
				
			||||||
 | 
								mThread->wait();//<2F><><EFBFBD><EFBFBD>wait<69><74><EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD>finished<65>źŶ<C5BA>Ӧ<EFBFBD>IJۺ<C4B2><DBBA><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><C9BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
								mWorkObject->on_cancel();
 | 
				
			||||||
 | 
								mThread = nullptr;//m_objThread, &QThread::finished, m_objThread, &QObject::deleteLater<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫdelete
 | 
				
			||||||
 | 
								mWorkObject = nullptr;//m_objThread, &QThread::finished, m_obj, &QObject::deleteLater
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							myWidget->close();
 | 
				
			||||||
 | 
							myWidget = nullptr;
 | 
				
			||||||
 | 
							});
 | 
				
			||||||
 | 
						connect(ui.pbtInModel, &QPushButton::pressed, this, &TrainMoudle::choseInModel);
 | 
				
			||||||
 | 
						connect(ui.pbtInDom, &QPushButton::pressed, this, &TrainMoudle::choseInDom);
 | 
				
			||||||
 | 
						connect(ui.pbtInDsm, &QPushButton::pressed, this, &TrainMoudle::choseInDsm);
 | 
				
			||||||
 | 
						connect(ui.pbtInLabel, &QPushButton::pressed, this, &TrainMoudle::choseInLabel);
 | 
				
			||||||
 | 
						connect(ui.pbtOutModel, &QPushButton::pressed, this, &TrainMoudle::choseOutModel);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						connect(ui.pushButton_ok, &QPushButton::pressed, this, &TrainMoudle::readAndStart);
 | 
				
			||||||
 | 
						connect(ui.pushButton_cancel, &QPushButton::pressed, this, &TrainMoudle::pbCancel);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						connect(ui.checkBoxMid, &QCheckBox::clicked, this, [=](bool checked) {
 | 
				
			||||||
 | 
							executeMid = checked;
 | 
				
			||||||
 | 
							if (!executeMid && !executeTrain)
 | 
				
			||||||
 | 
								ui.pushButton_ok->setEnabled(false);
 | 
				
			||||||
 | 
							else
 | 
				
			||||||
 | 
								ui.pushButton_ok->setEnabled(true);
 | 
				
			||||||
 | 
							});
 | 
				
			||||||
 | 
						connect(ui.checkBoxTrain, &QCheckBox::clicked, this, [=](bool checked) {
 | 
				
			||||||
 | 
							executeTrain = checked;
 | 
				
			||||||
 | 
							if (!executeMid && !executeTrain)
 | 
				
			||||||
 | 
								ui.pushButton_ok->setEnabled(false);
 | 
				
			||||||
 | 
							else
 | 
				
			||||||
 | 
								ui.pushButton_ok->setEnabled(true);
 | 
				
			||||||
 | 
							});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						ui.progressBar->setTextVisible(true);
 | 
				
			||||||
 | 
						ui.progressBar->setRange(0, 100);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						ui.lineEpoch1->setValidator(new QIntValidator(0, 999, this));
 | 
				
			||||||
 | 
						ui.lineEpoch2->setValidator(new QIntValidator(0, 999, this));
 | 
				
			||||||
 | 
						ui.lineEpoch1->setText("100");
 | 
				
			||||||
 | 
						ui.lineEpoch2->setText("100");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						ui.pbtInModel->setFocus();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						QFile qssFile(":/DEM_GeneVec/DEM_GeneVec.qss");
 | 
				
			||||||
 | 
						qssFile.open(QFile::ReadOnly); //<2F><>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
						if (qssFile.isOpen())
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							QString qss = QLatin1String(qssFile.readAll());
 | 
				
			||||||
 | 
							myWidget->setStyleSheet(qss);
 | 
				
			||||||
 | 
							qssFile.close();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
							qDebug() << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						QDir pluginsDir = QDir(qApp->applicationDirPath());
 | 
				
			||||||
 | 
						if (pluginsDir.cd("srsplugins\\DemModel"))
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							QString strConfigPath = pluginsDir.absoluteFilePath("dem_config.ini");
 | 
				
			||||||
 | 
							QFile f(strConfigPath);
 | 
				
			||||||
 | 
							if (f.exists())
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								ReadConfigHistoryPaths(strConfigPath);
 | 
				
			||||||
 | 
								f.close();
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (showWin)
 | 
				
			||||||
 | 
							myWidget->show();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return myWidget;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TrainMoudle::startWorkThread()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						if (mWorkObject != nullptr)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							return;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						mThread = new QThread();
 | 
				
			||||||
 | 
						mWorkObject = new WorkThreadObject();
 | 
				
			||||||
 | 
						mWorkObject->moveToThread(mThread);
 | 
				
			||||||
 | 
						connect(mThread, &QThread::finished, mThread, &QObject::deleteLater);
 | 
				
			||||||
 | 
						connect(mThread, &QThread::finished, mWorkObject, &QObject::deleteLater);
 | 
				
			||||||
 | 
						connect(mWorkObject, &WorkThreadObject::process, myWidget, [=](double val) {ui.progressBar->SetDoubleFormatValue(QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), val); });
 | 
				
			||||||
 | 
						connect(mWorkObject, &WorkThreadObject::addDataToMap, this, &TrainMoudle::addMap);
 | 
				
			||||||
 | 
						//connect(this, &TrainMoudle::killChildThread, mWorkObject, &WorkThreadObject::on_cancel);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						connect(this, &TrainMoudle::start, mWorkObject, &WorkThreadObject::runTrainWork);
 | 
				
			||||||
 | 
						mThread->start();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					//pbtDataset
 | 
				
			||||||
 | 
					//pbtValName
 | 
				
			||||||
 | 
					//pbtOutModel
 | 
				
			||||||
 | 
					void TrainMoudle::choseInModel()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						QString inModel = QFileDialog::getOpenFileName(ui.pbtInModel, QString::fromLocal8Bit("ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><EFBFBD>"), "", "*.pth");
 | 
				
			||||||
 | 
						if (inModel != "")
 | 
				
			||||||
 | 
							ui.lineInModel->setText(inModel);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					void TrainMoudle::choseInDom()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						QString dataset = QFileDialog::getExistingDirectory(ui.pbtInDom, QString::fromLocal8Bit("ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DOM<EFBFBD>ļ<EFBFBD>·<EFBFBD><EFBFBD>"), "");
 | 
				
			||||||
 | 
						if (dataset != "")
 | 
				
			||||||
 | 
							ui.lineInDom->setText(dataset);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					void TrainMoudle::choseInDsm()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						QString valName = QFileDialog::getExistingDirectory(ui.pbtInDsm, QString::fromLocal8Bit("ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Slope<EFBFBD>ļ<EFBFBD>·<EFBFBD><EFBFBD>"), "");
 | 
				
			||||||
 | 
						if (valName != "")
 | 
				
			||||||
 | 
							ui.lineInDsm->setText(valName);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					void TrainMoudle::choseInLabel()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						QString valName = QFileDialog::getExistingDirectory(ui.pbtInLabel, QString::fromLocal8Bit("ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Label<EFBFBD>ļ<EFBFBD>·<EFBFBD><EFBFBD>"), "");
 | 
				
			||||||
 | 
						if (valName != "")
 | 
				
			||||||
 | 
							ui.lineInLabel->setText(valName);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					void TrainMoudle::choseOutModel()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						QString outModel = QFileDialog::getExistingDirectory(ui.pbtOutModel, QString::fromLocal8Bit("ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><EFBFBD>"), "");
 | 
				
			||||||
 | 
						if (outModel != "")
 | 
				
			||||||
 | 
							ui.lineOutModel->setText(outModel);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TrainMoudle::ReadConfigHistoryPaths(QString strPath)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						QSettings configIni(strPath, QSettings::IniFormat);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						//<2F><EFBFBD><F2BFAAB1><EFBFBD>Ϊ<EFBFBD><CEAA>[DemTrain] <20><><EFBFBD>飬<EFBFBD><E9A3AC><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>port<72>ֶε<D6B6>ֵ
 | 
				
			||||||
 | 
						configIni.beginGroup("DemTrain");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						ui.lineInModel->setText(configIni.value("RetrainModel").toString());
 | 
				
			||||||
 | 
						ui.lineInDom->setText(configIni.value("SrcDom").toString());
 | 
				
			||||||
 | 
						ui.lineInDsm->setText(configIni.value("SrcDsm").toString());
 | 
				
			||||||
 | 
						ui.lineInLabel->setText(configIni.value("SrcLabel").toString());
 | 
				
			||||||
 | 
						ui.lineOutModel->setText(configIni.value("TrainResult").toString());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						configIni.endGroup();//<2F>ر<EFBFBD><D8B1><EFBFBD>
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TrainMoudle::WriteConfigPaths(QString strPath)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						QSettings configIni(strPath, QSettings::IniFormat);
 | 
				
			||||||
 | 
						configIni.setIniCodec("utf-8");
 | 
				
			||||||
 | 
						//<2F><EFBFBD><F2BFAAB1><EFBFBD>Ϊ<EFBFBD><CEAA>[DemTrain] <20><><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
						configIni.beginGroup("DemTrain");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>·<EFBFBD><C2B7>
 | 
				
			||||||
 | 
						QString temp = ui.lineInModel->text();
 | 
				
			||||||
 | 
						if (temp != "")
 | 
				
			||||||
 | 
							configIni.setValue("RetrainModel", temp);
 | 
				
			||||||
 | 
						//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DOM·<4D><C2B7>
 | 
				
			||||||
 | 
						temp = ui.lineInDom->text();
 | 
				
			||||||
 | 
						if (temp != "")
 | 
				
			||||||
 | 
							configIni.setValue("SrcDom", temp);
 | 
				
			||||||
 | 
						//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DSM·<4D><C2B7>
 | 
				
			||||||
 | 
						temp = ui.lineInDsm->text();
 | 
				
			||||||
 | 
						if (temp != "")
 | 
				
			||||||
 | 
							configIni.setValue("SrcDsm", temp);
 | 
				
			||||||
 | 
						//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Label·<6C><C2B7>
 | 
				
			||||||
 | 
						temp = ui.lineInLabel->text();
 | 
				
			||||||
 | 
						if (temp != "")
 | 
				
			||||||
 | 
							configIni.setValue("SrcLabel", temp);
 | 
				
			||||||
 | 
						//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>
 | 
				
			||||||
 | 
						temp = ui.lineOutModel->text();
 | 
				
			||||||
 | 
						if (temp != "")
 | 
				
			||||||
 | 
							configIni.setValue("TrainResult", temp);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						configIni.endGroup();//<2F>ر<EFBFBD><D8B1><EFBFBD>
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TrainMoudle::addMap()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						QMessageBox mess(QMessageBox::NoIcon,
 | 
				
			||||||
 | 
							QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD>н<EFBFBD><EFBFBD><EFBFBD>"),
 | 
				
			||||||
 | 
							QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>\n") + ui.lineOutModel->text(),
 | 
				
			||||||
 | 
							QMessageBox::Ok, NULL);
 | 
				
			||||||
 | 
						mess.setWindowFlags(Qt::Drawer);
 | 
				
			||||||
 | 
						mess.setButtonText(QMessageBox::Ok, QString::fromLocal8Bit("ȷ<EFBFBD><EFBFBD>"));
 | 
				
			||||||
 | 
						int result = mess.exec();
 | 
				
			||||||
 | 
						//switch (result)
 | 
				
			||||||
 | 
						//{
 | 
				
			||||||
 | 
						//case QMessageBox::Ok:
 | 
				
			||||||
 | 
						//	//string_list.append(ui.lineEdit_outras->text());
 | 
				
			||||||
 | 
						//	//string_list.append(ui.lineEdit_outshp->text());
 | 
				
			||||||
 | 
						//	//qDebug() << "----Yes:" << string_list;
 | 
				
			||||||
 | 
						//	//openResultData(string_list);
 | 
				
			||||||
 | 
						//	//emit addDataToCanvas(string_list);
 | 
				
			||||||
 | 
						//	break;
 | 
				
			||||||
 | 
						//default:
 | 
				
			||||||
 | 
						//	break;
 | 
				
			||||||
 | 
						//}
 | 
				
			||||||
 | 
						pbCancel();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TrainMoudle::readAndStart()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						QString inModel = ui.lineInModel->text();
 | 
				
			||||||
 | 
						QString inDOM = ui.lineInDom->text();
 | 
				
			||||||
 | 
						QString inDSM = ui.lineInDsm->text();
 | 
				
			||||||
 | 
						QString inLabel = ui.lineInLabel->text();
 | 
				
			||||||
 | 
						QString outModel = ui.lineOutModel->text();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						ui.progressBar->SetDoubleFormatValue(QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (inModel == "" || inDOM == "" || inDSM == "" || inLabel == "" || outModel == "")
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							QMessageBox mess(QMessageBox::NoIcon, QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>л<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
 | 
				
			||||||
 | 
							mess.setWindowFlags(Qt::Drawer);
 | 
				
			||||||
 | 
							int result = mess.exec();
 | 
				
			||||||
 | 
							return;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						QDir inDOMdir(inDOM);
 | 
				
			||||||
 | 
						if (!inDOMdir.exists())
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							QMessageBox mess(QMessageBox::NoIcon, QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), QString::fromLocal8Bit("DOM<EFBFBD>ļ<EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
 | 
				
			||||||
 | 
							mess.setWindowFlags(Qt::Drawer);
 | 
				
			||||||
 | 
							int result = mess.exec();
 | 
				
			||||||
 | 
							return;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						QDir inDSMdir(inDSM);
 | 
				
			||||||
 | 
						if (!inDSMdir.exists())
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							QMessageBox mess(QMessageBox::NoIcon, QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), QString::fromLocal8Bit("Slope<EFBFBD>ļ<EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
 | 
				
			||||||
 | 
							mess.setWindowFlags(Qt::Drawer);
 | 
				
			||||||
 | 
							int result = mess.exec();
 | 
				
			||||||
 | 
							return;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						QDir inLabeldir(inLabel);
 | 
				
			||||||
 | 
						if (!inLabeldir.exists())
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							QMessageBox mess(QMessageBox::NoIcon, QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), QString::fromLocal8Bit("Label<EFBFBD>ļ<EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
 | 
				
			||||||
 | 
							mess.setWindowFlags(Qt::Drawer);
 | 
				
			||||||
 | 
							int result = mess.exec();
 | 
				
			||||||
 | 
							return;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						QDir outModeldir(outModel);
 | 
				
			||||||
 | 
						if (!outModeldir.exists())
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							QMessageBox mess(QMessageBox::NoIcon, QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), QString::fromLocal8Bit("ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
 | 
				
			||||||
 | 
							mess.setWindowFlags(Qt::Drawer);
 | 
				
			||||||
 | 
							int result = mess.exec();
 | 
				
			||||||
 | 
							return;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (executeMid && executeTrain)
 | 
				
			||||||
 | 
							qDebug() << "executeMid & executeTrain";
 | 
				
			||||||
 | 
						if (executeMid && (!executeTrain))
 | 
				
			||||||
 | 
							qDebug() << "executeMid, not executeTrain";
 | 
				
			||||||
 | 
						if ((!executeMid) && executeTrain)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							//<2F>ж<EFBFBD>train<69>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѵ<EFBFBD><D1B5><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
 | 
				
			||||||
 | 
							QDir dirImage(outModel + "/Images");
 | 
				
			||||||
 | 
							QDir dirLabel(outModel + "/Labels");
 | 
				
			||||||
 | 
							if (!dirImage.exists() || !dirLabel.exists())
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								QMessageBox mess(QMessageBox::NoIcon, QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
 | 
				
			||||||
 | 
									QString::fromLocal8Bit("δ<EFBFBD>ҵ<EFBFBD>ѵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>\nȷ<EFBFBD><EFBFBD>Images<EFBFBD><EFBFBD>Labels<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:      \n") + outModel);
 | 
				
			||||||
 | 
								mess.setWindowFlags(Qt::Drawer);
 | 
				
			||||||
 | 
								int result = mess.exec();
 | 
				
			||||||
 | 
								return;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							//<2F>ж<EFBFBD><D0B6>ļ<EFBFBD><C4BC>Ƿ<EFBFBD>ƥ<EFBFBD><C6A5>
 | 
				
			||||||
 | 
							QStringList imgList = getAllFiles(outModel + "/Images", "tif");
 | 
				
			||||||
 | 
							QStringList labelList = getAllFiles(outModel + "/Labels", "tif");
 | 
				
			||||||
 | 
							if (imgList.size() == 0 || labelList.size() == 0)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								QMessageBox mess(QMessageBox::NoIcon, QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
 | 
				
			||||||
 | 
									QString::fromLocal8Bit("ѵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>"));
 | 
				
			||||||
 | 
								mess.setWindowFlags(Qt::Drawer);
 | 
				
			||||||
 | 
								int result = mess.exec();
 | 
				
			||||||
 | 
								return;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							if (imgList.size() != labelList.size())
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								QMessageBox mess(QMessageBox::NoIcon, QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
 | 
				
			||||||
 | 
									QString::fromLocal8Bit("ѵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Images<EFBFBD><EFBFBD>Labels<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD>"));
 | 
				
			||||||
 | 
								mess.setWindowFlags(Qt::Drawer);
 | 
				
			||||||
 | 
								int result = mess.exec();
 | 
				
			||||||
 | 
								return;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (ui.lineEpoch1->text() == "" || ui.lineEpoch2->text() == "")
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							QMessageBox mess(QMessageBox::NoIcon, QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>ѵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
 | 
				
			||||||
 | 
							mess.setWindowFlags(Qt::Drawer);
 | 
				
			||||||
 | 
							int result = mess.exec();
 | 
				
			||||||
 | 
							return;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						QString epoch1 = ui.lineEpoch1->text();
 | 
				
			||||||
 | 
						QString epoch2 = ui.lineEpoch2->text();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (mThread == nullptr)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							qDebug() << "--startThread";
 | 
				
			||||||
 | 
							startWorkThread();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						emit start(inModel, inDOM, inDSM, inLabel, outModel, executeMid, executeTrain, epoch1, epoch2);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QStringList TrainMoudle::getAllFiles(QString path, QString fileType)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						QDir dir(path);
 | 
				
			||||||
 | 
						if (!dir.exists())
 | 
				
			||||||
 | 
							return QStringList();
 | 
				
			||||||
 | 
						dir.setFilter(QDir::Files | QDir::NoSymLinks);
 | 
				
			||||||
 | 
						QFileInfoList list = dir.entryInfoList();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						int file_count = list.count();
 | 
				
			||||||
 | 
						if (file_count <= 0)
 | 
				
			||||||
 | 
							return QStringList();
 | 
				
			||||||
 | 
						QStringList files;
 | 
				
			||||||
 | 
						for (int i = 0; i < file_count; i++)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							QFileInfo file_info = list.at(i);
 | 
				
			||||||
 | 
							QString suffix = file_info.suffix();
 | 
				
			||||||
 | 
							if (QString::compare(suffix, QString(fileType), Qt::CaseInsensitive) == 0)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								QString absolute_file_path = file_info.absoluteFilePath();
 | 
				
			||||||
 | 
								files.append(absolute_file_path);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return files;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TrainMoudle::pbCancel()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						delete myWidget;//<2F><><EFBFBD><EFBFBD>&QDialog::destroyed
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										79
									
								
								DEM_GeneVec/DEM_GeneVec.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								DEM_GeneVec/DEM_GeneVec.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,79 @@
 | 
				
			|||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <QtWidgets/QDialog>
 | 
				
			||||||
 | 
					#include <QFileDialog>
 | 
				
			||||||
 | 
					#include <QMetaType>
 | 
				
			||||||
 | 
					#include <QDialog>
 | 
				
			||||||
 | 
					#include <QDebug>
 | 
				
			||||||
 | 
					#include <QObject>
 | 
				
			||||||
 | 
					#include <QMessageBox> 
 | 
				
			||||||
 | 
					#include <QPushButton>
 | 
				
			||||||
 | 
					#include <QString>
 | 
				
			||||||
 | 
					#include <QThread>
 | 
				
			||||||
 | 
					#include <QVector>
 | 
				
			||||||
 | 
					#include <QIntValidator>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "ui_DEM_GeneVec.h"
 | 
				
			||||||
 | 
					#include "ThreadObject.h"
 | 
				
			||||||
 | 
					#include "SrsMainPluginInterFace.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "gdal_priv.h"
 | 
				
			||||||
 | 
					//#include "gdal_alg_priv.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class TrainMoudle : public SrsMainInterface
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						Q_OBJECT
 | 
				
			||||||
 | 
							Q_INTERFACES(SrsMainInterface)
 | 
				
			||||||
 | 
							Q_PLUGIN_METADATA(IID MainInterface_iid)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public:
 | 
				
			||||||
 | 
					    TrainMoudle();
 | 
				
			||||||
 | 
						~TrainMoudle();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						virtual QString PannelName() override;
 | 
				
			||||||
 | 
						virtual QString CategoryName() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						virtual QString EnglishName() override;
 | 
				
			||||||
 | 
						virtual QString ChineseName() override;
 | 
				
			||||||
 | 
						virtual QString Information() override;
 | 
				
			||||||
 | 
						virtual QString IconPath() override;
 | 
				
			||||||
 | 
						virtual QWidget* CenterWidget() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						void startWorkThread();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						//<2F><>json<6F>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>ʷ<EFBFBD>洢<EFBFBD><E6B4A2>·<EFBFBD><C2B7>
 | 
				
			||||||
 | 
						void ReadConfigHistoryPaths(QString strPath);
 | 
				
			||||||
 | 
						//<2F><><EFBFBD>汾<EFBFBD>δ<CEB4>·<EFBFBD><C2B7><EFBFBD><EFBFBD>json<6F>ļ<EFBFBD>
 | 
				
			||||||
 | 
						void WriteConfigPaths(QString strPath);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						QStringList getAllFiles(QString path, QString fileType);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public slots:
 | 
				
			||||||
 | 
						void choseInModel();
 | 
				
			||||||
 | 
						void choseInDom();
 | 
				
			||||||
 | 
						void choseInDsm();
 | 
				
			||||||
 | 
						void choseInLabel();
 | 
				
			||||||
 | 
						void choseOutModel();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						void addMap();
 | 
				
			||||||
 | 
						//pushbutton_OK
 | 
				
			||||||
 | 
						void readAndStart();
 | 
				
			||||||
 | 
						void pbCancel();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					signals:
 | 
				
			||||||
 | 
						void start(QString inModel, QString dom, QString dsm, QString label, QString outModel, bool mid, bool train, QString epoch1, QString epoch2);
 | 
				
			||||||
 | 
						void killChildThread();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					private:
 | 
				
			||||||
 | 
					    Ui::DEM_GeneVecClass ui;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						QDialog* myWidget = nullptr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						WorkThreadObject* mWorkObject = nullptr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						QThread* mThread = nullptr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						bool executeMid = true;
 | 
				
			||||||
 | 
						bool executeTrain = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
							
								
								
									
										6
									
								
								DEM_GeneVec/DEM_GeneVec.qrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								DEM_GeneVec/DEM_GeneVec.qrc
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					<RCC>
 | 
				
			||||||
 | 
					    <qresource prefix="/DEM_GeneVec">
 | 
				
			||||||
 | 
					        <file>resources/dem_vec.svg</file>
 | 
				
			||||||
 | 
					        <file>DEM_GeneVec.qss</file>
 | 
				
			||||||
 | 
					    </qresource>
 | 
				
			||||||
 | 
					</RCC>
 | 
				
			||||||
							
								
								
									
										98
									
								
								DEM_GeneVec/DEM_GeneVec.qss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										98
									
								
								DEM_GeneVec/DEM_GeneVec.qss
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,98 @@
 | 
				
			|||||||
 | 
					QProgressBar#progressBar {
 | 
				
			||||||
 | 
						border:0px solid white;
 | 
				
			||||||
 | 
						text-align:center;
 | 
				
			||||||
 | 
						color:black;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					QProgressBar#progressBar:chunk {
 | 
				
			||||||
 | 
						background-color:#3FABBA;
 | 
				
			||||||
 | 
						width:20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					QProgressBar#progressBar QLineEdit {
 | 
				
			||||||
 | 
						border:none;
 | 
				
			||||||
 | 
						color:black;
 | 
				
			||||||
 | 
						padding-left:5px;
 | 
				
			||||||
 | 
						font-size:16px;
 | 
				
			||||||
 | 
						background-color:transparent;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QLabel{
 | 
				
			||||||
 | 
						color:black;
 | 
				
			||||||
 | 
						font-family:'Microsoft YaHei';
 | 
				
			||||||
 | 
						font-size:12px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*----QPushButton<6F><6E>ʽ<EFBFBD><CABD>*/
 | 
				
			||||||
 | 
					#pushButton_ok, #pushButton_cancel, #pbtInModel, #pbtInDom, #pbtInDsm, #pbtInLabel, #pbtOutModel{
 | 
				
			||||||
 | 
						font-family:'Microsoft YaHei';
 | 
				
			||||||
 | 
						font-size:12px;
 | 
				
			||||||
 | 
						background-color: #ffffff;
 | 
				
			||||||
 | 
						border: 1px solid #dcdfe6;
 | 
				
			||||||
 | 
						padding: 2px;
 | 
				
			||||||
 | 
						border-radius: 5px;
 | 
				
			||||||
 | 
						max-height:20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#pushButton_ok, #pushButton_cancel{
 | 
				
			||||||
 | 
						min-width:36px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#pushButton_ok:hover, #pushButton_cancel:hover, #pbtInModel:hover, #pbtInDom:hover, #pbtInDsm:hover,#pbtInLabel:hover,#pbtOutModel:hover{
 | 
				
			||||||
 | 
						background-color: #ecf5ff;
 | 
				
			||||||
 | 
						color: #409eff;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#pushButton_ok:pressed, #pushButton_cancel:pressed, #pbtInModel:pressed, #pbtInDom:pressed, #pbtInDsm:pressed,#pbtInLabel:pressed,#pbtOutModel:pressed{
 | 
				
			||||||
 | 
						border: 1px solid #3a8ee6;
 | 
				
			||||||
 | 
						color: #409eff;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#pushButton_ok:checked, #pushButton_cancel:checked, #pbtInModel:checked, #pbtInDom:checked, #pbtInDsm:checked,#pbtInLabel:checked,#pbtOutModel:checked{
 | 
				
			||||||
 | 
						border: 1px solid #3a8ee6;
 | 
				
			||||||
 | 
						color: #409eff;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#pushButton_ok:focus, #pushButton_cancel:focus, #pbtInModel:focus, #pbtInDom:focus, #pbtInDsm:focus,#pbtInLabel:focus,#pbtOutModel:focus{
 | 
				
			||||||
 | 
						border: 1px solid #3a8ee6;
 | 
				
			||||||
 | 
						color: #409eff;
 | 
				
			||||||
 | 
						outline: none;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*----QLineEdit<69><74>ʽ*/
 | 
				
			||||||
 | 
					#lineInModel, #lineInDsm, #lineInDom, #lineOutModel, #lineInLabel, #lineEpoch1, #lineEpoch2{
 | 
				
			||||||
 | 
						border:0px;
 | 
				
			||||||
 | 
						border-bottom: 1px solid #B3B3B3;
 | 
				
			||||||
 | 
						font-family:'Microsoft YaHei';
 | 
				
			||||||
 | 
						font-size:12px;
 | 
				
			||||||
 | 
						background-color:transparent;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#lineInModel:hover, #lineInDsm:hover, #lineInDom:hover, #lineOutModel:hover, #lineInLabel:hover, #lineEpoch1:hover, #lineEpoch2:hover{
 | 
				
			||||||
 | 
						border-bottom: 2px solid #66A3FF;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#lineInModel:focus, #lineInDsm:focus, #lineInDom:focus, #lineOutModel:focus, #lineInLabel:focus, #lineEpoch1:focus, #lineEpoch2:focus{
 | 
				
			||||||
 | 
						border-bottom: 2px solid #7666FF;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*QCheckBox{
 | 
				
			||||||
 | 
						background:transparent;
 | 
				
			||||||
 | 
						border:0px;
 | 
				
			||||||
 | 
						color:black;
 | 
				
			||||||
 | 
						min-height: 20px;
 | 
				
			||||||
 | 
						min-width: 60px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					QCheckBox::disabled{
 | 
				
			||||||
 | 
						background:transparent;
 | 
				
			||||||
 | 
						border:0px;
 | 
				
			||||||
 | 
						color:#202020;
 | 
				
			||||||
 | 
						min-height: 20px;
 | 
				
			||||||
 | 
						min-width: 60px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					QCheckBox::indicator{
 | 
				
			||||||
 | 
						margin-right:-10px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					QCheckBox::indicator:checked{
 | 
				
			||||||
 | 
						image: url(:/RemoteSensingProcess/Resources/checkbox_checked.svg);
 | 
				
			||||||
 | 
						width:25px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					QCheckBox::indicator:unchecked{
 | 
				
			||||||
 | 
						image: url(:/RemoteSensingProcess/Resources/checkbox_unchecked.svg);
 | 
				
			||||||
 | 
						width:25px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					QCheckBox::indicator:disabled{
 | 
				
			||||||
 | 
						image: url(:/RemoteSensingProcess/Resources/checkbox_disabled.svg);
 | 
				
			||||||
 | 
						width:25px;
 | 
				
			||||||
 | 
					}*/
 | 
				
			||||||
							
								
								
									
										485
									
								
								DEM_GeneVec/DEM_GeneVec.ui
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										485
									
								
								DEM_GeneVec/DEM_GeneVec.ui
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,485 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="UTF-8"?>
 | 
				
			||||||
 | 
					<ui version="4.0">
 | 
				
			||||||
 | 
					 <class>DEM_GeneVecClass</class>
 | 
				
			||||||
 | 
					 <widget class="QDialog" name="DEM_GeneVecClass">
 | 
				
			||||||
 | 
					  <property name="geometry">
 | 
				
			||||||
 | 
					   <rect>
 | 
				
			||||||
 | 
					    <x>0</x>
 | 
				
			||||||
 | 
					    <y>0</y>
 | 
				
			||||||
 | 
					    <width>550</width>
 | 
				
			||||||
 | 
					    <height>320</height>
 | 
				
			||||||
 | 
					   </rect>
 | 
				
			||||||
 | 
					  </property>
 | 
				
			||||||
 | 
					  <property name="sizePolicy">
 | 
				
			||||||
 | 
					   <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
 | 
				
			||||||
 | 
					    <horstretch>0</horstretch>
 | 
				
			||||||
 | 
					    <verstretch>0</verstretch>
 | 
				
			||||||
 | 
					   </sizepolicy>
 | 
				
			||||||
 | 
					  </property>
 | 
				
			||||||
 | 
					  <property name="minimumSize">
 | 
				
			||||||
 | 
					   <size>
 | 
				
			||||||
 | 
					    <width>550</width>
 | 
				
			||||||
 | 
					    <height>320</height>
 | 
				
			||||||
 | 
					   </size>
 | 
				
			||||||
 | 
					  </property>
 | 
				
			||||||
 | 
					  <property name="maximumSize">
 | 
				
			||||||
 | 
					   <size>
 | 
				
			||||||
 | 
					    <width>550</width>
 | 
				
			||||||
 | 
					    <height>320</height>
 | 
				
			||||||
 | 
					   </size>
 | 
				
			||||||
 | 
					  </property>
 | 
				
			||||||
 | 
					  <property name="windowTitle">
 | 
				
			||||||
 | 
					   <string/>
 | 
				
			||||||
 | 
					  </property>
 | 
				
			||||||
 | 
					  <layout class="QGridLayout" name="gridLayout_2">
 | 
				
			||||||
 | 
					   <item row="0" column="0">
 | 
				
			||||||
 | 
					    <layout class="QGridLayout" name="gridLayout">
 | 
				
			||||||
 | 
					     <item row="1" column="1">
 | 
				
			||||||
 | 
					      <widget class="QLineEdit" name="lineInDom">
 | 
				
			||||||
 | 
					       <property name="sizePolicy">
 | 
				
			||||||
 | 
					        <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
 | 
				
			||||||
 | 
					         <horstretch>0</horstretch>
 | 
				
			||||||
 | 
					         <verstretch>0</verstretch>
 | 
				
			||||||
 | 
					        </sizepolicy>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					      </widget>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					     <item row="5" column="1">
 | 
				
			||||||
 | 
					      <layout class="QHBoxLayout" name="horizontalLayout_2">
 | 
				
			||||||
 | 
					       <property name="spacing">
 | 
				
			||||||
 | 
					        <number>6</number>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <item>
 | 
				
			||||||
 | 
					        <widget class="QLineEdit" name="lineEpoch1">
 | 
				
			||||||
 | 
					         <property name="maximumSize">
 | 
				
			||||||
 | 
					          <size>
 | 
				
			||||||
 | 
					           <width>100</width>
 | 
				
			||||||
 | 
					           <height>16777215</height>
 | 
				
			||||||
 | 
					          </size>
 | 
				
			||||||
 | 
					         </property>
 | 
				
			||||||
 | 
					        </widget>
 | 
				
			||||||
 | 
					       </item>
 | 
				
			||||||
 | 
					       <item>
 | 
				
			||||||
 | 
					        <widget class="QLabel" name="label_5">
 | 
				
			||||||
 | 
					         <property name="sizePolicy">
 | 
				
			||||||
 | 
					          <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
 | 
				
			||||||
 | 
					           <horstretch>0</horstretch>
 | 
				
			||||||
 | 
					           <verstretch>0</verstretch>
 | 
				
			||||||
 | 
					          </sizepolicy>
 | 
				
			||||||
 | 
					         </property>
 | 
				
			||||||
 | 
					         <property name="maximumSize">
 | 
				
			||||||
 | 
					          <size>
 | 
				
			||||||
 | 
					           <width>110</width>
 | 
				
			||||||
 | 
					           <height>16777215</height>
 | 
				
			||||||
 | 
					          </size>
 | 
				
			||||||
 | 
					         </property>
 | 
				
			||||||
 | 
					         <property name="text">
 | 
				
			||||||
 | 
					          <string>解冻训练次数</string>
 | 
				
			||||||
 | 
					         </property>
 | 
				
			||||||
 | 
					         <property name="alignment">
 | 
				
			||||||
 | 
					          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
 | 
				
			||||||
 | 
					         </property>
 | 
				
			||||||
 | 
					        </widget>
 | 
				
			||||||
 | 
					       </item>
 | 
				
			||||||
 | 
					       <item>
 | 
				
			||||||
 | 
					        <widget class="QLineEdit" name="lineEpoch2">
 | 
				
			||||||
 | 
					         <property name="maximumSize">
 | 
				
			||||||
 | 
					          <size>
 | 
				
			||||||
 | 
					           <width>100</width>
 | 
				
			||||||
 | 
					           <height>16777215</height>
 | 
				
			||||||
 | 
					          </size>
 | 
				
			||||||
 | 
					         </property>
 | 
				
			||||||
 | 
					        </widget>
 | 
				
			||||||
 | 
					       </item>
 | 
				
			||||||
 | 
					      </layout>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					     <item row="4" column="1">
 | 
				
			||||||
 | 
					      <widget class="QLineEdit" name="lineOutModel">
 | 
				
			||||||
 | 
					       <property name="sizePolicy">
 | 
				
			||||||
 | 
					        <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
 | 
				
			||||||
 | 
					         <horstretch>0</horstretch>
 | 
				
			||||||
 | 
					         <verstretch>0</verstretch>
 | 
				
			||||||
 | 
					        </sizepolicy>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					      </widget>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					     <item row="0" column="2">
 | 
				
			||||||
 | 
					      <widget class="QPushButton" name="pbtInModel">
 | 
				
			||||||
 | 
					       <property name="text">
 | 
				
			||||||
 | 
					        <string>选择文件</string>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					      </widget>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					     <item row="3" column="1">
 | 
				
			||||||
 | 
					      <widget class="QLineEdit" name="lineInLabel">
 | 
				
			||||||
 | 
					       <property name="sizePolicy">
 | 
				
			||||||
 | 
					        <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
 | 
				
			||||||
 | 
					         <horstretch>0</horstretch>
 | 
				
			||||||
 | 
					         <verstretch>0</verstretch>
 | 
				
			||||||
 | 
					        </sizepolicy>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					      </widget>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					     <item row="4" column="2">
 | 
				
			||||||
 | 
					      <widget class="QPushButton" name="pbtOutModel">
 | 
				
			||||||
 | 
					       <property name="minimumSize">
 | 
				
			||||||
 | 
					        <size>
 | 
				
			||||||
 | 
					         <width>75</width>
 | 
				
			||||||
 | 
					         <height>0</height>
 | 
				
			||||||
 | 
					        </size>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="maximumSize">
 | 
				
			||||||
 | 
					        <size>
 | 
				
			||||||
 | 
					         <width>75</width>
 | 
				
			||||||
 | 
					         <height>16777215</height>
 | 
				
			||||||
 | 
					        </size>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="text">
 | 
				
			||||||
 | 
					        <string>选择文件夹</string>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					      </widget>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					     <item row="0" column="1">
 | 
				
			||||||
 | 
					      <widget class="QLineEdit" name="lineInModel"/>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					     <item row="2" column="1">
 | 
				
			||||||
 | 
					      <widget class="QLineEdit" name="lineInDsm">
 | 
				
			||||||
 | 
					       <property name="sizePolicy">
 | 
				
			||||||
 | 
					        <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
 | 
				
			||||||
 | 
					         <horstretch>0</horstretch>
 | 
				
			||||||
 | 
					         <verstretch>0</verstretch>
 | 
				
			||||||
 | 
					        </sizepolicy>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					      </widget>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					     <item row="3" column="2">
 | 
				
			||||||
 | 
					      <widget class="QPushButton" name="pbtInLabel">
 | 
				
			||||||
 | 
					       <property name="minimumSize">
 | 
				
			||||||
 | 
					        <size>
 | 
				
			||||||
 | 
					         <width>75</width>
 | 
				
			||||||
 | 
					         <height>0</height>
 | 
				
			||||||
 | 
					        </size>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="maximumSize">
 | 
				
			||||||
 | 
					        <size>
 | 
				
			||||||
 | 
					         <width>75</width>
 | 
				
			||||||
 | 
					         <height>16777215</height>
 | 
				
			||||||
 | 
					        </size>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="text">
 | 
				
			||||||
 | 
					        <string>选择文件夹</string>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					      </widget>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					     <item row="1" column="0">
 | 
				
			||||||
 | 
					      <widget class="QLabel" name="label">
 | 
				
			||||||
 | 
					       <property name="sizePolicy">
 | 
				
			||||||
 | 
					        <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
 | 
				
			||||||
 | 
					         <horstretch>0</horstretch>
 | 
				
			||||||
 | 
					         <verstretch>0</verstretch>
 | 
				
			||||||
 | 
					        </sizepolicy>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="minimumSize">
 | 
				
			||||||
 | 
					        <size>
 | 
				
			||||||
 | 
					         <width>110</width>
 | 
				
			||||||
 | 
					         <height>0</height>
 | 
				
			||||||
 | 
					        </size>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="maximumSize">
 | 
				
			||||||
 | 
					        <size>
 | 
				
			||||||
 | 
					         <width>110</width>
 | 
				
			||||||
 | 
					         <height>16777215</height>
 | 
				
			||||||
 | 
					        </size>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="text">
 | 
				
			||||||
 | 
					        <string>输入DOM文件路径</string>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="alignment">
 | 
				
			||||||
 | 
					        <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					      </widget>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					     <item row="2" column="0">
 | 
				
			||||||
 | 
					      <widget class="QLabel" name="label_2">
 | 
				
			||||||
 | 
					       <property name="sizePolicy">
 | 
				
			||||||
 | 
					        <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
 | 
				
			||||||
 | 
					         <horstretch>0</horstretch>
 | 
				
			||||||
 | 
					         <verstretch>0</verstretch>
 | 
				
			||||||
 | 
					        </sizepolicy>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="minimumSize">
 | 
				
			||||||
 | 
					        <size>
 | 
				
			||||||
 | 
					         <width>110</width>
 | 
				
			||||||
 | 
					         <height>0</height>
 | 
				
			||||||
 | 
					        </size>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="maximumSize">
 | 
				
			||||||
 | 
					        <size>
 | 
				
			||||||
 | 
					         <width>110</width>
 | 
				
			||||||
 | 
					         <height>16777215</height>
 | 
				
			||||||
 | 
					        </size>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="text">
 | 
				
			||||||
 | 
					        <string>输入DSM文件路径</string>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="alignment">
 | 
				
			||||||
 | 
					        <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					      </widget>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					     <item row="1" column="2">
 | 
				
			||||||
 | 
					      <widget class="QPushButton" name="pbtInDom">
 | 
				
			||||||
 | 
					       <property name="minimumSize">
 | 
				
			||||||
 | 
					        <size>
 | 
				
			||||||
 | 
					         <width>75</width>
 | 
				
			||||||
 | 
					         <height>0</height>
 | 
				
			||||||
 | 
					        </size>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="maximumSize">
 | 
				
			||||||
 | 
					        <size>
 | 
				
			||||||
 | 
					         <width>75</width>
 | 
				
			||||||
 | 
					         <height>16777215</height>
 | 
				
			||||||
 | 
					        </size>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="text">
 | 
				
			||||||
 | 
					        <string>选择文件夹</string>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					      </widget>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					     <item row="3" column="0">
 | 
				
			||||||
 | 
					      <widget class="QLabel" name="label_mask">
 | 
				
			||||||
 | 
					       <property name="sizePolicy">
 | 
				
			||||||
 | 
					        <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
 | 
				
			||||||
 | 
					         <horstretch>0</horstretch>
 | 
				
			||||||
 | 
					         <verstretch>0</verstretch>
 | 
				
			||||||
 | 
					        </sizepolicy>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="minimumSize">
 | 
				
			||||||
 | 
					        <size>
 | 
				
			||||||
 | 
					         <width>110</width>
 | 
				
			||||||
 | 
					         <height>0</height>
 | 
				
			||||||
 | 
					        </size>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="maximumSize">
 | 
				
			||||||
 | 
					        <size>
 | 
				
			||||||
 | 
					         <width>110</width>
 | 
				
			||||||
 | 
					         <height>16777215</height>
 | 
				
			||||||
 | 
					        </size>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="text">
 | 
				
			||||||
 | 
					        <string>输入Label文件路径</string>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="alignment">
 | 
				
			||||||
 | 
					        <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					      </widget>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					     <item row="2" column="2">
 | 
				
			||||||
 | 
					      <widget class="QPushButton" name="pbtInDsm">
 | 
				
			||||||
 | 
					       <property name="minimumSize">
 | 
				
			||||||
 | 
					        <size>
 | 
				
			||||||
 | 
					         <width>75</width>
 | 
				
			||||||
 | 
					         <height>0</height>
 | 
				
			||||||
 | 
					        </size>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="maximumSize">
 | 
				
			||||||
 | 
					        <size>
 | 
				
			||||||
 | 
					         <width>75</width>
 | 
				
			||||||
 | 
					         <height>16777215</height>
 | 
				
			||||||
 | 
					        </size>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="text">
 | 
				
			||||||
 | 
					        <string>选择文件夹</string>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					      </widget>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					     <item row="4" column="0">
 | 
				
			||||||
 | 
					      <widget class="QLabel" name="label_mask_2">
 | 
				
			||||||
 | 
					       <property name="sizePolicy">
 | 
				
			||||||
 | 
					        <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
 | 
				
			||||||
 | 
					         <horstretch>0</horstretch>
 | 
				
			||||||
 | 
					         <verstretch>0</verstretch>
 | 
				
			||||||
 | 
					        </sizepolicy>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="minimumSize">
 | 
				
			||||||
 | 
					        <size>
 | 
				
			||||||
 | 
					         <width>110</width>
 | 
				
			||||||
 | 
					         <height>0</height>
 | 
				
			||||||
 | 
					        </size>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="maximumSize">
 | 
				
			||||||
 | 
					        <size>
 | 
				
			||||||
 | 
					         <width>110</width>
 | 
				
			||||||
 | 
					         <height>16777215</height>
 | 
				
			||||||
 | 
					        </size>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="text">
 | 
				
			||||||
 | 
					        <string>输出模型文件路径</string>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="alignment">
 | 
				
			||||||
 | 
					        <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					      </widget>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					     <item row="0" column="0">
 | 
				
			||||||
 | 
					      <widget class="QLabel" name="label_3">
 | 
				
			||||||
 | 
					       <property name="sizePolicy">
 | 
				
			||||||
 | 
					        <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
 | 
				
			||||||
 | 
					         <horstretch>0</horstretch>
 | 
				
			||||||
 | 
					         <verstretch>0</verstretch>
 | 
				
			||||||
 | 
					        </sizepolicy>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="text">
 | 
				
			||||||
 | 
					        <string>输入初始模型文件路径</string>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="alignment">
 | 
				
			||||||
 | 
					        <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					      </widget>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					     <item row="5" column="0">
 | 
				
			||||||
 | 
					      <widget class="QLabel" name="label_4">
 | 
				
			||||||
 | 
					       <property name="sizePolicy">
 | 
				
			||||||
 | 
					        <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
 | 
				
			||||||
 | 
					         <horstretch>0</horstretch>
 | 
				
			||||||
 | 
					         <verstretch>0</verstretch>
 | 
				
			||||||
 | 
					        </sizepolicy>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="maximumSize">
 | 
				
			||||||
 | 
					        <size>
 | 
				
			||||||
 | 
					         <width>110</width>
 | 
				
			||||||
 | 
					         <height>16777215</height>
 | 
				
			||||||
 | 
					        </size>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="text">
 | 
				
			||||||
 | 
					        <string>冻结训练次数</string>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="alignment">
 | 
				
			||||||
 | 
					        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					      </widget>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					    </layout>
 | 
				
			||||||
 | 
					   </item>
 | 
				
			||||||
 | 
					   <item row="1" column="0">
 | 
				
			||||||
 | 
					    <layout class="QHBoxLayout" name="horizontalLayout">
 | 
				
			||||||
 | 
					     <property name="spacing">
 | 
				
			||||||
 | 
					      <number>0</number>
 | 
				
			||||||
 | 
					     </property>
 | 
				
			||||||
 | 
					     <property name="sizeConstraint">
 | 
				
			||||||
 | 
					      <enum>QLayout::SetDefaultConstraint</enum>
 | 
				
			||||||
 | 
					     </property>
 | 
				
			||||||
 | 
					     <property name="leftMargin">
 | 
				
			||||||
 | 
					      <number>100</number>
 | 
				
			||||||
 | 
					     </property>
 | 
				
			||||||
 | 
					     <item>
 | 
				
			||||||
 | 
					      <widget class="QCheckBox" name="checkBoxMid">
 | 
				
			||||||
 | 
					       <property name="text">
 | 
				
			||||||
 | 
					        <string>生成训练集、验证集</string>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="checked">
 | 
				
			||||||
 | 
					        <bool>true</bool>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					      </widget>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					     <item>
 | 
				
			||||||
 | 
					      <widget class="QCheckBox" name="checkBoxTrain">
 | 
				
			||||||
 | 
					       <property name="text">
 | 
				
			||||||
 | 
					        <string>模型训练</string>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="checked">
 | 
				
			||||||
 | 
					        <bool>true</bool>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					      </widget>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					     <item>
 | 
				
			||||||
 | 
					      <spacer name="horizontalSpacer">
 | 
				
			||||||
 | 
					       <property name="orientation">
 | 
				
			||||||
 | 
					        <enum>Qt::Horizontal</enum>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="sizeHint" stdset="0">
 | 
				
			||||||
 | 
					        <size>
 | 
				
			||||||
 | 
					         <width>40</width>
 | 
				
			||||||
 | 
					         <height>20</height>
 | 
				
			||||||
 | 
					        </size>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					      </spacer>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					     <item>
 | 
				
			||||||
 | 
					      <widget class="QPushButton" name="pushButton_ok">
 | 
				
			||||||
 | 
					       <property name="sizePolicy">
 | 
				
			||||||
 | 
					        <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
 | 
				
			||||||
 | 
					         <horstretch>0</horstretch>
 | 
				
			||||||
 | 
					         <verstretch>0</verstretch>
 | 
				
			||||||
 | 
					        </sizepolicy>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="text">
 | 
				
			||||||
 | 
					        <string>确定</string>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					      </widget>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					     <item>
 | 
				
			||||||
 | 
					      <spacer name="horizontalSpacer_2">
 | 
				
			||||||
 | 
					       <property name="orientation">
 | 
				
			||||||
 | 
					        <enum>Qt::Horizontal</enum>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="sizeType">
 | 
				
			||||||
 | 
					        <enum>QSizePolicy::Fixed</enum>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="sizeHint" stdset="0">
 | 
				
			||||||
 | 
					        <size>
 | 
				
			||||||
 | 
					         <width>10</width>
 | 
				
			||||||
 | 
					         <height>20</height>
 | 
				
			||||||
 | 
					        </size>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					      </spacer>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					     <item>
 | 
				
			||||||
 | 
					      <widget class="QPushButton" name="pushButton_cancel">
 | 
				
			||||||
 | 
					       <property name="text">
 | 
				
			||||||
 | 
					        <string>取消</string>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					      </widget>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					    </layout>
 | 
				
			||||||
 | 
					   </item>
 | 
				
			||||||
 | 
					   <item row="2" column="0">
 | 
				
			||||||
 | 
					    <layout class="QHBoxLayout" name="horizontalLayout_5">
 | 
				
			||||||
 | 
					     <item>
 | 
				
			||||||
 | 
					      <widget class="CProgressBar" name="progressBar">
 | 
				
			||||||
 | 
					       <property name="value">
 | 
				
			||||||
 | 
					        <number>0</number>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					      </widget>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					    </layout>
 | 
				
			||||||
 | 
					   </item>
 | 
				
			||||||
 | 
					  </layout>
 | 
				
			||||||
 | 
					 </widget>
 | 
				
			||||||
 | 
					 <layoutdefault spacing="6" margin="11"/>
 | 
				
			||||||
 | 
					 <customwidgets>
 | 
				
			||||||
 | 
					  <customwidget>
 | 
				
			||||||
 | 
					   <class>CProgressBar</class>
 | 
				
			||||||
 | 
					   <extends>QProgressBar</extends>
 | 
				
			||||||
 | 
					   <header>CProgressBar.h</header>
 | 
				
			||||||
 | 
					  </customwidget>
 | 
				
			||||||
 | 
					 </customwidgets>
 | 
				
			||||||
 | 
					 <tabstops>
 | 
				
			||||||
 | 
					  <tabstop>lineInModel</tabstop>
 | 
				
			||||||
 | 
					  <tabstop>pbtInModel</tabstop>
 | 
				
			||||||
 | 
					  <tabstop>lineInDom</tabstop>
 | 
				
			||||||
 | 
					  <tabstop>pbtInDom</tabstop>
 | 
				
			||||||
 | 
					  <tabstop>lineInDsm</tabstop>
 | 
				
			||||||
 | 
					  <tabstop>pbtInDsm</tabstop>
 | 
				
			||||||
 | 
					  <tabstop>lineInLabel</tabstop>
 | 
				
			||||||
 | 
					  <tabstop>pbtInLabel</tabstop>
 | 
				
			||||||
 | 
					  <tabstop>lineOutModel</tabstop>
 | 
				
			||||||
 | 
					  <tabstop>pbtOutModel</tabstop>
 | 
				
			||||||
 | 
					  <tabstop>pushButton_ok</tabstop>
 | 
				
			||||||
 | 
					  <tabstop>pushButton_cancel</tabstop>
 | 
				
			||||||
 | 
					 </tabstops>
 | 
				
			||||||
 | 
					 <resources>
 | 
				
			||||||
 | 
					  <include location="DEM_GeneVec.qrc"/>
 | 
				
			||||||
 | 
					 </resources>
 | 
				
			||||||
 | 
					 <connections/>
 | 
				
			||||||
 | 
					</ui>
 | 
				
			||||||
							
								
								
									
										89
									
								
								DEM_GeneVec/DEM_GeneVec.vcxproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										89
									
								
								DEM_GeneVec/DEM_GeneVec.vcxproj
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,89 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
				
			||||||
 | 
					  <ItemGroup Label="ProjectConfigurations">
 | 
				
			||||||
 | 
					    <ProjectConfiguration Include="Release|x64">
 | 
				
			||||||
 | 
					      <Configuration>Release</Configuration>
 | 
				
			||||||
 | 
					      <Platform>x64</Platform>
 | 
				
			||||||
 | 
					    </ProjectConfiguration>
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <PropertyGroup Label="Globals">
 | 
				
			||||||
 | 
					    <ProjectGuid>{858826AD-BC7C-4B9D-8E48-626392904948}</ProjectGuid>
 | 
				
			||||||
 | 
					    <Keyword>QtVS_v304</Keyword>
 | 
				
			||||||
 | 
					    <WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">10.0.19041.0</WindowsTargetPlatformVersion>
 | 
				
			||||||
 | 
					    <QtMsBuild Condition="'$(QtMsBuild)'=='' OR !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
 | 
				
			||||||
 | 
					    <ProjectName>DEM_Train</ProjectName>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
 | 
				
			||||||
 | 
					  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="Configuration">
 | 
				
			||||||
 | 
					    <ConfigurationType>DynamicLibrary</ConfigurationType>
 | 
				
			||||||
 | 
					    <PlatformToolset>v142</PlatformToolset>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
 | 
				
			||||||
 | 
					  <ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
 | 
				
			||||||
 | 
					    <Import Project="$(QtMsBuild)\qt_defaults.props" />
 | 
				
			||||||
 | 
					  </ImportGroup>
 | 
				
			||||||
 | 
					  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="QtSettings">
 | 
				
			||||||
 | 
					    <QtInstall>QtQgis</QtInstall>
 | 
				
			||||||
 | 
					    <QtModules>core;gui;widgets</QtModules>
 | 
				
			||||||
 | 
					    <QtBuildConfig>release</QtBuildConfig>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
 | 
				
			||||||
 | 
					    <Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
 | 
				
			||||||
 | 
					  </Target>
 | 
				
			||||||
 | 
					  <ImportGroup Label="ExtensionSettings" />
 | 
				
			||||||
 | 
					  <ImportGroup Label="Shared" />
 | 
				
			||||||
 | 
					  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
 | 
				
			||||||
 | 
					    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
				
			||||||
 | 
					    <Import Project="$(QtMsBuild)\Qt.props" />
 | 
				
			||||||
 | 
					  </ImportGroup>
 | 
				
			||||||
 | 
					  <PropertyGroup Label="UserMacros" />
 | 
				
			||||||
 | 
					  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
 | 
				
			||||||
 | 
					    <IncludePath>D:\qgis\osgeo4w\include;D:\qgis\osgeo4w\apps\Qt5\include;$(IncludePath)</IncludePath>
 | 
				
			||||||
 | 
					    <LibraryPath>D:\qgis\osgeo4w\lib;D:\qgis\osgeo4w\apps\Qt5\lib;$(LibraryPath)</LibraryPath>
 | 
				
			||||||
 | 
					    <TargetName>dem1-$(ProjectName)</TargetName>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
 | 
				
			||||||
 | 
					    <Link>
 | 
				
			||||||
 | 
					      <AdditionalDependencies>gdal_i.lib;%(AdditionalDependencies)</AdditionalDependencies>
 | 
				
			||||||
 | 
					    </Link>
 | 
				
			||||||
 | 
					  </ItemDefinitionGroup>
 | 
				
			||||||
 | 
					  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="Configuration">
 | 
				
			||||||
 | 
					    <ClCompile>
 | 
				
			||||||
 | 
					      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
 | 
				
			||||||
 | 
					      <MultiProcessorCompilation>true</MultiProcessorCompilation>
 | 
				
			||||||
 | 
					      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
 | 
				
			||||||
 | 
					      <Optimization>Disabled</Optimization>
 | 
				
			||||||
 | 
					      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
 | 
				
			||||||
 | 
					    </ClCompile>
 | 
				
			||||||
 | 
					    <Link>
 | 
				
			||||||
 | 
					      <SubSystem>Console</SubSystem>
 | 
				
			||||||
 | 
					      <GenerateDebugInformation>true</GenerateDebugInformation>
 | 
				
			||||||
 | 
					    </Link>
 | 
				
			||||||
 | 
					  </ItemDefinitionGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <ClCompile Include="CProgressBar.cpp" />
 | 
				
			||||||
 | 
					    <ClCompile Include="ThreadObject.cpp" />
 | 
				
			||||||
 | 
					    <QtRcc Include="DEM_GeneVec.qrc" />
 | 
				
			||||||
 | 
					    <QtMoc Include="DEM_GeneVec.h" />
 | 
				
			||||||
 | 
					    <ClCompile Include="DEM_GeneVec.cpp" />
 | 
				
			||||||
 | 
					    <ClCompile Include="main.cpp" />
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <QtUic Include="DEM_GeneVec.ui" />
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <QtMoc Include="ThreadObject.h" />
 | 
				
			||||||
 | 
					    <QtMoc Include="SrsMainPluginInterFace.h" />
 | 
				
			||||||
 | 
					    <QtMoc Include="CProgressBar.h" />
 | 
				
			||||||
 | 
					    <ClInclude Include="x64\Release\uic\ui_DEM_GeneVec.h" />
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <None Include="DEM_GeneVec.qss" />
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
 | 
				
			||||||
 | 
					  <ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
 | 
				
			||||||
 | 
					    <Import Project="$(QtMsBuild)\qt.targets" />
 | 
				
			||||||
 | 
					  </ImportGroup>
 | 
				
			||||||
 | 
					  <ImportGroup Label="ExtensionTargets">
 | 
				
			||||||
 | 
					  </ImportGroup>
 | 
				
			||||||
 | 
					</Project>
 | 
				
			||||||
							
								
								
									
										76
									
								
								DEM_GeneVec/DEM_GeneVec.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								DEM_GeneVec/DEM_GeneVec.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,76 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <Filter Include="Source Files">
 | 
				
			||||||
 | 
					      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
 | 
				
			||||||
 | 
					      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
 | 
				
			||||||
 | 
					    </Filter>
 | 
				
			||||||
 | 
					    <Filter Include="Header Files">
 | 
				
			||||||
 | 
					      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
 | 
				
			||||||
 | 
					      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
 | 
				
			||||||
 | 
					    </Filter>
 | 
				
			||||||
 | 
					    <Filter Include="Resource Files">
 | 
				
			||||||
 | 
					      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
 | 
				
			||||||
 | 
					      <Extensions>qrc;rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
 | 
				
			||||||
 | 
					    </Filter>
 | 
				
			||||||
 | 
					    <Filter Include="Form Files">
 | 
				
			||||||
 | 
					      <UniqueIdentifier>{99349809-55BA-4b9d-BF79-8FDBB0286EB3}</UniqueIdentifier>
 | 
				
			||||||
 | 
					      <Extensions>ui</Extensions>
 | 
				
			||||||
 | 
					    </Filter>
 | 
				
			||||||
 | 
					    <Filter Include="Translation Files">
 | 
				
			||||||
 | 
					      <UniqueIdentifier>{639EADAA-A684-42e4-A9AD-28FC9BCB8F7C}</UniqueIdentifier>
 | 
				
			||||||
 | 
					      <Extensions>ts</Extensions>
 | 
				
			||||||
 | 
					    </Filter>
 | 
				
			||||||
 | 
					    <Filter Include="process">
 | 
				
			||||||
 | 
					      <UniqueIdentifier>{96222dac-cebd-43e4-bfdd-ebee13ab43e3}</UniqueIdentifier>
 | 
				
			||||||
 | 
					    </Filter>
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <QtRcc Include="DEM_GeneVec.qrc">
 | 
				
			||||||
 | 
					      <Filter>Resource Files</Filter>
 | 
				
			||||||
 | 
					    </QtRcc>
 | 
				
			||||||
 | 
					    <QtMoc Include="DEM_GeneVec.h">
 | 
				
			||||||
 | 
					      <Filter>Header Files</Filter>
 | 
				
			||||||
 | 
					    </QtMoc>
 | 
				
			||||||
 | 
					    <ClCompile Include="DEM_GeneVec.cpp">
 | 
				
			||||||
 | 
					      <Filter>Source Files</Filter>
 | 
				
			||||||
 | 
					    </ClCompile>
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <ClCompile Include="main.cpp">
 | 
				
			||||||
 | 
					      <Filter>Source Files</Filter>
 | 
				
			||||||
 | 
					    </ClCompile>
 | 
				
			||||||
 | 
					    <ClCompile Include="ThreadObject.cpp">
 | 
				
			||||||
 | 
					      <Filter>process</Filter>
 | 
				
			||||||
 | 
					    </ClCompile>
 | 
				
			||||||
 | 
					    <ClCompile Include="CProgressBar.cpp">
 | 
				
			||||||
 | 
					      <Filter>Source Files</Filter>
 | 
				
			||||||
 | 
					    </ClCompile>
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <QtUic Include="DEM_GeneVec.ui">
 | 
				
			||||||
 | 
					      <Filter>Form Files</Filter>
 | 
				
			||||||
 | 
					    </QtUic>
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <ClInclude Include="x64\Release\uic\ui_DEM_GeneVec.h">
 | 
				
			||||||
 | 
					      <Filter>Form Files</Filter>
 | 
				
			||||||
 | 
					    </ClInclude>
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <QtMoc Include="ThreadObject.h">
 | 
				
			||||||
 | 
					      <Filter>process</Filter>
 | 
				
			||||||
 | 
					    </QtMoc>
 | 
				
			||||||
 | 
					    <QtMoc Include="SrsMainPluginInterFace.h">
 | 
				
			||||||
 | 
					      <Filter>Header Files</Filter>
 | 
				
			||||||
 | 
					    </QtMoc>
 | 
				
			||||||
 | 
					    <QtMoc Include="CProgressBar.h">
 | 
				
			||||||
 | 
					      <Filter>Header Files</Filter>
 | 
				
			||||||
 | 
					    </QtMoc>
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <None Include="DEM_GeneVec.qss">
 | 
				
			||||||
 | 
					      <Filter>Resource Files</Filter>
 | 
				
			||||||
 | 
					    </None>
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					</Project>
 | 
				
			||||||
							
								
								
									
										58
									
								
								DEM_GeneVec/SrsMainPluginInterFace.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								DEM_GeneVec/SrsMainPluginInterFace.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,58 @@
 | 
				
			|||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					//#if _MSC_VER >=1600  // MSVC2015>1899, msvc_ver=14.0
 | 
				
			||||||
 | 
					//#pragma execution_character_set("utf-8")
 | 
				
			||||||
 | 
					//#endif
 | 
				
			||||||
 | 
					//#include "qtclasslibrary1_global.h"
 | 
				
			||||||
 | 
					#include <qstring.h>
 | 
				
			||||||
 | 
					#include <QtPlugin>
 | 
				
			||||||
 | 
					#include <QVector>
 | 
				
			||||||
 | 
					#include <QObject>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct SPluginMetaData
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						QVector<QString> qvsReturnFilePaths;
 | 
				
			||||||
 | 
						QVector<QString> qvsSendFilePaths;
 | 
				
			||||||
 | 
						bool isAdd2Map;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					class  SrsMainInterface : public QObject
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						Q_OBJECT
 | 
				
			||||||
 | 
					public:
 | 
				
			||||||
 | 
						virtual ~SrsMainInterface() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/// <summary>
 | 
				
			||||||
 | 
						/// <20><><EFBFBD><EFBFBD>pannel<65><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
						/// </summary>
 | 
				
			||||||
 | 
						virtual QString PannelName() = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/// <summary>
 | 
				
			||||||
 | 
						/// <20><><EFBFBD><EFBFBD>Category<72><79><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
						/// </summary>
 | 
				
			||||||
 | 
						/// <returns></returns>
 | 
				
			||||||
 | 
						virtual QString CategoryName() = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/// <summary>
 | 
				
			||||||
 | 
						/// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD><EFBFBD><EFBFBD>Ӣ<EFBFBD><D3A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
						/// </summary>
 | 
				
			||||||
 | 
						/// <returns></returns>
 | 
				
			||||||
 | 
						virtual QString EnglishName() = 0;
 | 
				
			||||||
 | 
						/// <summary>
 | 
				
			||||||
 | 
						/// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
						/// </summary>
 | 
				
			||||||
 | 
						/// <returns></returns>
 | 
				
			||||||
 | 
						virtual QString ChineseName() = 0;
 | 
				
			||||||
 | 
						virtual QString Information() = 0;
 | 
				
			||||||
 | 
						virtual QString IconPath() = 0;
 | 
				
			||||||
 | 
						virtual QWidget* CenterWidget() = 0;
 | 
				
			||||||
 | 
						//
 | 
				
			||||||
 | 
						//public slots:
 | 
				
			||||||
 | 
						//	virtual void test(QWidget* parent) = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					signals:
 | 
				
			||||||
 | 
						void AddDataToMap(QStringList string_list);
 | 
				
			||||||
 | 
						//void addDataToCanvas(QStringList string_list);
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define MainInterface_iid "com.Srs.MainInterface"
 | 
				
			||||||
 | 
					Q_DECLARE_INTERFACE(SrsMainInterface, MainInterface_iid)
 | 
				
			||||||
							
								
								
									
										97
									
								
								DEM_GeneVec/ThreadObject.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										97
									
								
								DEM_GeneVec/ThreadObject.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,97 @@
 | 
				
			|||||||
 | 
					#include <QProcess>
 | 
				
			||||||
 | 
					#include <QDir>
 | 
				
			||||||
 | 
					#include <QApplication>
 | 
				
			||||||
 | 
					#include <QDebug>
 | 
				
			||||||
 | 
					#include <QTimer>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <windows.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "DEM_GeneVec.h"
 | 
				
			||||||
 | 
					#include "ThreadObject.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					using namespace std;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					WorkThreadObject::WorkThreadObject(QObject* parent) :QObject(parent)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						qRegisterMetaType<std::function<void(double)> >("std::function<void(double)>");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					WorkThreadObject::~WorkThreadObject()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void WorkThreadObject::runTrainWork(QString inModel, QString dom, QString dsm, QString label, QString outModel, bool mid, bool train, QString epoch1, QString epoch2)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						QString str = QString("%1->%2,thread id:%3").arg(__FILE__).arg(__FUNCTION__).arg((int)QThread::currentThreadId());
 | 
				
			||||||
 | 
						qDebug() << str;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						QDir pluginsDir = QDir(qApp->applicationDirPath());
 | 
				
			||||||
 | 
						if (!pluginsDir.cd("models\\envs"))
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							qDebug() << "no folder models\\envs";
 | 
				
			||||||
 | 
							return;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						QString exeDirName = pluginsDir.absoluteFilePath("train_4c_vegetaion.exe");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						QString inDom = " --dom_path "+ dom + "/";
 | 
				
			||||||
 | 
						QString inDsm = " --dsm_path " + dsm + "/";
 | 
				
			||||||
 | 
						QString inLabel = " --label_path " + label + "/";
 | 
				
			||||||
 | 
						QString trainedModel = " --retrained_model " + inModel;
 | 
				
			||||||
 | 
						QString save_model = " --save_model " + outModel + "/";
 | 
				
			||||||
 | 
						QString strMid, strTrain;
 | 
				
			||||||
 | 
						if (mid)
 | 
				
			||||||
 | 
							strMid = " --exe_mid True ";
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
							strMid = " --exe_mid False ";
 | 
				
			||||||
 | 
						if (train)
 | 
				
			||||||
 | 
							strTrain = " --exe_train True";
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
							strTrain = " --exe_train False";
 | 
				
			||||||
 | 
						QString strEpoch1, strEpoch2;
 | 
				
			||||||
 | 
						strEpoch1 = " --epoch1 " + epoch1;
 | 
				
			||||||
 | 
						strEpoch2 = " --epoch2 " + epoch2;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						//QString CUDA = " --CUDA False";
 | 
				
			||||||
 | 
						QString ss = exeDirName + inDom + inDsm + inLabel + trainedModel + save_model+ strMid + strTrain + strEpoch1 + strEpoch2;// + CUDA
 | 
				
			||||||
 | 
						qDebug() << ss;
 | 
				
			||||||
 | 
						QProcess* pProces = new QProcess(this);
 | 
				
			||||||
 | 
						connect(pProces, SIGNAL(readyReadStandardOutput()), this, SLOT(on_read()));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						pProces->start(ss);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void WorkThreadObject::on_read()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						mProces = (QProcess*)sender();
 | 
				
			||||||
 | 
						QString output = QString::fromLocal8Bit(mProces->readAllStandardOutput());
 | 
				
			||||||
 | 
						//qDebug() << "out:" << output;
 | 
				
			||||||
 | 
						if (output.toDouble() > 0)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							qDebug() << "exe out:" << output.toDouble();
 | 
				
			||||||
 | 
							emit process(output.toDouble());
 | 
				
			||||||
 | 
							if (output.toDouble() == 100.0)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								emit addDataToMap();
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
							qDebug() << "Unresolved exe out:" << output;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void WorkThreadObject::on_cancel()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						QString str = QString("--1.%1->%2,thread id:%3").arg(__FILE__).arg(__FUNCTION__).arg((int)QThread::currentThreadId());
 | 
				
			||||||
 | 
						qDebug() << str;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (mProces == nullptr)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							qDebug() << "--mProces null";
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							QString KillStr = "taskkill /f /im train_4c_vegetaion.exe";
 | 
				
			||||||
 | 
							mProces->startDetached(KillStr);
 | 
				
			||||||
 | 
							qDebug() << "--kill Proces";
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										48
									
								
								DEM_GeneVec/ThreadObject.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								DEM_GeneVec/ThreadObject.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,48 @@
 | 
				
			|||||||
 | 
					#ifndef THREADOBJECT_H
 | 
				
			||||||
 | 
					#define THREADOBJECT_H
 | 
				
			||||||
 | 
					#include <functional>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <QMessageBox> 
 | 
				
			||||||
 | 
					#include <QObject>
 | 
				
			||||||
 | 
					#include <QProcess>
 | 
				
			||||||
 | 
					#include <QThread>
 | 
				
			||||||
 | 
					#include <QVector>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <iostream>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//#include "MultiQProcess.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//#include "qtclasslibrary1_global.h"
 | 
				
			||||||
 | 
					#include "SrsMainPluginInterFace.h"
 | 
				
			||||||
 | 
					#include "ui_DEM_GeneVec.h"
 | 
				
			||||||
 | 
					//#include "Extract.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					using namespace std;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class TrainMoudle;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class WorkThreadObject :public QObject
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						Q_OBJECT
 | 
				
			||||||
 | 
					public:
 | 
				
			||||||
 | 
						WorkThreadObject(QObject* parent = NULL);
 | 
				
			||||||
 | 
						~WorkThreadObject();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						void on_cancel();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					signals:
 | 
				
			||||||
 | 
						void process(double value);
 | 
				
			||||||
 | 
						void addDataToMap();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public slots:
 | 
				
			||||||
 | 
						//void RunWork(QString landsat_file, QString gf_file, QString tvdi_file);
 | 
				
			||||||
 | 
						//void RunWork(QString file1, QString file2, QString file_out, std::function<void(int)>progressCallback);
 | 
				
			||||||
 | 
						//void RunWork(QString file1, QString file2, QString file_out);
 | 
				
			||||||
 | 
						void runTrainWork(QString inModel, QString dom, QString dsm, QString label, QString outModel, bool mid, bool train, QString epoch1, QString epoch2);
 | 
				
			||||||
 | 
						void on_read();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					private:
 | 
				
			||||||
 | 
						QProcess* mProces = nullptr;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
							
								
								
									
										16
									
								
								DEM_GeneVec/main.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								DEM_GeneVec/main.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					#include "DEM_GeneVec.h"
 | 
				
			||||||
 | 
					#include <QtWidgets/QApplication>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int main(int argc, char *argv[])
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    QApplication a(argc, argv);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    QString gdal_path = qApp->applicationDirPath().toLocal8Bit() + "/share/gdal";
 | 
				
			||||||
 | 
					    QString pro_lib_path = qApp->applicationDirPath().toLocal8Bit() + "/share/proj";
 | 
				
			||||||
 | 
					    qputenv("GDAL_DATA", gdal_path.toLocal8Bit());
 | 
				
			||||||
 | 
					    qputenv("PROJ_LIB", pro_lib_path.toLocal8Bit());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    TrainMoudle w;
 | 
				
			||||||
 | 
					    w.CenterWidget()->show();
 | 
				
			||||||
 | 
					    return a.exec();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										2
									
								
								DEM_GeneVec/resources/dem_vec.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								DEM_GeneVec/resources/dem_vec.svg
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1650520802998" class="icon" viewBox="0 0 1132 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5053" width="28.7421875" height="26" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css">@font-face { font-family: feedback-iconfont; src: url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944") format("woff2"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944") format("woff"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944") format("truetype"); }
 | 
				
			||||||
 | 
					</style></defs><path d="M1131.403629 583.018705c1.939725-47.361608-39.010016-64.495842-39.010017-64.495842l-226.408963-105.391702s0.538812-182.926804 0-232.120374a73.440128 73.440128 0 0 0-40.949741-66.651092S645.82591 35.80085 592.645128 6.974387c-27.694956-15.086747-56.5753 0-56.5753 0S367.529315 89.035513 315.480039 112.312208c-47.577133 21.229208-46.876677 66.651092-46.876677 66.651092V411.891892S120.160551 482.476314 57.873839 509.524696C-1.71881 535.333809 0.005389 589.592216 0.005389 589.592216s0.538812 185.890272 0 234.275623c-0.538812 52.264801 42.350653 68.806341 42.350654 68.806342s143.862906 80.06752 212.669247 114.713156c50.91777 25.539707 83.946969 0.646575 83.946969 0.646575l226.085675-122.525936s178.777948 92.67573 220.859195 121.879361c48.816402 33.729655 82.007245 5.65753 82.007245 5.65753s199.198938-111.156994 230.288412-126.836435c33.298605-16.703184 33.298605-58.030094 33.298605-58.030094s-2.047487-197.905788-0.107762-245.159633zM299.85448 675.371147l-206.903955-99.895816 206.903955-99.949696 210.783404 98.925953-210.783404 100.919559z m232.282018 148.335049l-199.091175 109.594438v-195.696657l199.091175-94.561573v180.663792z m32.705911-537.357589L340.911983 181.010787l223.930426-108.840101 232.766949 108.840101-232.766949 105.391702z m35.66938 64.38808l197.043688-94.561573v159.057415L600.511789 512.110995V350.790568z m235.137723 324.63446l-205.82633-99.895816 197.151451-99.949696 214.662853 99.949696-205.987974 99.895816z m227.378825 154.800797l-195.211725 103.12869v-195.696657l195.211725-94.561573v187.12954z" p-id="5054" fill="#2c2c2c"></path></svg>
 | 
				
			||||||
| 
		 After Width: | Height: | Size: 2.2 KiB  | 
							
								
								
									
										23
									
								
								DEM_Train.sln
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								DEM_Train.sln
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					Microsoft Visual Studio Solution File, Format Version 12.00
 | 
				
			||||||
 | 
					# Visual Studio Version 16
 | 
				
			||||||
 | 
					VisualStudioVersion = 16.0.31911.196
 | 
				
			||||||
 | 
					MinimumVisualStudioVersion = 10.0.40219.1
 | 
				
			||||||
 | 
					Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DEM_GeneVec", "DEM_GeneVec\DEM_GeneVec.vcxproj", "{858826AD-BC7C-4B9D-8E48-626392904948}"
 | 
				
			||||||
 | 
					EndProject
 | 
				
			||||||
 | 
					Global
 | 
				
			||||||
 | 
						GlobalSection(SolutionConfigurationPlatforms) = preSolution
 | 
				
			||||||
 | 
							Release|x64 = Release|x64
 | 
				
			||||||
 | 
						EndGlobalSection
 | 
				
			||||||
 | 
						GlobalSection(ProjectConfigurationPlatforms) = postSolution
 | 
				
			||||||
 | 
							{858826AD-BC7C-4B9D-8E48-626392904948}.Release|x64.ActiveCfg = Release|x64
 | 
				
			||||||
 | 
							{858826AD-BC7C-4B9D-8E48-626392904948}.Release|x64.Build.0 = Release|x64
 | 
				
			||||||
 | 
						EndGlobalSection
 | 
				
			||||||
 | 
						GlobalSection(SolutionProperties) = preSolution
 | 
				
			||||||
 | 
							HideSolutionNode = FALSE
 | 
				
			||||||
 | 
						EndGlobalSection
 | 
				
			||||||
 | 
						GlobalSection(ExtensibilityGlobals) = postSolution
 | 
				
			||||||
 | 
							Qt5Version = qt5.14.2
 | 
				
			||||||
 | 
							SolutionGuid = {B8F00221-FFCF-43EE-B1EC-68EEC3E5BC58}
 | 
				
			||||||
 | 
						EndGlobalSection
 | 
				
			||||||
 | 
					EndGlobal
 | 
				
			||||||
		Reference in New Issue
	
	Block a user