forked from MapComplete/MapComplete
		
	Add plantnet as API
This commit is contained in:
		
							parent
							
								
									1ec2678e49
								
							
						
					
					
						commit
						34799f161d
					
				
					 1 changed files with 346 additions and 0 deletions
				
			
		
							
								
								
									
										346
									
								
								Logic/Web/PlantNet.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										346
									
								
								Logic/Web/PlantNet.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,346 @@ | |||
| import {Utils} from "../../Utils"; | ||||
| 
 | ||||
| export default class PlantNet { | ||||
|     private static baseUrl = "https://my-api.plantnet.org/v2/identify/all?api-key=2b10AAsjzwzJvucA5Ncm5qxe" | ||||
| 
 | ||||
|     public static query(imageUrls: string[]) : Promise<PlantNetResult>{ | ||||
|         if (imageUrls.length > 5) { | ||||
|             throw "At most 5 images can be given to PlantNet.query" | ||||
|         } | ||||
|         if (imageUrls.length == 0) { | ||||
|             throw "At least one image should be given to PlantNet.query" | ||||
|         } | ||||
|         let url = PlantNet. baseUrl; | ||||
|         for (const image of imageUrls) { | ||||
|             url += "&images="+encodeURIComponent(image) | ||||
|         } | ||||
|         return Utils.downloadJson(url) | ||||
|     } | ||||
| 
 | ||||
|     public static exampleResult: PlantNetResult = { | ||||
|         "query": { | ||||
|             "project": "all", | ||||
|             "images": ["https://my.plantnet.org/images/image_1.jpeg", "https://my.plantnet.org/images/image_2.jpeg"], | ||||
|             "organs": ["flower", "leaf"], | ||||
|             "includeRelatedImages": false | ||||
|         }, | ||||
|         "language": "en", | ||||
|         "preferedReferential": "the-plant-list", | ||||
|         "bestMatch": "Hibiscus rosa-sinensis L.", | ||||
|         "results": [{ | ||||
|             "score": 0.91806, | ||||
|             "species": { | ||||
|                 "scientificNameWithoutAuthor": "Hibiscus rosa-sinensis", | ||||
|                 "scientificNameAuthorship": "L.", | ||||
|                 "genus": { | ||||
|                     "scientificNameWithoutAuthor": "Hibiscus", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Hibiscus" | ||||
|                 }, | ||||
|                 "family": { | ||||
|                     "scientificNameWithoutAuthor": "Malvaceae", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Malvaceae" | ||||
|                 }, | ||||
|                 "commonNames": ["Hawaiian hibiscus", "Hibiscus", "Chinese hibiscus"], | ||||
|                 "scientificName": "Hibiscus rosa-sinensis L." | ||||
|             }, | ||||
|             "gbif": {"id": "3152559"} | ||||
|         }, { | ||||
|             "score": 0.00759, | ||||
|             "species": { | ||||
|                 "scientificNameWithoutAuthor": "Hibiscus moscheutos", | ||||
|                 "scientificNameAuthorship": "L.", | ||||
|                 "genus": { | ||||
|                     "scientificNameWithoutAuthor": "Hibiscus", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Hibiscus" | ||||
|                 }, | ||||
|                 "family": { | ||||
|                     "scientificNameWithoutAuthor": "Malvaceae", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Malvaceae" | ||||
|                 }, | ||||
|                 "commonNames": ["Crimsoneyed rosemallow", "Mallow-rose", "Swamp rose-mallow"], | ||||
|                 "scientificName": "Hibiscus moscheutos L." | ||||
|             }, | ||||
|             "gbif": {"id": "3152596"} | ||||
|         }, { | ||||
|             "score": 0.00676, | ||||
|             "species": { | ||||
|                 "scientificNameWithoutAuthor": "Hibiscus schizopetalus", | ||||
|                 "scientificNameAuthorship": "(Dyer) Hook.f.", | ||||
|                 "genus": { | ||||
|                     "scientificNameWithoutAuthor": "Hibiscus", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Hibiscus" | ||||
|                 }, | ||||
|                 "family": { | ||||
|                     "scientificNameWithoutAuthor": "Malvaceae", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Malvaceae" | ||||
|                 }, | ||||
|                 "commonNames": ["Campanilla", "Chinese lantern", "Fringed rosemallow"], | ||||
|                 "scientificName": "Hibiscus schizopetalus (Dyer) Hook.f." | ||||
|             }, | ||||
|             "gbif": {"id": "9064581"} | ||||
|         }, { | ||||
|             "score": 0.00544, | ||||
|             "species": { | ||||
|                 "scientificNameWithoutAuthor": "Hibiscus palustris", | ||||
|                 "scientificNameAuthorship": "L.", | ||||
|                 "genus": { | ||||
|                     "scientificNameWithoutAuthor": "Hibiscus", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Hibiscus" | ||||
|                 }, | ||||
|                 "family": { | ||||
|                     "scientificNameWithoutAuthor": "Malvaceae", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Malvaceae" | ||||
|                 }, | ||||
|                 "commonNames": ["Swamp Rose Mallow", "Hardy Hidiscus", "Twisted Hibiscus"], | ||||
|                 "scientificName": "Hibiscus palustris L." | ||||
|             }, | ||||
|             "gbif": {"id": "6377046"} | ||||
|         }, { | ||||
|             "score": 0.0047, | ||||
|             "species": { | ||||
|                 "scientificNameWithoutAuthor": "Hibiscus sabdariffa", | ||||
|                 "scientificNameAuthorship": "L.", | ||||
|                 "genus": { | ||||
|                     "scientificNameWithoutAuthor": "Hibiscus", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Hibiscus" | ||||
|                 }, | ||||
|                 "family": { | ||||
|                     "scientificNameWithoutAuthor": "Malvaceae", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Malvaceae" | ||||
|                 }, | ||||
|                 "commonNames": ["Indian-sorrel", "Roselle", "Jamaica-sorrel"], | ||||
|                 "scientificName": "Hibiscus sabdariffa L." | ||||
|             }, | ||||
|             "gbif": {"id": "3152582"} | ||||
|         }, { | ||||
|             "score": 0.0037, | ||||
|             "species": { | ||||
|                 "scientificNameWithoutAuthor": "Abelmoschus moschatus", | ||||
|                 "scientificNameAuthorship": "Medik.", | ||||
|                 "genus": { | ||||
|                     "scientificNameWithoutAuthor": "Abelmoschus", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Abelmoschus" | ||||
|                 }, | ||||
|                 "family": { | ||||
|                     "scientificNameWithoutAuthor": "Malvaceae", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Malvaceae" | ||||
|                 }, | ||||
|                 "commonNames": ["Musk okra", "Musk-mallow", "Tropical jewel-hibiscus"], | ||||
|                 "scientificName": "Abelmoschus moschatus Medik." | ||||
|             }, | ||||
|             "gbif": {"id": "8312665"} | ||||
|         }, { | ||||
|             "score": 0.00278, | ||||
|             "species": { | ||||
|                 "scientificNameWithoutAuthor": "Hibiscus grandiflorus", | ||||
|                 "scientificNameAuthorship": "Michx.", | ||||
|                 "genus": { | ||||
|                     "scientificNameWithoutAuthor": "Hibiscus", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Hibiscus" | ||||
|                 }, | ||||
|                 "family": { | ||||
|                     "scientificNameWithoutAuthor": "Malvaceae", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Malvaceae" | ||||
|                 }, | ||||
|                 "commonNames": ["Swamp rosemallow", "Swamp Rose-Mallow"], | ||||
|                 "scientificName": "Hibiscus grandiflorus Michx." | ||||
|             }, | ||||
|             "gbif": {"id": "3152592"} | ||||
|         }, { | ||||
|             "score": 0.00265, | ||||
|             "species": { | ||||
|                 "scientificNameWithoutAuthor": "Hibiscus acetosella", | ||||
|                 "scientificNameAuthorship": "Welw. ex Hiern", | ||||
|                 "genus": { | ||||
|                     "scientificNameWithoutAuthor": "Hibiscus", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Hibiscus" | ||||
|                 }, | ||||
|                 "family": { | ||||
|                     "scientificNameWithoutAuthor": "Malvaceae", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Malvaceae" | ||||
|                 }, | ||||
|                 "commonNames": ["False roselle", "Red-leaf hibiscus", "African rosemallow"], | ||||
|                 "scientificName": "Hibiscus acetosella Welw. ex Hiern" | ||||
|             }, | ||||
|             "gbif": {"id": "3152551"} | ||||
|         }, { | ||||
|             "score": 0.00253, | ||||
|             "species": { | ||||
|                 "scientificNameWithoutAuthor": "Bixa orellana", | ||||
|                 "scientificNameAuthorship": "L.", | ||||
|                 "genus": { | ||||
|                     "scientificNameWithoutAuthor": "Bixa", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Bixa" | ||||
|                 }, | ||||
|                 "family": { | ||||
|                     "scientificNameWithoutAuthor": "Bixaceae", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Bixaceae" | ||||
|                 }, | ||||
|                 "commonNames": ["Arnatto", "Lipsticktree", "Annatto"], | ||||
|                 "scientificName": "Bixa orellana L." | ||||
|             }, | ||||
|             "gbif": {"id": "2874863"} | ||||
|         }, { | ||||
|             "score": 0.00179, | ||||
|             "species": { | ||||
|                 "scientificNameWithoutAuthor": "Malvaviscus penduliflorus", | ||||
|                 "scientificNameAuthorship": "Moc. & Sessé ex DC.", | ||||
|                 "genus": { | ||||
|                     "scientificNameWithoutAuthor": "Malvaviscus", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Malvaviscus" | ||||
|                 }, | ||||
|                 "family": { | ||||
|                     "scientificNameWithoutAuthor": "Malvaceae", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Malvaceae" | ||||
|                 }, | ||||
|                 "commonNames": ["Mazapan"], | ||||
|                 "scientificName": "Malvaviscus penduliflorus Moc. & Sessé ex DC." | ||||
|             }, | ||||
|             "gbif": {"id": "3152776"} | ||||
|         }, { | ||||
|             "score": 0.00145, | ||||
|             "species": { | ||||
|                 "scientificNameWithoutAuthor": "Hibiscus diversifolius", | ||||
|                 "scientificNameAuthorship": "Jacq.", | ||||
|                 "genus": { | ||||
|                     "scientificNameWithoutAuthor": "Hibiscus", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Hibiscus" | ||||
|                 }, | ||||
|                 "family": { | ||||
|                     "scientificNameWithoutAuthor": "Malvaceae", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Malvaceae" | ||||
|                 }, | ||||
|                 "commonNames": ["Cape hibiscus", "Swamp hibiscus", "Comfortroot"], | ||||
|                 "scientificName": "Hibiscus diversifolius Jacq." | ||||
|             }, | ||||
|             "gbif": {"id": "7279239"} | ||||
|         }, { | ||||
|             "score": 0.00141, | ||||
|             "species": { | ||||
|                 "scientificNameWithoutAuthor": "Hippeastrum reginae", | ||||
|                 "scientificNameAuthorship": "(L.) Herb.", | ||||
|                 "genus": { | ||||
|                     "scientificNameWithoutAuthor": "Hippeastrum", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Hippeastrum" | ||||
|                 }, | ||||
|                 "family": { | ||||
|                     "scientificNameWithoutAuthor": "Amaryllidaceae", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Amaryllidaceae" | ||||
|                 }, | ||||
|                 "commonNames": ["Amaryllis", "Cheryl's Treasure", "Easter lily"], | ||||
|                 "scientificName": "Hippeastrum reginae (L.) Herb." | ||||
|             }, | ||||
|             "gbif": {"id": "2854474"} | ||||
|         }, { | ||||
|             "score": 0.00114, | ||||
|             "species": { | ||||
|                 "scientificNameWithoutAuthor": "Hibiscus martianus", | ||||
|                 "scientificNameAuthorship": "Zucc.", | ||||
|                 "genus": { | ||||
|                     "scientificNameWithoutAuthor": "Hibiscus", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Hibiscus" | ||||
|                 }, | ||||
|                 "family": { | ||||
|                     "scientificNameWithoutAuthor": "Malvaceae", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Malvaceae" | ||||
|                 }, | ||||
|                 "commonNames": ["Heartleaf rosemallow", "Mountain rosemallow", "Heartleaf rose-mallow"], | ||||
|                 "scientificName": "Hibiscus martianus Zucc." | ||||
|             }, | ||||
|             "gbif": {"id": "3152578"} | ||||
|         }, { | ||||
|             "score": 0.00109, | ||||
|             "species": { | ||||
|                 "scientificNameWithoutAuthor": "Acalypha hispida", | ||||
|                 "scientificNameAuthorship": "Burm.f.", | ||||
|                 "genus": { | ||||
|                     "scientificNameWithoutAuthor": "Acalypha", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Acalypha" | ||||
|                 }, | ||||
|                 "family": { | ||||
|                     "scientificNameWithoutAuthor": "Euphorbiaceae", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Euphorbiaceae" | ||||
|                 }, | ||||
|                 "commonNames": ["Philippine-medusa", "Bristly copperleaf", "Chenilleplant"], | ||||
|                 "scientificName": "Acalypha hispida Burm.f." | ||||
|             }, | ||||
|             "gbif": {"id": "3056375"} | ||||
|         }, { | ||||
|             "score": 0.00071, | ||||
|             "species": { | ||||
|                 "scientificNameWithoutAuthor": "Hibiscus arnottianus", | ||||
|                 "scientificNameAuthorship": "A. Gray", | ||||
|                 "genus": { | ||||
|                     "scientificNameWithoutAuthor": "Hibiscus", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Hibiscus" | ||||
|                 }, | ||||
|                 "family": { | ||||
|                     "scientificNameWithoutAuthor": "Malvaceae", | ||||
|                     "scientificNameAuthorship": "", | ||||
|                     "scientificName": "Malvaceae" | ||||
|                 }, | ||||
|                 "commonNames": ["White rosemallow", "Native Hawaiian White Hibiscus", "Native White Rose-Mallow"], | ||||
|                 "scientificName": "Hibiscus arnottianus A. Gray" | ||||
|             }, | ||||
|             "gbif": {"id": "3152543"} | ||||
|         }], | ||||
|         "version": "2022-06-14 (6.0)", | ||||
|         "remainingIdentificationRequests": 499 | ||||
|     } | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| export interface PlantNetResult { | ||||
|     "query": { | ||||
|         "project": string, "images": string[], | ||||
|         "organs": string[], | ||||
|         "includeRelatedImages": boolean | ||||
|     }, | ||||
|     "language": string, | ||||
|     "preferedReferential": string, | ||||
|     "bestMatch": string, | ||||
|     "results": { | ||||
|         "score": number, | ||||
|         "gbif": { "id": string /*Actually a number*/ } | ||||
|         "species": | ||||
|             { | ||||
|                 "scientificNameWithoutAuthor": string, | ||||
|                 "scientificNameAuthorship": string, | ||||
|                 "genus": { "scientificNameWithoutAuthor": string, scientificNameAuthorship: string, "scientificName": string }, | ||||
|                 "family": { "scientificNameWithoutAuthor": string, scientificNameAuthorship: string, "scientificName": string }, | ||||
|                 "commonNames": string [], | ||||
|                 "scientificName": string | ||||
|             }, | ||||
|     }[], | ||||
|     "version": string, | ||||
|     "remainingIdentificationRequests": number | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue