@@ -61,26 +61,31 @@ const getFilterPolygon = (query: IFeatureQuery) => {
6161 * @param mapping.geoField geo field to extract geojson
6262 * @param mapping.latitudeField latitude field ( not used if geoField )
6363 * @param mapping.longitudeField longitude field ( not used if geoField )
64+ * @param geoFilter geo filter ( polygon )
6465 */
6566const getFeatureFromItem = (
6667 features : any [ ] ,
6768 item : any ,
68- geoFilter : turf . Polygon ,
6969 mapping : {
7070 geoField ?: string ;
7171 latitudeField ?: string ;
7272 longitudeField ?: string ;
73- }
73+ } ,
74+ geoFilter ?: turf . Polygon
7475) => {
7576 if ( mapping . geoField ) {
7677 const geo = get ( item , mapping . geoField ) ;
7778 if ( geo ) {
78- if ( booleanPointInPolygon ( geo . geometry . coordinates , geoFilter ) ) {
79+ if (
80+ ! geoFilter ||
81+ booleanPointInPolygon ( geo . geometry . coordinates , geoFilter )
82+ ) {
7983 const feature = {
8084 ...geo ,
8185 properties : { ...item } ,
8286 } ;
8387 features . push ( feature ) ;
88+ } else {
8489 }
8590 }
8691 } else {
@@ -94,7 +99,10 @@ const getFeatureFromItem = (
9499 coordinates : [ latitude , longitude ] ,
95100 } ,
96101 } ;
97- if ( booleanPointInPolygon ( geo . geometry . coordinates , geoFilter ) ) {
102+ if (
103+ ! geoFilter ||
104+ booleanPointInPolygon ( geo . geometry . coordinates , geoFilter )
105+ ) {
98106 const feature = {
99107 ...geo ,
100108 properties : { ...item } ,
@@ -218,19 +226,13 @@ router.get('/feature', async (req, res) => {
218226 if ( Object . prototype . hasOwnProperty . call ( data . data , field ) ) {
219227 if ( data . data [ field ] . items && data . data [ field ] . items . length > 0 ) {
220228 data . data [ field ] . items . map ( async function ( result ) {
221- getFeatureFromItem (
222- featureCollection . features ,
223- result ,
224- filterPolygon ,
225- mapping
226- ) ;
229+ getFeatureFromItem ( featureCollection . features , result , mapping ) ;
227230 } ) ;
228231 } else {
229232 data . data [ field ] . edges . map ( async function ( result ) {
230233 getFeatureFromItem (
231234 featureCollection . features ,
232235 result . node ,
233- filterPolygon ,
234236 mapping
235237 ) ;
236238 } ) ;
0 commit comments