We propose a two-stage niching algorithm that separates local optima areas in the first stage and finds the optimum point of each area using any optimization technique in the second stage. The proposed first stage has complementary characteristics to the shortcoming of Nearest-better Clustering (NBC). We introduce a weighted gradient and distance-based clustering method (WGraD) and two methods for determining its weights to find out niches and overcome NBC. The WGraD creates spanning trees by connecting each search point to other suitable one decided by weighted gradient information and weighted distance information among search points. Since weights influence its clustering result, we propose two weight determination methods 1 and 2. The weight determination method 1 firstly forms one spanning tree and then uses a dynamic pruning method and the Hill-Valley test to cut long edges and repair them. The weight determination method 2 assigns different weights to different search points based on distance information. We combine these methods into WGrad, i.e. WGraD1 and WGraD2, and compare the characteristics of NBC, WGraD1, and WGraD2 using differential evolution (DE) as a baseline search algorithm for obtaining the optimum of each niche after clustering local areas. We design a controlled experiment and run (NBC + DE), (WGraD1 + DE) and (WGraD2 + DE) on 8 benchmark functions from CEC 2015 test suite for single objective multiniche optimization. The experimental results confirmed that the proposed strategy can overcome the shortcoming of NBC and be a complementary niche method of NBC.