diff --git a/app-modules/api/CLAUDE.md b/app-modules/api/CLAUDE.md index ab6b63ef..a6bd274c 100644 --- a/app-modules/api/CLAUDE.md +++ b/app-modules/api/CLAUDE.md @@ -5,6 +5,8 @@ Versioned public REST API exposing HackGreenville events and organizations as JS ## Routes - `GET /api/v0/events`, `GET /api/v0/orgs` — legacy flat format (Drupal-era compatibility) - `GET /api/v1/events`, `GET /api/v1/organizations` — modern paginated format +- `GET /api/v1/map-layers` — community-curated map layer index (paginated, filterable by title) +- `GET /api/v1/map-layers/{slug}/geojson` — raw GeoJSON FeatureCollection for a map layer - Docs: `/docs/api` (auto-generated by Scribe) ## Testing diff --git a/app-modules/api/routes/api-routes.php b/app-modules/api/routes/api-routes.php index 0a61593b..b1c19d4d 100644 --- a/app-modules/api/routes/api-routes.php +++ b/app-modules/api/routes/api-routes.php @@ -2,6 +2,8 @@ use HackGreenville\Api\Http\Controllers\EventApiV0Controller; use HackGreenville\Api\Http\Controllers\EventApiV1Controller; +use HackGreenville\Api\Http\Controllers\MapLayerGeoJsonController; +use HackGreenville\Api\Http\Controllers\MapLayersApiV1Controller; use HackGreenville\Api\Http\Controllers\OrgsApiV0Controller; use HackGreenville\Api\Http\Controllers\OrgsApiV1Controller; @@ -13,4 +15,6 @@ Route::get('v1/events', EventApiV1Controller::class)->name('api.v1.events.index'); Route::get('v1/organizations', OrgsApiV1Controller::class)->name('api.v1.organizations.index'); + Route::get('v1/map-layers', MapLayersApiV1Controller::class)->name('api.v1.map-layers.index'); + Route::get('v1/map-layers/{mapLayer:slug}/geojson', MapLayerGeoJsonController::class)->name('api.v1.map-layers.geojson'); }); diff --git a/app-modules/api/src/Http/Controllers/EventApiV1Controller.php b/app-modules/api/src/Http/Controllers/EventApiV1Controller.php index 3cc0eebc..e05151f4 100644 --- a/app-modules/api/src/Http/Controllers/EventApiV1Controller.php +++ b/app-modules/api/src/Http/Controllers/EventApiV1Controller.php @@ -33,10 +33,12 @@ public function __invoke(EventApiV1Request $request) }); }) ->when($request->filled('name'), function (Builder $query) use ($request) { - $query->where('event_name', 'like', '%' . $request->input('name') . '%'); + $name = str_replace(['!', '%', '_'], ['!!', '!%', '!_'], $request->input('name')); + $query->whereRaw("event_name LIKE ? ESCAPE '!'", ['%' . $name . '%']); }) ->when($request->filled('org_name'), function (Builder $query) use ($request) { - $query->where('group_name', 'like', '%' . $request->input('org_name') . '%'); + $orgName = str_replace(['!', '%', '_'], ['!!', '!%', '!_'], $request->input('org_name')); + $query->whereRaw("group_name LIKE ? ESCAPE '!'", ['%' . $orgName . '%']); }) ->when($request->filled('service'), function (Builder $query) use ($request) { $query->where('service', $request->input('service')); @@ -49,7 +51,8 @@ public function __invoke(EventApiV1Request $request) }) ->when($request->filled('venue_city'), function (Builder $query) use ($request) { $query->whereHas('venue', function (Builder $query) use ($request) { - $query->where('city', 'like', '%' . $request->input('venue_city') . '%'); + $city = str_replace(['!', '%', '_'], ['!!', '!%', '!_'], $request->input('venue_city')); + $query->whereRaw("city LIKE ? ESCAPE '!'", ['%' . $city . '%']); }); }) ->when($request->filled('venue_state'), function (Builder $query) use ($request) { diff --git a/app-modules/api/src/Http/Controllers/MapLayerGeoJsonController.php b/app-modules/api/src/Http/Controllers/MapLayerGeoJsonController.php new file mode 100644 index 00000000..8ad54880 --- /dev/null +++ b/app-modules/api/src/Http/Controllers/MapLayerGeoJsonController.php @@ -0,0 +1,35 @@ +slug) . ".geojson"; + + if ( ! Storage::disk('local')->exists($path)) { + abort(Response::HTTP_NOT_FOUND, 'GeoJSON data not found for this map layer.'); + } + + return response(Storage::disk('local')->get($path)) + ->header('Content-Type', 'application/geo+json'); + } +} diff --git a/app-modules/api/src/Http/Controllers/MapLayersApiV1Controller.php b/app-modules/api/src/Http/Controllers/MapLayersApiV1Controller.php new file mode 100644 index 00000000..24d9c316 --- /dev/null +++ b/app-modules/api/src/Http/Controllers/MapLayersApiV1Controller.php @@ -0,0 +1,43 @@ +when($request->filled('title'), function (Builder $query) use ($request) { + $title = str_replace(['!', '%', '_'], ['!!', '!%', '!_'], $request->input('title')); + $query->whereRaw("title LIKE ? ESCAPE '!'", ['%' . $title . '%']); + }) + ->when($request->filled('sort_by'), function (Builder $query) use ($request) { + $sortDirection = $request->input('sort_direction') === 'desc' ? 'desc' : 'asc'; + $query->orderBy($request->input('sort_by'), $sortDirection); + }, function (Builder $query) { + $query->orderBy('title', 'asc'); + }); + + $perPage = $request->input('per_page', 15); + $mapLayers = $query->paginate($perPage); + + return new MapLayerCollection($mapLayers); + } +} diff --git a/app-modules/api/src/Http/Requests/MapLayersApiV1Request.php b/app-modules/api/src/Http/Requests/MapLayersApiV1Request.php new file mode 100644 index 00000000..080fad5a --- /dev/null +++ b/app-modules/api/src/Http/Requests/MapLayersApiV1Request.php @@ -0,0 +1,57 @@ + ['nullable', 'integer', 'min:1', 'max:100'], + 'page' => ['nullable', 'integer', 'min:1'], + 'title' => ['nullable', 'string', 'max:255'], + 'sort_by' => [ + 'nullable', + 'string', + Rule::in(['title', 'updated_at', 'created_at']), + ], + 'sort_direction' => ['nullable', 'string', Rule::in(['asc', 'desc'])], + ]; + } + + public function messages() + { + return [ + 'per_page.min' => 'The per page value must be at least 1.', + 'per_page.max' => 'The per page value cannot exceed 100.', + 'page.min' => 'The page value must be at least 1.', + 'sort_by.in' => 'The sort by field must be one of: title, updated_at, created_at.', + 'sort_direction.in' => 'The sort direction must be either asc or desc.', + ]; + } + + public function queryParameters() + { + return [ + 'per_page' => [ + 'example' => 50, + 'description' => 'The number of items to show per page', + ], + 'page' => [ + 'example' => 1, + 'description' => 'The current page of items to display', + ], + 'title' => ['example' => null, 'description' => 'Filter map layers by title'], + 'sort_by' => ['example' => 'title'], + 'sort_direction' => ['example' => 'asc'], + ]; + } +} diff --git a/app-modules/api/src/Resources/ApiResource.php b/app-modules/api/src/Resources/ApiResource.php index f9ad7d1d..3e08708a 100644 --- a/app-modules/api/src/Resources/ApiResource.php +++ b/app-modules/api/src/Resources/ApiResource.php @@ -24,7 +24,7 @@ protected function getId($resource) return $resource->id; } - private function isRunningScribe() + protected function isRunningScribe() { $args = []; diff --git a/app-modules/api/src/Resources/MapLayers/V1/MapLayerCollection.php b/app-modules/api/src/Resources/MapLayers/V1/MapLayerCollection.php new file mode 100644 index 00000000..cafe648a --- /dev/null +++ b/app-modules/api/src/Resources/MapLayers/V1/MapLayerCollection.php @@ -0,0 +1,10 @@ + $this->getId($this->resource), + 'title' => $this->resource->title, + 'slug' => $this->resource->slug, + 'description' => $this->resource->description, + 'center_latitude' => (float) $this->resource->center_latitude, + 'center_longitude' => (float) $this->resource->center_longitude, + 'zoom_level' => $this->resource->zoom_level, + 'geojson_link' => $this->resource->geojson_link, + 'geojson_url' => $this->getGeoJsonUrl(), + 'contribute_link' => $this->resource->contribute_link, + 'raw_data_link' => $this->resource->raw_data_link, + 'maintainers' => $this->resource->maintainers ?? [], + 'created_at' => $this->resource->created_at->toISOString(), + 'updated_at' => $this->resource->updated_at->toISOString(), + ]; + } + + public function with(Request $request): array + { + return [ + 'meta' => [ + 'version' => '1.0', + 'timestamp' => $this->getTime(), + ], + ]; + } + + private function getGeoJsonUrl(): ?string + { + if ( ! $this->resource->slug) { + return null; + } + + if ($this->isRunningScribe()) { + return config('app.url') . "/api/v1/map-layers/{$this->resource->slug}/geojson"; + } + + return route('api.v1.map-layers.geojson', ['mapLayer' => $this->resource->slug]); + } +} diff --git a/app-modules/api/tests/Feature/MapLayerApiV1Test.php b/app-modules/api/tests/Feature/MapLayerApiV1Test.php new file mode 100644 index 00000000..7ff9b316 --- /dev/null +++ b/app-modules/api/tests/Feature/MapLayerApiV1Test.php @@ -0,0 +1,192 @@ +create(); + + $response = $this->getJson('/api/v1/map-layers'); + + $response->assertStatus(200); + $response->assertJsonStructure([ + 'data' => [ + '*' => [ + 'id', + 'title', + 'slug', + 'description', + 'center_latitude', + 'center_longitude', + 'zoom_level', + 'geojson_link', + 'geojson_url', + 'contribute_link', + 'raw_data_link', + 'maintainers', + 'created_at', + 'updated_at', + ], + ], + 'links', + 'meta', + ]); + + $response->assertJsonPath('data.0.title', $layer->title); + $response->assertJsonPath('data.0.slug', $layer->slug); + } + + public function test_can_paginate_map_layers(): void + { + MapLayer::factory()->count(20)->create(); + + $response = $this->getJson('/api/v1/map-layers?per_page=10'); + + $response->assertStatus(200); + $response->assertJsonCount(10, 'data'); + $response->assertJsonPath('meta.per_page', 10); + $response->assertJsonPath('meta.current_page', 1); + $response->assertJsonPath('meta.last_page', 2); + } + + public function test_can_filter_map_layers_by_title(): void + { + MapLayer::factory()->create(['title' => 'Breweries']); + MapLayer::factory()->create(['title' => 'Dog Parks']); + MapLayer::factory()->create(['title' => 'Craft Breweries']); + + $response = $this->getJson('/api/v1/map-layers?title=Breweries'); + + $response->assertStatus(200); + $response->assertJsonCount(2, 'data'); + } + + public function test_can_sort_map_layers(): void + { + MapLayer::factory()->create(['title' => 'Waterfalls']); + MapLayer::factory()->create(['title' => 'Art Galleries']); + + $response = $this->getJson('/api/v1/map-layers?sort_by=title&sort_direction=asc'); + + $response->assertStatus(200); + $response->assertJsonPath('data.0.title', 'Art Galleries'); + + $response = $this->getJson('/api/v1/map-layers?sort_by=title&sort_direction=desc'); + + $response->assertStatus(200); + $response->assertJsonPath('data.0.title', 'Waterfalls'); + } + + public function test_default_sort_is_title_asc(): void + { + MapLayer::factory()->create(['title' => 'Waterfalls']); + MapLayer::factory()->create(['title' => 'Art Galleries']); + MapLayer::factory()->create(['title' => 'Libraries']); + + $response = $this->getJson('/api/v1/map-layers'); + + $response->assertStatus(200); + $response->assertJsonPath('data.0.title', 'Art Galleries'); + $response->assertJsonPath('data.1.title', 'Libraries'); + $response->assertJsonPath('data.2.title', 'Waterfalls'); + } + + public function test_rejects_invalid_sort_by_field(): void + { + $response = $this->getJson('/api/v1/map-layers?sort_by=description'); + + $response->assertStatus(422); + $response->assertJsonValidationErrors('sort_by'); + } + + public function test_excludes_soft_deleted_map_layers(): void + { + MapLayer::factory()->create(['title' => 'Active Layer']); + MapLayer::factory()->create(['title' => 'Deleted Layer', 'deleted_at' => now()]); + + $response = $this->getJson('/api/v1/map-layers'); + + $response->assertStatus(200); + $response->assertJsonCount(1, 'data'); + $response->assertJsonPath('data.0.title', 'Active Layer'); + } + + public function test_empty_list_returns_valid_structure(): void + { + $response = $this->getJson('/api/v1/map-layers'); + + $response->assertStatus(200); + $response->assertJsonCount(0, 'data'); + $response->assertJsonStructure(['data', 'links', 'meta']); + } + + public function test_geojson_url_is_present_in_response(): void + { + $layer = MapLayer::factory()->create(['slug' => 'breweries']); + + $response = $this->getJson('/api/v1/map-layers'); + + $response->assertStatus(200); + $response->assertJsonPath('data.0.geojson_url', fn ($url) => str_contains($url, '/api/v1/map-layers/breweries/geojson')); + } + + public function test_geojson_endpoint_returns_geojson(): void + { + $layer = MapLayer::factory()->create(['slug' => 'breweries']); + + $geojson = json_encode([ + 'type' => 'FeatureCollection', + 'features' => [ + [ + 'type' => 'Feature', + 'geometry' => ['type' => 'Point', 'coordinates' => [-82.398500, 34.850700]], + 'properties' => ['title' => 'Test Brewery'], + ], + ], + ]); + + Storage::fake('local'); + Storage::disk('local')->put('geojson/breweries.geojson', $geojson); + + $response = $this->get('/api/v1/map-layers/breweries/geojson'); + + $response->assertStatus(200); + $response->assertHeader('Content-Type', 'application/geo+json'); + $response->assertJson([ + 'type' => 'FeatureCollection', + 'features' => [ + [ + 'type' => 'Feature', + 'properties' => ['title' => 'Test Brewery'], + ], + ], + ]); + } + + public function test_geojson_endpoint_returns_404_when_file_missing(): void + { + Storage::fake('local'); + + $layer = MapLayer::factory()->create(['slug' => 'nonexistent']); + + $response = $this->getJson('/api/v1/map-layers/nonexistent/geojson'); + + $response->assertStatus(404); + } + + public function test_geojson_endpoint_returns_404_for_unknown_slug(): void + { + $response = $this->getJson('/api/v1/map-layers/does-not-exist/geojson'); + + $response->assertStatus(404); + } +} diff --git a/app/Console/Commands/SyncMapLayersCommand.php b/app/Console/Commands/SyncMapLayersCommand.php new file mode 100644 index 00000000..87bcdc56 --- /dev/null +++ b/app/Console/Commands/SyncMapLayersCommand.php @@ -0,0 +1,68 @@ +option('slug')) { + return $this->syncOne($service, $slug); + } + + return $this->syncAll($service); + } + + private function syncOne(MapLayerSyncService $service, string $slug): int + { + $layer = MapLayer::where('slug', $slug)->first(); + + if ( ! $layer) { + $this->error("Map layer '{$slug}' not found."); + + return self::FAILURE; + } + + $this->info("Syncing {$layer->title}..."); + $result = $service->sync($layer); + + if ($result['success']) { + $this->info(" ✓ {$result['message']}"); + + return self::SUCCESS; + } + + $this->error(" ✗ {$result['message']}"); + + return self::FAILURE; + } + + private function syncAll(MapLayerSyncService $service): int + { + $results = $service->syncAll(); + $failed = 0; + + foreach ($results as $slug => $result) { + if ($result['success']) { + $this->info(" ✓ {$slug}: {$result['message']}"); + } else { + $this->error(" ✗ {$slug}: {$result['message']}"); + $failed++; + } + } + + $total = count($results); + $this->newLine(); + $this->info("Done. " . ($total - $failed) . "/{$total} synced successfully."); + + return $failed > 0 ? self::FAILURE : self::SUCCESS; + } +} diff --git a/app/Filament/Resources/MapLayerResource.php b/app/Filament/Resources/MapLayerResource.php new file mode 100644 index 00000000..9ec0c546 --- /dev/null +++ b/app/Filament/Resources/MapLayerResource.php @@ -0,0 +1,170 @@ +schema([ + + Forms\Components\Section::make('General') + ->columns(2) + ->schema([ + Forms\Components\TextInput::make('title') + ->required() + ->maxLength(255) + ->live(onBlur: true) + ->afterStateUpdated(fn (Set $set, ?string $state) => $set('slug', Str::slug($state ?? ''))), + + Forms\Components\TextInput::make('slug') + ->required() + ->alphaDash() + ->unique(ignoreRecord: true) + ->maxLength(255), + + Forms\Components\Textarea::make('description') + ->columnSpanFull(), + ]), + + Forms\Components\Section::make('Map Settings') + ->columns(3) + ->schema([ + Forms\Components\TextInput::make('center_latitude') + ->numeric() + ->default(34.850700), + + Forms\Components\TextInput::make('center_longitude') + ->numeric() + ->default(-82.398500), + + Forms\Components\TextInput::make('zoom_level') + ->numeric() + ->default(10) + ->minValue(1) + ->maxValue(20), + ]), + + Forms\Components\Section::make('Links') + ->columns(2) + ->schema([ + Forms\Components\TextInput::make('geojson_link') + ->label('GeoJSON Link') + ->url() + ->maxLength(255), + + Forms\Components\TextInput::make('contribute_link') + ->url() + ->maxLength(255), + + Forms\Components\TextInput::make('raw_data_link') + ->url() + ->maxLength(255), + ]), + + Forms\Components\Section::make('Maintainers') + ->schema([ + Forms\Components\Repeater::make('maintainers') + ->hiddenLabel() + ->schema([ + Forms\Components\TextInput::make('name') + ->required(), + + Forms\Components\TextInput::make('github') + ->label('GitHub URL') + ->url(), + + Forms\Components\TextInput::make('url') + ->label('Other URL') + ->url(), + ]) + ->columns(3) + ->defaultItems(0) + ->reorderable() + ->collapsible(), + ]), + ]); + } + + public static function table(Table $table): Table + { + return $table + ->columns([ + Tables\Columns\TextColumn::make('title') + ->searchable() + ->sortable(), + + Tables\Columns\TextColumn::make('slug') + ->searchable() + ->toggleable(isToggledHiddenByDefault: true), + + Tables\Columns\TextColumn::make('zoom_level') + ->sortable(), + + Tables\Columns\TextColumn::make('created_at') + ->dateTime() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), + + Tables\Columns\TextColumn::make('updated_at') + ->dateTime() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), + ]) + ->filters([]) + ->actions([ + Tables\Actions\Action::make('sync') + ->label('Sync') + ->icon('heroicon-o-arrow-path') + ->requiresConfirmation() + ->action(function (MapLayer $record) { + $result = app(\App\Services\MapLayerSyncService::class)->sync($record); + + Notification::make() + ->title($result['success'] ? 'Sync Successful' : 'Sync Failed') + ->body($result['message']) + ->status($result['success'] ? 'success' : 'danger') + ->send(); + }), + Tables\Actions\EditAction::make(), + ]) + ->bulkActions([ + Tables\Actions\BulkActionGroup::make([ + Tables\Actions\DeleteBulkAction::make(), + ]), + ]) + ->defaultSort('title', 'asc'); + } + + public static function getRelations(): array + { + return [ + + ]; + } + + public static function getPages(): array + { + return [ + 'index' => Pages\ListMapLayers::route('/'), + 'create' => Pages\CreateMapLayer::route('/create'), + 'edit' => Pages\EditMapLayer::route('/{record}/edit'), + ]; + } +} diff --git a/app/Filament/Resources/MapLayerResource/Pages/CreateMapLayer.php b/app/Filament/Resources/MapLayerResource/Pages/CreateMapLayer.php new file mode 100644 index 00000000..2fda2612 --- /dev/null +++ b/app/Filament/Resources/MapLayerResource/Pages/CreateMapLayer.php @@ -0,0 +1,11 @@ +label('Sync All') + ->icon('heroicon-o-arrow-path') + ->requiresConfirmation() + ->action(function () { + $results = app(MapLayerSyncService::class)->syncAll(); + $succeeded = collect($results)->where('success', true)->count(); + $failed = collect($results)->where('success', false)->count(); + + Notification::make() + ->title('Sync Complete') + ->body("{$succeeded} synced, {$failed} failed.") + ->status($failed > 0 ? 'warning' : 'success') + ->send(); + }), + Actions\CreateAction::make(), + ]; + } +} diff --git a/app/Http/Controllers/LabsController.php b/app/Http/Controllers/LabsController.php index 843a272c..76f082bf 100644 --- a/app/Http/Controllers/LabsController.php +++ b/app/Http/Controllers/LabsController.php @@ -42,15 +42,14 @@ public function index() 'link' => 'https://github.com/hackgvl/hackgreenville-com/blob/develop/ORGS_API.md', 'linkType' => 'github', ], + [ + 'name' => __('Map Layers API'), + 'description' => __('Public API for Upstate location data'), + 'link' => 'https://github.com/hackgvl/hackgreenville-com/blob/develop/docs/MAP_LAYERS_API.md', + 'linkType' => 'github', + ], ], ], - [ - 'name' => __('Map Layers API'), - 'description' => __('Public API for Upstate location data'), - 'link' => 'https://github.com/hackgvl/OpenData/blob/master/MAPS_API.md', - 'linkType' => 'github', - 'status' => 'active', - ], [ 'name' => __('Open Map Data Multi Layers Demo'), 'description' => __('A bookmarkable map displaying all layers from the Map Layers API'), diff --git a/app/Http/Controllers/MapLayersController.php b/app/Http/Controllers/MapLayersController.php new file mode 100644 index 00000000..75c20d7e --- /dev/null +++ b/app/Http/Controllers/MapLayersController.php @@ -0,0 +1,15 @@ +get(); + + return view('map-layers.index', compact('layers')); + } +} diff --git a/app/Models/MapLayer.php b/app/Models/MapLayer.php new file mode 100644 index 00000000..dfcabb25 --- /dev/null +++ b/app/Models/MapLayer.php @@ -0,0 +1,20 @@ + 'decimal:6', + 'center_longitude' => 'decimal:6', + 'zoom_level' => 'integer', + 'maintainers' => 'array', + ]; + } +} diff --git a/app/Services/MapLayerSyncService.php b/app/Services/MapLayerSyncService.php new file mode 100644 index 00000000..179811b8 --- /dev/null +++ b/app/Services/MapLayerSyncService.php @@ -0,0 +1,145 @@ +fetchGeoJson($layer); + } catch (Throwable $e) { + return ['success' => false, 'message' => $e->getMessage()]; + } + + $path = 'geojson/' . basename($layer->slug) . '.geojson'; + + Storage::disk('local')->put($path, json_encode($geojson, JSON_PRETTY_PRINT)); + + $count = count($geojson['features'] ?? []); + + return ['success' => true, 'message' => "Synced {$count} features."]; + } + + /** + * Sync all map layers. Returns a summary of results. + * + * @return array + */ + public function syncAll(): array + { + $results = []; + + MapLayer::query()->each(function (MapLayer $layer) use (&$results) { + $results[$layer->slug] = $this->sync($layer); + }); + + return $results; + } + + private function fetchGeoJson(MapLayer $layer): array + { + // Prefer geojson_link if available (already in geojson format) + if ($layer->geojson_link) { + return $this->fetchFromGeoJsonLink($layer->geojson_link); + } + + // Fall back to raw_data_link (CSV from Google Sheets) + if ($layer->raw_data_link) { + return $this->fetchFromCsvLink($layer->raw_data_link); + } + + throw new RuntimeException("No data source configured (needs geojson_link or raw_data_link)."); + } + + private function fetchFromGeoJsonLink(string $url): array + { + $response = Http::timeout(30)->get($url); + + if ( ! $response->successful()) { + throw new RuntimeException("Failed to fetch GeoJSON: HTTP {$response->status()}"); + } + + $body = $response->body(); + + if (str_contains($response->header('Content-Type') ?? '', 'text/html') || str_starts_with(mb_trim($body), 'json(); + + if ( ! isset($data['type']) || $data['type'] !== 'FeatureCollection') { + throw new RuntimeException('Invalid GeoJSON: missing FeatureCollection type.'); + } + + return $data; + } + + private function fetchFromCsvLink(string $url): array + { + $response = Http::timeout(30)->get($url); + + if ( ! $response->successful()) { + throw new RuntimeException("Failed to fetch CSV: HTTP {$response->status()}"); + } + + $body = $response->body(); + $contentType = $response->header('Content-Type') ?? ''; + + // Google Sheets returns HTML error pages with 200 status when a sheet is deleted/unpublished + if (str_contains($contentType, 'text/html') || str_starts_with(mb_trim($body), 'setHeaderOffset(0); + + $features = []; + + foreach ($csv->getRecords() as $record) { + $lat = mb_trim($record['Latitude'] ?? ''); + $lng = mb_trim($record['Longitude'] ?? ''); + + // Skip rows without valid coordinates + if ($lat === '' || $lng === '' || ! is_numeric($lat) || ! is_numeric($lng)) { + continue; + } + + $properties = []; + foreach ($record as $key => $value) { + if (in_array($key, ['Latitude', 'Longitude'], true)) { + continue; + } + + $propertyName = str_replace(' ', '_', mb_strtolower(mb_trim($key))); + $properties[$propertyName] = mb_trim($value); + } + + $features[] = [ + 'type' => 'Feature', + 'geometry' => [ + 'type' => 'Point', + 'coordinates' => [(float) $lng, (float) $lat], + ], + 'properties' => $properties, + ]; + } + + return [ + 'type' => 'FeatureCollection', + 'features' => $features, + ]; + } +} diff --git a/config/cors.php b/config/cors.php index f04d48c5..b2595f40 100644 --- a/config/cors.php +++ b/config/cors.php @@ -21,7 +21,7 @@ * You can enable CORS for 1 or multiple paths. * Example: ['api/*'] */ - 'paths' => [], + 'paths' => ['api/*'], /* * Matches the request method. `[*]` allows all methods. diff --git a/database/factories/MapLayerFactory.php b/database/factories/MapLayerFactory.php new file mode 100644 index 00000000..37df4f0a --- /dev/null +++ b/database/factories/MapLayerFactory.php @@ -0,0 +1,53 @@ + $this->faker->words(3, true), + 'slug' => $this->faker->unique()->slug, + 'description' => $this->faker->sentence(), + 'center_latitude' => $this->faker->latitude(34.0, 35.0), + 'center_longitude' => $this->faker->longitude(-83.0, -82.0), + 'zoom_level' => $this->faker->numberBetween(1, 20), + 'geojson_link' => $this->faker->optional()->url(), + 'contribute_link' => $this->faker->optional()->url(), + 'raw_data_link' => $this->faker->optional()->url(), + 'maintainers' => [['name' => $this->faker->name()]], + 'created_at' => Carbon::now(), + 'updated_at' => Carbon::now(), + ]; + } + + public function forDocumentation() + { + return $this->state(function (array $attributes) { + $faker = \Faker\Factory::create(); + $faker->seed(1234); + + return [ + 'title' => $faker->words(3, true), + 'slug' => $faker->slug, + 'description' => $faker->sentence(), + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => $faker->url(), + 'contribute_link' => $faker->url(), + 'raw_data_link' => $faker->url(), + 'maintainers' => [['name' => $faker->name()]], + 'created_at' => '2025-01-01T12:00:00.000000Z', + 'updated_at' => '2025-01-01T12:00:00.000000Z', + ]; + }); + } +} diff --git a/database/migrations/2026_03_19_000000_create_map_layers_table.php b/database/migrations/2026_03_19_000000_create_map_layers_table.php new file mode 100644 index 00000000..96f3b4cb --- /dev/null +++ b/database/migrations/2026_03_19_000000_create_map_layers_table.php @@ -0,0 +1,31 @@ +id(); + $table->string('title')->index(); + $table->string('slug')->unique(); + $table->text('description')->nullable(); + $table->decimal('center_latitude', 10, 6)->default(34.850700); + $table->decimal('center_longitude', 10, 6)->default(-82.398500); + $table->unsignedTinyInteger('zoom_level')->default(10); + $table->string('geojson_link')->nullable(); + $table->string('contribute_link')->nullable(); + $table->string('raw_data_link')->nullable(); + $table->json('maintainers')->nullable(); + $table->timestamps(); + $table->softDeletes(); + }); + } + + public function down(): void + { + Schema::dropIfExists('map_layers'); + } +}; diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index e3add976..2ce6b00c 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -18,5 +18,6 @@ public function run() $this->call(OrganizationSeeder::class); $this->call(VenueSeeder::class); $this->call(EventSeeder::class); + $this->call(MapLayerSeeder::class); } } diff --git a/database/seeders/MapLayerSeeder.php b/database/seeders/MapLayerSeeder.php new file mode 100644 index 00000000..cc5c909d --- /dev/null +++ b/database/seeders/MapLayerSeeder.php @@ -0,0 +1,611 @@ + 'Art Galleries', + 'slug' => 'art-galleries', + 'description' => 'A real-time, community-curated map layer of Art Galleries.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 14, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1I_T4Pgx6HgPo2NDP41e_k5eny8bnE29hHrZzl92VY1M/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vTKrkaLfv4Ka30CDW0_Fu1DH1NGOWT7eWAbdQHETVqy2n7Kdv9jFKDXq-DptwHqbP65ljnPNLQMv4lr/pub?gid=0&single=true&output=csv', + 'maintainers' => [['name' => 'Walker Reed', 'github' => 'https://github.com/walkreed']], + ], + [ + 'title' => 'Bike Racks', + 'slug' => 'bike-racks', + 'description' => 'A real-time, community-curated map layer of Bike Racks.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1mKUI91zlyjv0R21x31npeMHIhTS10KLgjZe08g6qLDI/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vSpXqV48UWCKsogvCa951UhA5Bix97grIjBZOL94GAIof8xvDfrk-QJT2KTnK9BELr0jvMjXbsFCvGO/pub?gid=0&single=true&output=csv', + 'maintainers' => [ + ['name' => 'Amy Lochridge', 'github' => 'https://github.com/ahmeloc/gville-map-layer-bike-racks'], + ['name' => 'Mark Hetu', 'github' => 'https://github.com/MarkHetu/'], + ], + ], + [ + 'title' => 'Breweries', + 'slug' => 'breweries', + 'description' => 'A community-curated map of Greenville, SC breweries, including notes for dog-friendly, food on-premises, and proximity to the Swamp Rabbit Trail.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => 'https://joinopenworks.com/maps/breweries/points.geojson', + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1sEAf3l_tBUAA0HbBVYoBbaKaTzYOA3YqfKtMP2P1fEA/edit?gid=0#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vTRfRAqGYkltNKQDgeuFQ4Er5GXemXMhlPSquYVI8QvR0VYk6LNLoutVk3NtaUs09O0e_6aYBuPYvl4/pub?gid=0&single=true&output=csv', + 'maintainers' => [ + ['name' => 'Jim Ciallella', 'github' => 'https://github.com/allella'], + ['name' => 'Ray Breneman'], + ['name' => 'JeriBeth', 'github' => 'https://github.com/sparklebunny'], + ['name' => 'Terry Horner', 'github' => 'https://github.com/terrhorn'], + ['name' => 'Lauren DeLisle', 'github' => 'https://github.com/Unicorned/'], + ], + ], + [ + 'title' => 'Cemeteries', + 'slug' => 'cemeteries', + 'description' => 'A real-time, community-curated map layer of Cemeteries.', + 'center_latitude' => 34.857100, + 'center_longitude' => -82.402100, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1vwLrBo6Fa34Iizj26JYOZLrPzPw5FIsAqUuGXRzgELI/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vSPD7aCIxjyBdM8MHkWfoDfcr4fue4AyTGXHRVj7VyLEZjScFPx6Ei-4MfALMhYmh6amF7oGl4pT9wz/pub?gid=0&single=true&output=csv', + 'maintainers' => [ + ['name' => 'Christine Grewcock', 'github' => 'https://github.com/ealdthryth'], + ['name' => 'Olga Pakhotina', 'github' => 'https://github.com/Olga-Pakhotina'], + ], + ], + [ + 'title' => 'City Halls', + 'slug' => 'city-halls', + 'description' => 'A real-time, community-curated map layer of City Halls.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1LnJK0H_A1cSST5LZOzdtQ5e7JBmrzIpdf9jsX27TSkk/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vTJMwdt1oo-2AKqK_d8DZmpPvYxXPdmUB_J0x2GECQm6cTEdXopZE9mZmAds-GlswaltogoRzNYp3YR/pub?gid=0&single=true&output=csv', + 'maintainers' => [['name' => 'Octavia Frazile', 'github' => 'https://github.com/Ofrazzle']], + ], + [ + 'title' => 'City Parks - Greenville', + 'slug' => 'city-parks-greenville', + 'description' => 'A community-curated map layer of city parks in Greenville, SC.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1951efVrvM3QLYgFIVAwoDCm51ckoh68pvCiHq8lI4P8/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vQ-hYlKBjoMXCKPOO3g6bJJIiOsOL3Qr0Q3OmKQH_Cv6v-g3P6_gp8ltIThYNtgwW6pzYIOveFOT1vR/pub?gid=0&single=true&output=csv', + 'maintainers' => [['name' => 'James Aaron', 'github' => 'https://github.com/Jaaron0606']], + ], + [ + 'title' => 'Community Gardens', + 'slug' => 'community-gardens', + 'description' => 'A real-time, community-curated map layer of Community Gardens.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1tkuJ219nwbgEqDzgMTBPxz49Va_natnKYUgiZhpEfwE/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vR-l37P7cL0bwRpIBML7vmwxKyE-zp3k9peCR7t0mXKQ9iF92DFiO7pmT8dwqGKR2XMc2zxx7_olyeH/pub?gid=0&single=true&output=csv', + 'maintainers' => [['name' => 'Leo Newman', 'github' => 'https://github.com/leojnewman']], + ], + [ + 'title' => 'Co-working Spaces', + 'slug' => 'coworking-spaces', + 'description' => 'A real-time, community-curated map layer of Co-working Spaces.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 12, + 'geojson_link' => 'https://joinopenworks.com/maps/coworking-spaces/points.geojson', + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1SfQFG4iSbD8vlKzUfpgCEJmNQcUBnhgZZzlameKT4l8/edit?gid=0#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vRtM2qaSOwlUKWRHLHpXAxk90W19jExJxILqF_3tq_mForyK6ne3V2GKrk-NPqedPuIuIUlqkt7DAjE/pub?gid=0&single=true&output=csv', + 'maintainers' => [ + ['name' => 'Brett Brading', 'github' => 'https://github.com/bbrading'], + ['name' => 'Jim Ciallella', 'github' => 'https://github.com/allella'], + ], + ], + [ + 'title' => 'Dog Parks', + 'slug' => 'dog-parks', + 'description' => 'A real-time, community-curated map layer of Dog Parks.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1erYwUIJAkpzlYrWmVP3VMyJH1zvcqkzUJNoyjcmjFi8/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vSRuCeQU27JewUljD1McwCo5WKRLVxCSe1OWkjYW8khCca_j-y5DeEl07DUvNj7xY4Tn8mb3zOz-6yG/pub?gid=0&single=true&output=csv', + 'maintainers' => [ + ['name' => 'JeriBeth', 'github' => 'https://github.com/sparklebunny'], + ['name' => 'Sarah Bonner', 'github' => 'https://github.com/schemmelsc/dog-parks'], + ['name' => 'David Bonner', 'github' => 'https://github.com/bonvisuals/dog-parks'], + ], + ], + [ + 'title' => 'Dog-friendly Restaurants and Bars', + 'slug' => 'dog-friendly-restaurants-and-bars', + 'description' => 'A real-time, community-curated map layer of Dog-friendly Restaurants and Bars.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1erYwUIJAkpzlYrWmVP3VMyJH1zvcqkzUJNoyjcmjFi8/edit#gid=421615217', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vSRuCeQU27JewUljD1McwCo5WKRLVxCSe1OWkjYW8khCca_j-y5DeEl07DUvNj7xY4Tn8mb3zOz-6yG/pub?gid=421615217&single=true&output=csv', + 'maintainers' => [ + ['name' => 'Veronica Caruso', 'github' => 'https://github.com/carusova'], + ['name' => 'JeriBeth', 'github' => 'https://github.com/sparklebunny'], + ], + ], + [ + 'title' => 'Dog-friendly Retail Stores', + 'slug' => 'dog-friendly-retail-stores', + 'description' => 'A real-time, community-curated map layer of Dog-friendly Retail Stores.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1erYwUIJAkpzlYrWmVP3VMyJH1zvcqkzUJNoyjcmjFi8/edit#gid=630384392', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vSRuCeQU27JewUljD1McwCo5WKRLVxCSe1OWkjYW8khCca_j-y5DeEl07DUvNj7xY4Tn8mb3zOz-6yG/pub?gid=630384392&single=true&output=csv', + 'maintainers' => [ + ['name' => 'JeriBeth', 'github' => 'https://github.com/sparklebunny'], + ['name' => 'Cassandra Aiken', 'github' => 'https://github.com/cacoding/'], + ], + ], + [ + 'title' => 'Electric Vehicle Charging Stations', + 'slug' => 'electric-vehicle-charging-stations', + 'description' => 'A real-time, community-curated map layer of Electric Vehicle Charging Stations.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/13I5AzQt3L_QlFz4w8Z286OczId5IKBk6Bm56MpBAWO0/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vRZq5Fhtp7HJI9AKzaX9gZHGpfL3x4jyABYh94CP-4_0l3aJhLuPuTlYpkHdVUxCSRWgZGD7PrB6eGe/pub?gid=0&single=true&output=csv', + 'maintainers' => [ + ['name' => 'Stephen Silkowski', 'github' => 'https://github.com/ses29680'], + ['name' => 'Bob Greene', 'github' => 'https://github.com/nine6era'], + ['name' => 'Code For Greenville', 'url' => 'http://codeforgreenville.org'], + ], + ], + [ + 'title' => 'Farmers Markets', + 'slug' => 'farmers-markets', + 'description' => 'A real-time, community-curated map layer of Farmers Markets.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1ab-CYPb7XbvAw_QXmxOLSyc8iM2jinheuZpqC_jfXpw/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vReyGh7f77-BWo40hMH-xvfXy1nVXCCtsVnc0zQqecj3AMy-rjMEjL0FLmkNL9lkY94i3v3--QQrtYg/pub?gid=0&single=true&output=csv', + 'maintainers' => [ + ['name' => 'Victoria Zambrano', 'github' => 'https://github.com/vzambrano98'], + ['name' => 'Eugene McGrath', 'github' => 'https://github.com/cplklegg/'], + ], + ], + [ + 'title' => 'Fishing Access Sites', + 'slug' => 'fishing-access-sites', + 'description' => 'A real-time, community-curated map layer of Fishing Access Sites.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1-IM5QWsYCHv7Lm2y4yEHUbo3BfBKVPEpFor6g7t1V4M/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vT0cYu9iDFj0VCVlRcl1L8oqGjKyYF-WOtxzkdi8Y0a5UWgSNJBicnRriEPoJPTSoww_4m-kQmapO_5/pub?gid=0&single=true&output=csv', + 'maintainers' => [ + ['name' => 'Chris Sweeney', 'github' => 'https://github.com/sweenz'], + ['name' => 'Samantha Ng', 'github' => 'https://github.com/Sln218/'], + ], + ], + [ + 'title' => 'Free Job Training Resources', + 'slug' => 'free-job-training-resources', + 'description' => 'A real-time, community-curated map layer of Free Job Training Resources.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/14EGsgKzfnp4pJ4BBGgBrwWkt8dyTHhdOtvD4KanhOG8/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vRuK2MSpV7GOGDHNO8VQolPATv0iP52JVBnGwm8A5MHtyq2lGb14V89ax1Gstk6k9EZhbwL9dU36hMM/pub?gid=0&single=true&output=csv', + 'maintainers' => [['name' => 'Liz Meeker Murphy', 'github' => 'https://github.com/lizziemeeker']], + ], + [ + 'title' => 'Free Wi-Fi Hotspots', + 'slug' => 'free-wi-fi-hotspots', + 'description' => 'A real-time, community-curated map layer of Free Wi-Fi Hotspots.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => 'https://joinopenworks.com/wifi/guest-wi-fi-google-spreadsheet-to-geojson.php', + 'contribute_link' => 'https://joinopenworks.com/r/wifi', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vT4s0ss1d8wIgvge2C47n150yCa73gclQJaP4DUCyDaFCj1WNabX3Pb76Vc8kZLtvngWux4c8iyM7Ql/pub?gid=0&single=true&output=csv', + 'maintainers' => [['name' => 'OpenWorks / Jim Ciallella', 'github' => 'https://github.com/allella']], + ], + [ + 'title' => 'Greer Public Parking', + 'slug' => 'greer-public-parking', + 'description' => 'A real-time, community-curated map layer of Greer Public Parking.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1dyXOqN3Lx29eMIXTHcN0rnRgQLR-uSOuZ6TXUUPsCtM/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vQfiXdP11XZjgsOAYbl3I3fq81AcKbNQ12Wqt5aYIO5FkZNG0SyLP8-MYKvHGKUAKoSPbkbaAXQ3QBt/pub?gid=0&single=true&output=csv', + 'maintainers' => [['name' => 'Kyle Mensing', 'github' => 'https://github.com/ktmensing']], + ], + [ + 'title' => 'Historic Sites (excluding Mills)', + 'slug' => 'historic-sites', + 'description' => 'A real-time, community-curated map layer of Historic Sites (excluding Mills).', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/13MXqtFxOpuRAuXp5yBFgezarV0S8eQ01Kbs2Ed_rtjE/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vQ3USDKomUZ8eTvIAE88UauZLuIIden2SvOOx2OiZNy0qCFCe29El7p6ElXp9H_ZfxhsoLDutziM1bv/pub?gid=0&single=true&output=csv', + 'maintainers' => [ + ['name' => 'Sarah Funk', 'github' => 'https://github.com/sfunk3'], + ['name' => 'Daniel Burgess', 'github' => 'https://github.com/everydaynerd'], + ['name' => 'Code For Greenville', 'url' => 'http://www.codeforgreenville.org'], + ['name' => 'Shanna Raines', 'github' => 'https://github.com/sraines'], + ], + ], + [ + 'title' => 'Historical African-American Churches', + 'slug' => 'historical-african-american-churches', + 'description' => 'A real-time, community-curated map layer of Historical African-American Churches.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1EBFOV7jx0iHirLFERo84nX3D4FQeG5_xcvx6yjvAWug/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vQjfeINfoDjUsQjiXuEOXPctuwbj_yKMn08gbti8KxmlMEBFquIMH3aiFwNM8rl1N5cMmgNb3FNyNhp/pub?gid=0&single=true&output=csv', + 'maintainers' => [['name' => 'Justin Lewis', 'github' => 'https://github.com/jlew1914']], + ], + [ + 'title' => 'Libraries', + 'slug' => 'libraries', + 'description' => 'A real-time, community-curated map layer of Libraries.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1iy0ObdJWiJZl1CzII_9nXL_7YyRtz0mIxiOvKUKxJ-E/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vQKmOXURwyZ8dCdRYMix8h3PItdjwDSDfSI__9uxAMQXXt0uIakY3GWmRNqDj7uNHdLAoY7DBLTtiyK/pub?gid=0&single=true&output=csv', + 'maintainers' => [ + ['name' => 'Bridgette Jefferson', 'github' => 'https://github.com/Brenascia'], + ['name' => 'Christine Grewcock', 'github' => 'https://github.com/ealdthryth'], + ['name' => 'Melody Ng', 'github' => 'https://github.com/melodyjng/'], + ], + ], + [ + 'title' => 'Live Theatres', + 'slug' => 'live-theatres', + 'description' => 'A real-time, community-curated map layer of Live Theatres.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1Ta34foucT758H2YxjgQrmvLh5GycqfPhyAVVztObO-o/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vT3UCXb_AWBzugzsiDROwLx5fMfGZOAc9b-3crH6PsVd86cOaEJg_QTD1-skkg4Oy83A8CD5SFwdTvc/pub?gid=0&single=true&output=csv', + 'maintainers' => [ + ['name' => 'Stephen Hill', 'github' => 'https://github.com/thathillboy'], + ['name' => 'Eric Gosnell', 'github' => 'https://github.com/theklopex'], + ], + ], + [ + 'title' => 'Mice on Main', + 'slug' => 'mice-on-main', + 'description' => 'A real-time, community-curated map layer of Mice on Main.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1tPNBu79UyIv-MablYqt5y1sBv-x8Fg-3i3zH_BUJQz8/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vT32YJ7MwtDvSOPfPUordCxPA89Gej3rOL6QIiyBDotcNlSAztBFgoSjib0a4QylfDJ0AChirtvHtUB/pub?gid=0&single=true&output=csv', + 'maintainers' => [['name' => 'Creighton Magoun', 'github' => 'https://github.com/magoun']], + ], + [ + 'title' => 'Music Venues', + 'slug' => 'music-venues', + 'description' => 'View and contribute to the real-time, community-curated map layer of music venues in Greenville South Carolina.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/17PUucZ1jPej4WGSlVzsLtvTJ1e8hz3KliAuQx84bdqc/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vTMJ8himJKPyyM00Vvhdp8na3kFgIrjS3qVhWcUCQNPMFqOTZJKjSiBP3K2pw3qnBn7_Lh42NaaiyCF/pub?gid=0&single=true&output=csv', + 'maintainers' => [ + ['name' => 'Julie Brett', 'github' => 'https://github.com/Juicysmo'], + ['name' => 'Jeremiah Adkins', 'github' => 'https://github.com/jeremiahadkins/'], + ], + ], + [ + 'title' => 'Organic Farms', + 'slug' => 'organic-farms', + 'description' => 'A real-time, community-curated map layer of Organic Farms.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1lFl4bfBdm7BrTMaGlpDab3OSILXw2MJhgqAhEVrNwpY/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vRc_qf5ZlCcEKOPJW7x72TUaaYBIepGJQKPCb44CuqYTlzaLjVKpYjoBrsWqFkgOr1FzX2ZFxEQgjMu/pub?gid=0&single=true&output=csv', + 'maintainers' => [ + ['name' => 'Shelby Cohen', 'github' => 'https://github.com/shelbymcohen'], + ['name' => 'Greg Bopp', 'github' => 'https://github.com/GBClemson/'], + ['name' => 'Shradha Gupta', 'github' => 'https://github.com/artshra/'], + ], + ], + [ + 'title' => 'Parking Decks', + 'slug' => 'parking-decks', + 'description' => 'A real-time, community-curated map layer of Parking Decks.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1NGeKFnA7QilhqoILsbXAZL5r_cGoRWUmAUh4cudrCLk/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vR6uddn7ajALJF5gCTZgfjXor1tJzHco9_dEhR1D9w5kpaj9oAe_yQaQtWcyaKm1Asrim2XNzWsF-jf/pub?gid=0&single=true&output=csv', + 'maintainers' => [['name' => 'Bethany Winston', 'github' => 'https://github.com/BethanyWinston']], + ], + [ + 'title' => 'Playgrounds', + 'slug' => 'playgrounds', + 'description' => 'A real-time, community-curated map layer of Playgrounds.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1RzZv0V3E-FZ9zcNLJUdQOvy3MJ54iFPLG1G1ThIFIgA/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vRqa_Q3-vPOosnRdTAp031dspfdDDayptTwWuYPoeTxG5UGJYv0DCsOotsMk9_m47GVeR6HxFeGFJvS/pub?gid=0&single=true&output=csv', + 'maintainers' => [['name' => 'Jisha Govindan', 'github' => 'https://github.com/jishaaa']], + ], + [ + 'title' => 'Recreation Baseball Fields', + 'slug' => 'recreation-baseball-fields', + 'description' => 'A real-time, community-curated map layer of Recreation Baseball Fields.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1fymQgEOv3wL97wavbUDRiTBJcN7smUl95KZmSw_D4oE/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vSxdswfBgwRrjF_3QZKWtdBlwaaXSq-qfI-grVXh8ueVGquaFVbWy94AbQzAbZVMonKwzYBcnZGABmG/pub?gid=0&single=true&output=csv', + 'maintainers' => [ + ['name' => 'Katie Dowis', 'github' => 'https://github.com/ksiwod'], + ['name' => 'Jami Mercer', 'github' => 'https://github.com/mercergirl1'], + ], + ], + [ + 'title' => 'Recycling Locations', + 'slug' => 'recycling-locations', + 'description' => 'A community-curated map layer of recycling locations in downtown Greenville and Greenville County, SC.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 11, + 'geojson_link' => null, + 'contribute_link' => null, + 'raw_data_link' => 'https://www.gcgis.org/arcgis/rest/services/imap/imap/MapServer/72', + 'maintainers' => [['name' => 'Greenville County GIS API - iMAP', 'url' => 'https://www.gcgis.org/arcgis/rest/services']], + ], + [ + 'title' => 'Schools - Greenville County', + 'slug' => 'schools-greenville-county', + 'description' => 'A real-time, community-curated map layer of Schools - Greenville County.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => null, + 'raw_data_link' => 'https://www.gcgis.org/arcgis/rest/services/imap/imap/MapServer/15', + 'maintainers' => [['name' => 'Greenville County GIS API - iMAP', 'url' => 'https://www.gcgis.org/arcgis/rest/services']], + ], + [ + 'title' => 'Schools - Public International Baccalaureate Schools K-12', + 'slug' => 'schools-ib-k12', + 'description' => 'A real-time, community-curated map layer of Schools - Public International Baccalaureate Schools K-12.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1AMQRta_QrSBpDFVoBxbiQNMAWOr_BuNEOmvic2RTzwo/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vTI_TZ46FEZ5VRNwgz6LKCs8M6UCUpx9R9qDD9GryKfKVcBTPjdS0ABcqYGYzU96Af0rnHJ8RdEUdhh/pub?gid=0&single=true&output=csv', + 'maintainers' => [['name' => 'Meenakshi Radhakrishnan', 'github' => 'https://github.com/meenasrik']], + ], + [ + 'title' => 'Solid Waste', + 'slug' => 'solid-waste', + 'description' => 'A real-time, community-curated map layer of Solid Waste.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1I4K4lQqYG6-0DZmPRzhTXVW3UkK0TY9u5SuhdSsOEuk/edit#gid=0', + 'raw_data_link' => null, + 'maintainers' => [['name' => 'Greenville County GIS API - iMAP', 'url' => 'https://www.gcgis.org/arcgis/rest/services']], + ], + [ + 'title' => 'Swamp Rabbit Trail - Entrances', + 'slug' => 'swamp-rabbit-trail-entrances', + 'description' => 'A real-time, community-curated map layer of Swamp Rabbit Trail - Entrances.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1TMAJJ9cwGPWWu66UN463_f-qYFudPJTjhd8LA6AMZro/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vQ683u_VN6s1pAXFn_f6To_nGM2fFZyqts4Vcr0eqxteO6oYEs82P8xQPzB9tPUEfhldwN-G92Am6hz/pub?gid=0&single=true&output=csv', + 'maintainers' => [['name' => 'Levi Monday', 'github' => 'https://github.com/levimonday']], + ], + [ + 'title' => 'Swamp Rabbit Trail - Main Path', + 'slug' => 'swamp-rabbit-trail-path', + 'description' => 'A real-time, community-curated map layer of Swamp Rabbit Trail - Main Path.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => null, + 'raw_data_link' => 'https://greenvilleopenmap.info/SwampRabbitWays.geojson', + 'maintainers' => [ + ['name' => 'Mike Nice', 'url' => 'https://greenvilleopenmap.info'], + ['name' => 'OpenStreetMap Contributors', 'url' => 'https://www.openstreetmap.org'], + ], + ], + [ + 'title' => 'Swamp Rabbit Trail - Mile Markers', + 'slug' => 'swamp-rabbit-trail-mile-markers', + 'description' => 'A real-time, community-curated map layer of Swamp Rabbit Trail - Mile Markers.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/11JO7kbN0IDqjBtjE_flH9_T1sknzhUxwLgNXrBk-qEI/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vQdPyKu69tItHHsmA-M4kcNzLTdnFJhzV4LFw-PEetmbbMEvVvHfFiwVzTT45t7-DrQxswrd9ktIUxF/pub?gid=0&single=true&output=csv', + 'maintainers' => [['name' => 'Christina Cornell', 'github' => 'https://github.com/cdhorn515']], + ], + [ + 'title' => 'Swamp Rabbit Trail - Parking', + 'slug' => 'swamp-rabbit-trail-parking', + 'description' => 'A real-time, community-curated map layer of Swamp Rabbit Trail - Parking.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1a8HHDBMiA7YNIKkCbaIYFMpWCuC1RxiI6uNxvS8uwc0/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vQ9QGNxIXubcItoY5CWakoD0IrFO1p2SuXztSLcvoTT1xMiKivQl321vMEn8OD4xoDfnTzNABVu92ZY/pub?gid=0&single=true&output=csv', + 'maintainers' => [['name' => 'Leland James', 'github' => 'https://github.com/FeroSoldato']], + ], + [ + 'title' => 'Swamp Rabbit Trail - Water Fountains', + 'slug' => 'swamp-rabbit-trail-water-fountains', + 'description' => 'A community-curated map layer of water fountains along the Swamp Rabbit Trail in Greenville, SC.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1AiJo2DCtXnq9DlbgECUBuLFo3k2C7jIknzJSAD6w7Ds/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vTaUgIjHCaEvsKai8xzUN3WdRn1AHNKkwiIsPhUOLfbxuj60o-x1n5_QSV6ZiDn7N2z469ICUET5PFr/pub?gid=0&single=true&output=csv', + 'maintainers' => [ + ['name' => 'Caleb McQuaid', 'github' => 'https://github.com/calebmcquaid'], + ['name' => 'Andrew Bieber', 'github' => 'https://github.com/Andr3wB/'], + ], + ], + [ + 'title' => 'Swinging Benches/Benches in Falls Park', + 'slug' => 'falls-park-benches', + 'description' => 'A real-time, community-curated map layer of Swinging Benches/Benches in Falls Park.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 15, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1Ip0bS8vgE4S91YSVJ_8zyxprU9JJjckTomyNl1fjJiI/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vRf-qRQW7JsYSme6KNzBcDzbjsOvHu-C07YrBw8QAiS2hGPAmUPIF8NYEYwlcAkbYbrPyHcSE1SKhEZ/pub?gid=0&single=true&output=csv', + 'maintainers' => [['name' => 'Stephen Bennett', 'github' => 'https://github.com/EdensLamb']], + ], + [ + 'title' => 'Tent Campsites', + 'slug' => 'tent-camping', + 'description' => 'A real-time, community-curated map layer of Tent Campsites.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 7, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1rhpHqZwYDJnc9gmluM-D_He4lPgLSLfXKE2dWSO86qM/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vR5m7nqVqzj5GIECDEk6o0CaokxIMFTdQRe0JJj9-UpgjOWvpmODEW8IyZLZciINoTIQR4gH49wb50c/pub?gid=0&single=true&output=csv', + 'maintainers' => [ + ['name' => 'Holly Vanderwal', 'github' => 'https://github.com/hollyv04'], + ['name' => 'Taylor Garrison', 'github' => 'https://github.com/garrison44/'], + ['name' => 'Matt Harvey', 'github' => 'https://github.com/MattAHarvey/'], + ], + ], + [ + 'title' => 'Textile Mills, Past and Present', + 'slug' => 'historic-textile-mills', + 'description' => 'A real-time, community-curated map layer of Textile Mills, Past and Present.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1iJNAcWyBYDKaNIb9Xla0z3jVSP7syAVeNgISGyIv6bo/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vQDtQgs5j5xOSqCFhpgO8TFNrRt3nBMs2BBhZ2-iR75OpnSOSB2TTnq7LGVzJMTF96w2TajYKpEp12I/pub?gid=0&single=true&output=csv', + 'maintainers' => [ + ['name' => 'David Galloway', 'github' => 'https://github.com/davidgalloway'], + ['name' => 'Jim Ciallella', 'github' => 'https://github.com/allella'], + ], + ], + [ + 'title' => 'Tree Planting Sites', + 'slug' => 'tree-planting-sites', + 'description' => 'A real-time, community-curated map layer of Tree Planting Sites.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1NfD6eZNs_tPJ3C69Eh9UaPSCebJ_n392ncDDf6U84e4/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/1NfD6eZNs_tPJ3C69Eh9UaPSCebJ_n392ncDDf6U84e4/pub?output=csv', + 'maintainers' => [ + ['name' => 'TreesUpstate', 'url' => 'http://www.treesupstate.org'], + ['name' => 'Jim Ciallella', 'github' => 'https://github.com/allella'], + ], + ], + [ + 'title' => 'Walking Trails', + 'slug' => 'walking-trails', + 'description' => 'A real-time, community-curated map layer of Walking Trails.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1AgMhG8WcG6owi3_4Hyy0IsxYtzKeqnPtZeaMx4ZMQS4/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vR3pRuBnTdMvKXa2VR9F75To3hsRwdA_Cx3TW83iSpBYGfA_b0U9acmymfJt9SNKyJWnDRtoNCh7LwB/pub?gid=0&single=true&output=csv', + 'maintainers' => [['name' => 'Jen Robert', 'github' => 'https://github.com/jenrobert']], + ], + [ + 'title' => 'Wall Murals', + 'slug' => 'wall-murals', + 'description' => 'A real-time, community-curated map layer of Wall Murals.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1qId9FbjK5gQ71QVbLO705EBAigJn6rrg61i6Ho3GnJg/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vSIjT2SDpW4RHbG4eGWp0HGoAhhQQzQDyMNXMBSGFfSJG4WUCqi7JzgRY3mRKQB4rAduv7rKBZW3QsE/pub?gid=0&single=true&output=csv', + 'maintainers' => [['name' => 'Kristen Barbour', 'github' => 'https://github.com/kbarbs']], + ], + [ + 'title' => 'Waterfalls', + 'slug' => 'waterfalls', + 'description' => 'A real-time, community-curated map layer of Waterfalls.', + 'center_latitude' => 34.850700, + 'center_longitude' => -82.398500, + 'zoom_level' => 10, + 'geojson_link' => null, + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/1AZZeCh1tFc5-Lr80h60MuHqQ9uNmz5nKjWyiooEl7ik/edit#gid=0', + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/2PACX-1vSJK9CEVdHXUe5Y-efjZkwT1PLUMJSFkcL8I9EdiE7qTULxY2-fGECa3fBKwtabIcl2oPz5SgmJqIls/pub?gid=0&single=true&output=csv', + 'maintainers' => [['name' => 'Tracy Gohs', 'github' => 'https://github.com/tlgohs']], + ], + ]; + + foreach ($layers as $layer) { + MapLayer::updateOrCreate( + ['slug' => $layer['slug']], + $layer, + ); + } + } +} diff --git a/docs/MAP_LAYERS_API.md b/docs/MAP_LAYERS_API.md new file mode 100644 index 00000000..29c833a3 --- /dev/null +++ b/docs/MAP_LAYERS_API.md @@ -0,0 +1,32 @@ +# HackGreenville Map Layers API + +The _Map Layers API_ can be used to build your own custom applications from the structured JSON data representing the [HackGreenville map layers](https://hackgreenville.com/map-layers). + +## Interactive API Explorer + +Start with the [interactive API explorer](https://hackgreenville.com/docs/api) which: +* documents the query parameters that allow for filtering the results +* allows you to use a built-in "_Try it out_" button to generate API URLs +* allows you to use a built-in "_Send Request_" button to execute the API call within the explorer +* shows sample JSON responses + +## Endpoints + +* `GET /api/v1/map-layers` — list all map layers with pagination, filtering by title, and sorting +* `GET /api/v1/map-layers/{slug}/geojson` — fetch the raw GeoJSON FeatureCollection for a specific layer + +## Limitations, Gotchas, and Contributor Tips +* The production / live website is cached and changes may take up to 4 hours to show due to the cache. +* GeoJSON data is synced from external sources (Google Sheets CSV or direct GeoJSON links) and cached locally. +* Please do not hammer the APIs +* Contact the contributors at [HackGreenville Labs](https://hackgreenville.com/labs) via Slack #hg-labs channel with any questions. + +## The Code + +The code for the Map Layers API is primarily located in _/app-modules/_ + +* Controllers: _api/src/Http/Controllers/_ +* Resources: _api/src/Resources/MapLayers/_ +* Tests: _api/tests/Feature/_ +* Model: _app/Models/MapLayer.php_ +* Sync Service: _app/Services/MapLayerSyncService.php_ diff --git a/resources/css/app.css b/resources/css/app.css index 8d4be8b4..6a92d2fd 100644 --- a/resources/css/app.css +++ b/resources/css/app.css @@ -1,4 +1,4 @@ -@import "tailwindcss"; +@import 'tailwindcss'; /* Migrate from tailwind.config.js theme.extend */ @theme { @@ -7,7 +7,9 @@ --color-warning: #de9d35; --color-danger: #f44336; - --font-sans: 'Geist', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif; + --font-sans: 'Geist', ui-sans-serif, system-ui, -apple-system, + BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', + sans-serif; --breakpoint-nav-break: 1220px; } @@ -15,7 +17,7 @@ /* Preserve v3 button cursor behavior */ @layer base { button:not(:disabled), - [role="button"]:not(:disabled) { + [role='button']:not(:disabled) { cursor: pointer; } } @@ -36,3 +38,33 @@ body { main { min-height: 500px; } + +/* Skip-to-content link: hidden until focused */ +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; +} + +.sr-only:focus, +.sr-only:focus-visible { + position: absolute; + width: auto; + height: auto; + padding: 0.75rem 1.5rem; + margin: 0; + overflow: visible; + clip: auto; + white-space: normal; + z-index: 9999; + background: #111827; + color: #fff; + font-weight: 600; + text-decoration: none; +} diff --git a/resources/js/labs-hero.js b/resources/js/labs-hero.js index d12ca9c3..35c0da64 100644 --- a/resources/js/labs-hero.js +++ b/resources/js/labs-hero.js @@ -5,7 +5,9 @@ */ export function initHeroCanvas(canvas) { const ctx = canvas.getContext('2d'); - const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches; + const prefersReducedMotion = window.matchMedia( + '(prefers-reduced-motion: reduce)', + ).matches; const PARTICLE_COUNT = 60; const CONNECT_DISTANCE = 120; @@ -55,7 +57,7 @@ export function initHeroCanvas(canvas) { const dy = p.y - mouse.y; const dist = Math.sqrt(dx * dx + dy * dy); if (dist < MOUSE_RADIUS && dist > 0) { - const force = (MOUSE_RADIUS - dist) / MOUSE_RADIUS * MOUSE_FORCE; + const force = ((MOUSE_RADIUS - dist) / MOUSE_RADIUS) * MOUSE_FORCE; p.vx += (dx / dist) * force; p.vy += (dy / dist) * force; } @@ -91,7 +93,9 @@ export function initHeroCanvas(canvas) { ctx.beginPath(); ctx.moveTo(p.x, p.y); ctx.lineTo(q.x, q.y); - ctx.strokeStyle = `rgba(255, 255, 255, ${0.15 * (1 - dist / CONNECT_DISTANCE)})`; + ctx.strokeStyle = `rgba(255, 255, 255, ${ + 0.15 * (1 - dist / CONNECT_DISTANCE) + })`; ctx.lineWidth = 0.5; ctx.stroke(); } diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index cf38e368..7efe3d25 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -90,7 +90,7 @@ function gtag() { @yield('head') -Skip to main content +Skip to main content
@include('layouts.top-nav') diff --git a/resources/views/layouts/top-nav.blade.php b/resources/views/layouts/top-nav.blade.php index 258ddf1c..27543157 100644 --- a/resources/views/layouts/top-nav.blade.php +++ b/resources/views/layouts/top-nav.blade.php @@ -55,6 +55,17 @@ class="flex items-center gap-1 py-2 px-2 text-sm font-medium no-underline transi +

Map Layers API v1

+ +

+

+ +

This API provides access to community-curated map layer data for the Greenville, SC area.

+

Each map layer represents a collection of geographic features (e.g. breweries, parks, trails) +sourced from community-maintained Google Spreadsheets and served as GeoJSON.

+ + +
Example request:
+ + +
+
curl --request GET \
+    --get "{{ config("app.url") }}/api/v1/map-layers?per_page=50&page=1&sort_by=title&sort_direction=asc" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "{{ config("app.url") }}/api/v1/map-layers"
+);
+
+const params = {
+    "per_page": "50",
+    "page": "1",
+    "sort_by": "title",
+    "sort_direction": "asc",
+};
+Object.keys(params)
+    .forEach(key => url.searchParams.append(key, params[key]));
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+
+fetch(url, {
+    method: "GET",
+    headers,
+}).then(response => response.json());
+ + +
+
import requests
+import json
+
+url = '{{ config("app.url") }}/api/v1/map-layers'
+params = {
+  'per_page': '50',
+  'page': '1',
+  'sort_by': 'title',
+  'sort_direction': 'asc',
+}
+headers = {
+  'Content-Type': 'application/json',
+  'Accept': 'application/json'
+}
+
+response = requests.request('GET', url, headers=headers, params=params)
+response.json()
+ +
+ + +
+

Example response (200):

+
+
+
+{
+    "data": [
+        {
+            "id": 123,
+            "title": "architecto eius et",
+            "slug": "quos-velit-et-fugiat-sunt-nihil-accusantium-harum",
+            "description": "Modi deserunt aut ab provident perspiciatis.",
+            "center_latitude": 34.8507,
+            "center_longitude": -82.3985,
+            "zoom_level": 10,
+            "geojson_link": "http://www.cruickshank.com/adipisci-quidem-nostrum-qui-commodi-incidunt-iure",
+            "geojson_url": "http://localhost:8000/api/v1/map-layers/quos-velit-et-fugiat-sunt-nihil-accusantium-harum/geojson",
+            "contribute_link": "https://mclaughlin.com/ipsum-nostrum-omnis-autem-et-consequatur-aut-dolores-enim.html",
+            "raw_data_link": "http://vonrueden.com/",
+            "maintainers": [
+                {
+                    "name": "Vesta Glover"
+                }
+            ],
+            "created_at": "2025-01-01T17:00:00.000000Z",
+            "updated_at": "2025-01-01T17:00:00.000000Z"
+        }
+    ]
+}
+ 
+
+ + +
+

+ Request    + +    + +

+

+ GET + api/v1/map-layers +

+

Headers

+
+ Content-Type   +  +   +   + +
+

Example: application/json

+
+
+ Accept   +  +   +   + +
+

Example: application/json

+
+

Query Parameters

+
+ per_page   +integer  +optional   +   + +
+

The number of items to show per page. Must be at least 1. Must not be greater than 100. Example: 50

+
+
+ page   +integer  +optional   +   + +
+

The current page of items to display. Must be at least 1. Example: 1

+
+
+ title   +string  +optional   +   + +
+

Filter map layers by title. Must not be greater than 255 characters.

+
+
+ sort_by   +string  +optional   +   + +
+

Example: title

+Must be one of: +
  • title
  • updated_at
  • created_at
+
+
+ sort_direction   +string  +optional   +   + +
+

Example: asc

+Must be one of: +
  • asc
  • desc
+
+
+ +

Map Layer GeoJSON

+ +

+

+ +

Returns the raw GeoJSON FeatureCollection for a specific map layer.

+

The response is suitable for direct use with mapping libraries like Leaflet, Mapbox, or Google Maps.

+ + +
Example request:
+ + +
+
curl --request GET \
+    --get "{{ config("app.url") }}/api/v1/map-layers/breweries/geojson" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "{{ config("app.url") }}/api/v1/map-layers/breweries/geojson"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+
+fetch(url, {
+    method: "GET",
+    headers,
+}).then(response => response.json());
+ + +
+
import requests
+import json
+
+url = '{{ config("app.url") }}/api/v1/map-layers/breweries/geojson'
+headers = {
+  'Content-Type': 'application/json',
+  'Accept': 'application/json'
+}
+
+response = requests.request('GET', url, headers=headers)
+response.json()
+ +
+ + +
+

Example response (200, Success):

+
+
+
+{
+    "type": "FeatureCollection",
+    "features": [
+        {
+            "type": "Feature",
+            "geometry": {
+                "type": "Point",
+                "coordinates": [
+                    -82.3985,
+                    34.8507
+                ]
+            },
+            "properties": {
+                "title": "Example Location"
+            }
+        }
+    ]
+}
+ 
+
+

Example response (404, Not found):

+
+
+
+{
+    "message": "GeoJSON data not found for this map layer."
+}
+ 
+
+ + +
+

+ Request    + +    + +

+

+ GET + api/v1/map-layers/{mapLayer_slug}/geojson +

+

Headers

+
+ Content-Type   +  +   +   + +
+

Example: application/json

+
+
+ Accept   +  +   +   + +
+

Example: application/json

+
+

URL Parameters

+
+ mapLayer_slug   +string  +   +   + +
+

The slug of the map layer. Example: breweries

+
+
+ diff --git a/routes/web.php b/routes/web.php index cd4d4198..ec403df4 100644 --- a/routes/web.php +++ b/routes/web.php @@ -7,6 +7,7 @@ use App\Http\Controllers\HGNightsController; use App\Http\Controllers\HomeController; use App\Http\Controllers\LabsController; +use App\Http\Controllers\MapLayersController; use App\Http\Controllers\OrgsController; use App\Http\Controllers\SitemapController; use App\Http\Controllers\SlackController; @@ -38,6 +39,7 @@ Route::get('/events', [EventsController::class, 'index'])->name('events.index'); Route::get('/labs', [LabsController::class, 'index'])->name('labs.index'); Route::get('/hg-nights', [HGNightsController::class, 'index'])->name('hg-nights.index'); +Route::get('/map-layers', [MapLayersController::class, 'index'])->name('map-layers.index'); Route::get('/contribute', fn () => view('contribute'))->name('contribute'); Route::get('/about', fn () => view('about'))->name('about'); Route::get('/code-of-conduct', fn () => view('code-of-conduct'))->name('code-of-conduct'); diff --git a/storage/app/geojson/art-galleries.geojson b/storage/app/geojson/art-galleries.geojson new file mode 100644 index 00000000..f5250e66 --- /dev/null +++ b/storage/app/geojson/art-galleries.geojson @@ -0,0 +1,101 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4282965, + 34.8650056 + ] + }, + "properties": { + "title": "White Whale Studios", + "hours": "By Appointment Only", + "type": "Working Studio", + "website": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4283228, + 34.8456578 + ] + }, + "properties": { + "title": "Art & Light Gallery", + "hours": "Tuesday - Friday, 10am-5pm; Saturday 10am-4pm", + "type": "", + "website": "http:\/\/artandlightgallery.com" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4029319, + 34.8563338 + ] + }, + "properties": { + "title": "Greenville Art Museum", + "hours": "Wednesday-Saturday, 10am-6pm; Sunday 1pm-5pm", + "type": "Museum", + "website": "http:\/\/gcma.org\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4346087, + 34.8470759 + ] + }, + "properties": { + "title": "The Artbomb Studios", + "hours": "By Appointment Only", + "type": "Working Studio", + "website": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.432258, + 34.844773 + ] + }, + "properties": { + "title": "Greenville Center for Creative Arts", + "hours": "Monday-Friday, 9-5pm; Saturday 11-3pm", + "type": "", + "website": "https:\/\/artcentergreenville.org" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.43046452, + 34.84897554 + ] + }, + "properties": { + "title": "Inchoate Art Gallery", + "hours": "See website", + "type": "Working Studio", + "website": "https:\/\/www.facebook.com\/inchoateartgallery\/" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/bike-racks.geojson b/storage/app/geojson/bike-racks.geojson new file mode 100644 index 00000000..e253a0e7 --- /dev/null +++ b/storage/app/geojson/bike-racks.geojson @@ -0,0 +1,565 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4001, + 34.84835 + ] + }, + "properties": { + "title": "Bike Rack at City Hall", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3975, + 34.85425 + ] + }, + "properties": { + "title": "NW corner Main\/College", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3984, + 34.85152 + ] + }, + "properties": { + "title": "Coffee Underground", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3987, + 34.85075 + ] + }, + "properties": { + "title": "NE corner Main\/Washington", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3992, + 34.85071 + ] + }, + "properties": { + "title": "Sushi Murisaki (side of)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3999, + 34.85093 + ] + }, + "properties": { + "title": "Barley's Taproom", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3996, + 34.84976 + ] + }, + "properties": { + "title": "NW corner of Main\/McBee", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3979, + 34.84923 + ] + }, + "properties": { + "title": "Jimmy John's Subs", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3991, + 34.84821 + ] + }, + "properties": { + "title": "Connolly's Irish Pub", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4004, + 34.84736 + ] + }, + "properties": { + "title": "Greenville News\/ Main Street", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.402, + 34.84527 + ] + }, + "properties": { + "title": "Michellin on Main", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4018, + 34.84525 + ] + }, + "properties": { + "title": "Spill the Beans", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4021, + 34.84499 + ] + }, + "properties": { + "title": "Main Street\/ Falls Park", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4031, + 34.84454 + ] + }, + "properties": { + "title": "Main Street", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4088, + 34.84276 + ] + }, + "properties": { + "title": "Flour Field\/ Greenville Drive NW", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4075, + 34.84162 + ] + }, + "properties": { + "title": "Flour Field\/ Greenville Drive SE", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4, + 34.84824 + ] + }, + "properties": { + "title": "GrillMarks", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.404, + 34.84439 + ] + }, + "properties": { + "title": "Mellow Mushroom \/ Smoke on the Water", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3985, + 34.85208 + ] + }, + "properties": { + "title": "Mast General Store", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4084, + 34.85278 + ] + }, + "properties": { + "title": "TTR Bikes", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4083, + 34.84348 + ] + }, + "properties": { + "title": "Carolina Triathalon", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2552, + 34.73688 + ] + }, + "properties": { + "title": "Old Rail Station", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2604, + 34.74787 + ] + }, + "properties": { + "title": "Simpsonville Library", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2597, + 34.70582 + ] + }, + "properties": { + "title": "Target\/Starbucks", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3012, + 34.82607 + ] + }, + "properties": { + "title": "Whole Foods", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2503, + 34.74131 + ] + }, + "properties": { + "title": "Simpsonville Park", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4016, + 34.85698 + ] + }, + "properties": { + "title": "Greenville Main Library", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3983, + 34.85512 + ] + }, + "properties": { + "title": "Landmark Bldg - Parking Garage", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3951, + 34.84762 + ] + }, + "properties": { + "title": "McBee Station", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4039, + 34.84884 + ] + }, + "properties": { + "title": "Swamp Rabbit Trail @ Linky Stone Park", + "notes": "Under Academy St.Bridge" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3058, + 34.82925 + ] + }, + "properties": { + "title": "Academy Sports\/Eyes in Motion", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3972, + 34.84652 + ] + }, + "properties": { + "title": "Elliot Davis\/ Broad Street", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4035, + 34.84127 + ] + }, + "properties": { + "title": "County Square", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4096, + 34.82144 + ] + }, + "properties": { + "title": "ISC Building At GMH", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3935, + 34.84763 + ] + }, + "properties": { + "title": "Regents Bank", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.404, + 34.84404 + ] + }, + "properties": { + "title": "Back side of Smoke on the Water and Mellow Mushroom", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4083, + 34.85451 + ] + }, + "properties": { + "title": "Post Office", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.399365, + 34.852059 + ] + }, + "properties": { + "title": "ONE City Plaza \/ Mast General Store", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.399446, + 34.852138 + ] + }, + "properties": { + "title": "ONE City Plaza \/ Richardson Garage", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.399719, + 34.851698 + ] + }, + "properties": { + "title": "Aloft Parking Deck", + "notes": "Covered. Inside Aloft Parking Deck. Entrance between Bank of America and Aloft buildings in ONE Plaza" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/breweries.geojson b/storage/app/geojson/breweries.geojson new file mode 100644 index 00000000..c8176a05 --- /dev/null +++ b/storage/app/geojson/breweries.geojson @@ -0,0 +1,787 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.28459632, + 34.91973462 + ] + }, + "properties": { + "title": "13 Stripes Brewery", + "dog_friendly": "Yes", + "food_on_site": "No", + "srt_accessible": "No", + "website": "https:\/\/www.13stripesbrewery.com" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.34506362, + 34.84650571 + ] + }, + "properties": { + "title": "Quest Brewing Co. (CLOSED - 2021)", + "dog_friendly": "CLOSED", + "food_on_site": "CLOSED", + "srt_accessible": "CLOSED", + "website": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.42358973, + 34.79666406 + ] + }, + "properties": { + "title": "Thomas Creek Brewery - (CLOSED 2025)", + "dog_friendly": "CLOSED", + "food_on_site": "CLOSED", + "srt_accessible": "CLOSED", + "website": "https:\/\/thomascreekbeer.com" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.41585039, + 34.86571071 + ] + }, + "properties": { + "title": "Birds Fly South Ale Project (CLOSED - 2023)", + "dog_friendly": "CLOSED", + "food_on_site": "CLOSED", + "srt_accessible": "CLOSED", + "website": "https:\/\/www.wyff4.com\/article\/birds-fly-south-taproom-greenville-closing\/45373722" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.34903019, + 34.80291206 + ] + }, + "properties": { + "title": "Brewery 85 (CLOSED - 2023)", + "dog_friendly": "CLOSED", + "food_on_site": "CLOSED", + "srt_accessible": "CLOSED", + "website": "https:\/\/www.wyff4.com\/article\/south-carolina-brewery-85-closing\/44054139" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4065378, + 34.83839949 + ] + }, + "properties": { + "title": "The Eighth State Brewing Company (CLOSED - 2024)", + "dog_friendly": "CLOSED", + "food_on_site": "CLOSED", + "srt_accessible": "CLOSED", + "website": "https:\/\/upstatebusinessjournal.com\/eat-drink\/eighth-state-brewing-to-close\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.44263858, + 34.96699931 + ] + }, + "properties": { + "title": "Swamp Rabbit Brewery", + "dog_friendly": "Yes", + "food_on_site": "No", + "srt_accessible": "Yes", + "website": "https:\/\/www.theswamprabbitbrewery.com" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.22619256, + 34.93614952 + ] + }, + "properties": { + "title": "The Blue Ridge Brewing Co.", + "dog_friendly": "No", + "food_on_site": "Yes", + "srt_accessible": "No", + "website": "https:\/\/www.blueridgebrewing.com" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.39589005, + 34.8501757 + ] + }, + "properties": { + "title": "Fireforge Crafted Beer", + "dog_friendly": "Outside", + "food_on_site": "Yes", + "srt_accessible": "Yes", + "website": "https:\/\/www.fireforge.beer" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.37818922, + 34.80589719 + ] + }, + "properties": { + "title": "Shoeless Brewing Co.", + "dog_friendly": "No", + "food_on_site": "No", + "srt_accessible": "No", + "website": "https:\/\/grapeandgrains.com\/brewery\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.33747936, + 34.85105259 + ] + }, + "properties": { + "title": "Iron Hill Brewery and Restaurant - (CLOSED 2025)", + "dog_friendly": "CLOSED", + "food_on_site": "CLOSED", + "srt_accessible": "CLOSED", + "website": "https:\/\/www.ironhillbrewery.com" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.39740281, + 34.86130213 + ] + }, + "properties": { + "title": "Liability Brewing Co.", + "dog_friendly": "Yes", + "food_on_site": "Yes", + "srt_accessible": "Yes", + "website": "https:\/\/liabilitybrewing.co" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.39629605, + 34.848822 + ] + }, + "properties": { + "title": "Yee-Haw Brewing Company", + "dog_friendly": "Yes", + "food_on_site": "Yes", + "srt_accessible": "Yes", + "website": "https:\/\/yeehawbrewing.com" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2583474, + 34.7404822 + ] + }, + "properties": { + "title": "Rail Line Brewing - (CLOSED - 2019)", + "dog_friendly": "CLOSED", + "food_on_site": "CLOSED", + "srt_accessible": "CLOSED", + "website": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.38470963, + 34.85866459 + ] + }, + "properties": { + "title": "Tetrad Brewing Co. - (CLOSED)", + "dog_friendly": "CLOSED", + "food_on_site": "CLOSED", + "srt_accessible": "CLOSED", + "website": "https:\/\/www.wyff4.com\/article\/greenville-tetrad-brewing-new-location\/61107899" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.35939735, + 34.84512898 + ] + }, + "properties": { + "title": "Think Tank Brew Lab - (CLOSED - 2024)", + "dog_friendly": "CLOSED", + "food_on_site": "CLOSED", + "srt_accessible": "CLOSED", + "website": "https:\/\/thinktankbrewlab.com\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.94967026, + 34.68542868 + ] + }, + "properties": { + "title": "Keowee Brewing Company", + "dog_friendly": "Outside", + "food_on_site": "Limited", + "srt_accessible": "No", + "website": "https:\/\/www.facebook.com\/KeoweeBrewing\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.517034, + 34.683379 + ] + }, + "properties": { + "title": "Golden Grove Farm & Brew - (CLOSED - 2024)", + "dog_friendly": "CLOSED", + "food_on_site": "CLOSED", + "srt_accessible": "CLOSED", + "website": "https:\/\/www.wyff4.com\/article\/south-carolina-greenville-business-hiatus-liquor-liability\/46739626" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.92955265, + 34.95247363 + ] + }, + "properties": { + "title": "Ciclops Cyderi & Brewery", + "dog_friendly": "Yes", + "food_on_site": "Yes", + "srt_accessible": "No", + "website": "https:\/\/www.ciclopscyderiandbrewery.com\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.08880091, + 35.04970754 + ] + }, + "properties": { + "title": "Holliday Brewing", + "dog_friendly": "Yes", + "food_on_site": "Yes", + "srt_accessible": "No", + "website": "https:\/\/www.facebook.com\/hollidaybrewing\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.9357928, + 34.94870111 + ] + }, + "properties": { + "title": "RJ Rockers Brewing", + "dog_friendly": "Yes", + "food_on_site": "Yes", + "srt_accessible": "No", + "website": "https:\/\/rjrockers.com\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.98855683, + 35.05242765 + ] + }, + "properties": { + "title": "New Groove Artisan Brewery", + "dog_friendly": "Yes", + "food_on_site": "Yes", + "srt_accessible": "No", + "website": "https:\/\/newgroovebrew.com\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.22466554, + 34.80735084 + ] + }, + "properties": { + "title": "The Beer Den @ Lowes Foods", + "dog_friendly": "No", + "food_on_site": "Yes", + "srt_accessible": "No", + "website": "https:\/\/www.lowesfoods.com\/the-beer-den\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.37181485, + 34.8492526 + ] + }, + "properties": { + "title": "Double Stamp", + "dog_friendly": "Yes", + "food_on_site": "Outside Food Allowed", + "srt_accessible": "Yes", + "website": "https:\/\/www.facebook.com\/doublestampbrewery\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.42720285, + 34.84884276 + ] + }, + "properties": { + "title": "Carolina Bauernhaus - Greenville (CLOSED - 2026)", + "dog_friendly": "CLOSED", + "food_on_site": "CLOSED", + "srt_accessible": "Yes", + "website": "https:\/\/carolinabauernhaus.com\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.65198652, + 34.50564746 + ] + }, + "properties": { + "title": "Carolina Bauernhaus - Anderson", + "dog_friendly": "No", + "food_on_site": "Limited", + "srt_accessible": "No", + "website": "https:\/\/carolinabauernhaus.com\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.95620617, + 35.01135947 + ] + }, + "properties": { + "title": "Plankowner Brewing - (CLOSED - 2024)", + "dog_friendly": "CLOSED", + "food_on_site": "CLOSED", + "srt_accessible": "CLOSED", + "website": "https:\/\/plankownerbrewing.com\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40840729, + 34.85255056 + ] + }, + "properties": { + "title": "Nautic Brewing - (CLOSED - 2019)", + "dog_friendly": "CLOSED", + "food_on_site": "CLOSED", + "srt_accessible": "CLOSED", + "website": "https:\/\/www.greenvilleonline.com\/story\/news\/2019\/04\/29\/nautic-brewing-open-across-miracle-hill-rescue-mission-homeless-shelter-greenville-sc\/3549112002\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.26104549, + 34.9444204 + ] + }, + "properties": { + "title": "Southern Growl", + "dog_friendly": "Yes", + "food_on_site": "Yes", + "srt_accessible": "No", + "website": "https:\/\/thesoutherngrowl.com\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.6101536, + 34.82829438 + ] + }, + "properties": { + "title": "Silos Brewing", + "dog_friendly": "Yes", + "food_on_site": "Yes", + "srt_accessible": "No", + "website": "https:\/\/www.silosbrewing.com\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.22824601, + 34.80615127 + ] + }, + "properties": { + "title": "Five Forks Brewing - (CLOSED - 2022)", + "dog_friendly": "CLOSED", + "food_on_site": "CLOSED", + "srt_accessible": "CLOSED", + "website": "https:\/\/upstatebusinessjournal.com\/eat-drink\/five-forks-brewing-to-close-permanently-friday\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.78541231, + 34.68492879 + ] + }, + "properties": { + "title": "Kite Hill Brewing", + "dog_friendly": "Yes", + "food_on_site": "Yes", + "srt_accessible": "No", + "website": "https:\/\/www.kitehillbrewing.com\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.6529382, + 34.5080901 + ] + }, + "properties": { + "title": "Magnetic South - Anderson", + "dog_friendly": "Yes", + "food_on_site": "Yes", + "srt_accessible": "No", + "website": "https:\/\/magneticsouthbeer.com\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.7826158, + 34.6498049 + ] + }, + "properties": { + "title": "Pendleton Brewing Company (CLOSED - 2023)", + "dog_friendly": "CLOSED", + "food_on_site": "CLOSED", + "srt_accessible": "CLOSED", + "website": "https:\/\/www.postandcourier.com\/greenville\/tapped-out-pendleton-brewery-closes-as-more-businesses-move-to-town\/article_439e47fe-1f41-11ee-bd91-a79b407c2111.html" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.6528116, + 34.5088144 + ] + }, + "properties": { + "title": "Electric City Brewing Company - (CLOSED - 2022)", + "dog_friendly": "CLOSED", + "food_on_site": "CLOSED", + "srt_accessible": "CLOSED", + "website": "https:\/\/www.facebook.com\/electriccitybrewing\/posts\/799620921362593" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.41469451, + 34.85270076 + ] + }, + "properties": { + "title": "Southernside Brewing", + "dog_friendly": "Yes", + "food_on_site": "Yes", + "srt_accessible": "Yes", + "website": "https:\/\/southernsidebrewing.com" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.411848, + 34.874643 + ] + }, + "properties": { + "title": "Black Irish Brewing Company (CLOSED - NEVER OPENED)", + "dog_friendly": "CLOSED", + "food_on_site": "CLOSED", + "srt_accessible": "CLOSED", + "website": "https:\/\/www.facebook.com\/blackirishbrewingco\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.41294358, + 34.85236594 + ] + }, + "properties": { + "title": "Pangaea Brewing", + "dog_friendly": "Yes", + "food_on_site": "Yes", + "srt_accessible": "Yes", + "website": "https:\/\/pangaeabrewing.com" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.27753187, + 34.79539901 + ] + }, + "properties": { + "title": "BridgeWay Brewing Co.", + "dog_friendly": "Yes", + "food_on_site": "Yes", + "srt_accessible": "No", + "website": "https:\/\/bridgewaybrewing.com" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.42907589, + 34.83553023 + ] + }, + "properties": { + "title": "Magnetic South - Greenville - Judson Mill - (CLOSED 2025)", + "dog_friendly": "CLOSED", + "food_on_site": "CLOSED", + "srt_accessible": "CLOSED", + "website": "https:\/\/magneticsouthbeer.com\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.38913175, + 34.88023562 + ] + }, + "properties": { + "title": "Other Lands Brewing", + "dog_friendly": "No", + "food_on_site": "Yes", + "srt_accessible": "No", + "website": "https:\/\/www.otherlandsbrew.com\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.64771491, + 35.07430924 + ] + }, + "properties": { + "title": "Peach City Brewing - (CLOSED - 2024)", + "dog_friendly": "CLOSED", + "food_on_site": "CLOSED", + "srt_accessible": "CLOSED", + "website": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.20090971, + 34.6929663 + ] + }, + "properties": { + "title": "Fountain Inn Brewing Co.", + "dog_friendly": "Yes", + "food_on_site": "Yes", + "srt_accessible": "TBD", + "website": "https:\/\/fountaininnbrewing.com\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40766822, + 34.84386784 + ] + }, + "properties": { + "title": "New Realm Brewing Co.", + "dog_friendly": "Yes", + "food_on_site": "Yes", + "srt_accessible": "Yes", + "website": "https:\/\/newrealmbrewing.com\/greenville\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.06371792, + 34.76453615 + ] + }, + "properties": { + "title": "Freehouse Brewery - Walhalla", + "dog_friendly": "Yes", + "food_on_site": "Yes", + "srt_accessible": "No", + "website": "https:\/\/www.freehousebeer.com\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.38477529, + 34.85847064 + ] + }, + "properties": { + "title": "Wild Yarrow Brewing", + "dog_friendly": "Yes", + "food_on_site": "FOOD TRUCKS", + "srt_accessible": "Yes", + "website": "https:\/\/www.wildyarrowbrewing.com" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/cemeteries.geojson b/storage/app/geojson/cemeteries.geojson new file mode 100644 index 00000000..4b262c8c --- /dev/null +++ b/storage/app/geojson/cemeteries.geojson @@ -0,0 +1,2720 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3259, + 34.7549 + ] + }, + "properties": { + "name": "Adams Family Cemetery", + "reference": "", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4179, + 34.7923 + ] + }, + "properties": { + "name": "Baker's Chapel AME Church Cemetery", + "reference": "Black Church Cemeteries book, 1977 survey (in library SC 929.5 SC Greenville)", + "notes": "1601 White Horse Rd" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2564, + 35.1522 + ] + }, + "properties": { + "name": "Ballew-Pierce Family Cemetery", + "reference": "#53 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.26, + 35.1072 + ] + }, + "properties": { + "name": "Barnett Family Cemetery", + "reference": "#59 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2862, + 35.0146 + ] + }, + "properties": { + "name": "Barton's Memorial Pentecostal Holiness Church Cemetery", + "reference": "Black Church Cemeteries book, 1977 survey (in library SC 929.5 SC Greenville)", + "notes": "3752 N Hwy 101" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2853, + 35.0147 + ] + }, + "properties": { + "name": "Bartons Memorial Church Cemetery", + "reference": "#117 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5183, + 35.0522 + ] + }, + "properties": { + "name": "Bates Family Cemetery", + "reference": "#66 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4411, + 35.1397 + ] + }, + "properties": { + "name": "Belue Family Cemetery", + "reference": "#18 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5361, + 35.0828 + ] + }, + "properties": { + "name": "Benjamin G. Howard Family Cemetery", + "reference": "#64A in Northern Greenville County Cemeteries book, Supplement 2000 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4175, + 34.9903 + ] + }, + "properties": { + "name": "Benson Family Cemetery", + "reference": "#134 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4128, + 34.9542 + ] + }, + "properties": { + "name": "Berryhill Family Cemetery", + "reference": "#144 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4781, + 35.0097 + ] + }, + "properties": { + "name": "Bethany Church Cemetery", + "reference": "#84 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2728, + 34.7779 + ] + }, + "properties": { + "name": "Bethel United Methodist Church", + "reference": "Cemetery Survey book, 1984 (in library SC 929.5 SC Green)", + "notes": "501 Holland Rd" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2864, + 35.0364 + ] + }, + "properties": { + "name": "Blue Ridge Baptist Church Cemetery", + "reference": "#109 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4531, + 35.0889 + ] + }, + "properties": { + "name": "Blythe Family Cemetery", + "reference": "#27 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3856, + 35.0375 + ] + }, + "properties": { + "name": "Boswell Family Cemetery", + "reference": "#93 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2783, + 34.9678 + ] + }, + "properties": { + "name": "Bruce Family Cemetery", + "reference": "#154 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3297, + 35.0542 + ] + }, + "properties": { + "name": "Camp Creek Baptist Church Cemetery", + "reference": "#101 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3356, + 35.0525 + ] + }, + "properties": { + "name": "Cannon Family Cemetery", + "reference": "#100 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5367, + 35.1197 + ] + }, + "properties": { + "name": "Cantrell-Shipman Family Cemetery", + "reference": "#12A in Northern Greenville County Cemeteries book, Supplement 2000 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5186, + 35.1206 + ] + }, + "properties": { + "name": "Capps Family Cemetery", + "reference": "#14 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3508, + 35.0419 + ] + }, + "properties": { + "name": "Chastain Family Cemetery", + "reference": "#94 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3942, + 35.0681 + ] + }, + "properties": { + "name": "Cherry Hill Baptist Church Cemetery", + "reference": "#33 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3953, + 35.9867 + ] + }, + "properties": { + "name": "Clark Family Cemetery", + "reference": "#137 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4097, + 34.9669 + ] + }, + "properties": { + "name": "Clearview Baptist Church Cemetery", + "reference": "#143 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.495, + 35.0219 + ] + }, + "properties": { + "name": "Cleveland Family Cemetery", + "reference": "#73 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5156, + 35.0675 + ] + }, + "properties": { + "name": "Cleveland First Baptist Church Cemetery", + "reference": "#64 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3933, + 35.0847 + ] + }, + "properties": { + "name": "Coleman Family Cemetery", + "reference": "#32 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4769, + 34.9975 + ] + }, + "properties": { + "name": "Coleman Memorial Gardens Cemetery", + "reference": "#126 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4128, + 35.0583 + ] + }, + "properties": { + "name": "Cool Springs Primitive Baptist Church Cemetery", + "reference": "#86 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4814, + 35.07 + ] + }, + "properties": { + "name": "Cox Chapel Baptist Church Cemetery", + "reference": "#76 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5022, + 34.9822 + ] + }, + "properties": { + "name": "Cox Family Cemetery", + "reference": "#123 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2972, + 35.0564 + ] + }, + "properties": { + "name": "Crain Burying Ground Family Cemetery", + "reference": "#106 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4161, + 35.0942 + ] + }, + "properties": { + "name": "Cross Plains Baptist Church Cemetery", + "reference": "#31 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5475, + 35.1042 + ] + }, + "properties": { + "name": "Davenport Family Cemetery", + "reference": "#10 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4139, + 34.9767 + ] + }, + "properties": { + "name": "Dicey Langston Springfield Family Cemetery", + "reference": "#135 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3319, + 34.9814 + ] + }, + "properties": { + "name": "Double Springs Baptist Church Cemetery", + "reference": "#149 in Northern Greenville County Cemeteries book, 1999; Three Greenville County Cemeteries (survey) book, 1973 (in library SC 929.5 SC Greenville)", + "notes": "3800 Locust Hill Rd" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.6514, + 35.0672 + ] + }, + "properties": { + "name": "Douthit Family Cemetery", + "reference": "#1 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5414, + 35.1214 + ] + }, + "properties": { + "name": "Drake Family Cemetery", + "reference": "#12 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2878, + 34.9961 + ] + }, + "properties": { + "name": "Duncan Chapel Pentecostal Holiness Church Cemetery", + "reference": "#149A in Northern Greenville County Cemeteries book, Supplement 2000 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4078, + 34.9567 + ] + }, + "properties": { + "name": "Duncan Family Cemetery", + "reference": "#145 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4725, + 34.9933 + ] + }, + "properties": { + "name": "Ebenezer Baptist Church Cemetery", + "reference": "#127 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2797, + 35.0958 + ] + }, + "properties": { + "name": "Ebenezer Welcome Baptist Church Cemetery", + "reference": "#62 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4289, + 35.0533 + ] + }, + "properties": { + "name": "Edwards-Stroud Family Cemetery", + "reference": "#80 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3272, + 39.1586 + ] + }, + "properties": { + "name": "Emory-Lindsey Family Cemetery", + "reference": "#45 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4036, + 34.9828 + ] + }, + "properties": { + "name": "Enoree Baptist Church Cemetery", + "reference": "#136 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4764, + 34.9683 + ] + }, + "properties": { + "name": "Eubanks (or Ewbanks) Family (Grace Chapel) Cemetery", + "reference": "#130 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3447, + 34.9911 + ] + }, + "properties": { + "name": "Faith Baptist Temple Cemetery", + "reference": "#147 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2214, + 35.115 + ] + }, + "properties": { + "name": "Few (Old) Family Cemetery", + "reference": "#55 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3114, + 35.0303 + ] + }, + "properties": { + "name": "Fews Chapel (Old) Cemetery", + "reference": "#113 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3006, + 35.0358 + ] + }, + "properties": { + "name": "Fews Chapel United Methodist Church Cemetery", + "reference": "#112 in Northern Greenville County Cemeteries book, 1999 & Three Greenville County Cemeteries (survey) book, 1973 (in library SC 929.5 SC Greenville)", + "notes": "4000 N Hwy 101" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3111, + 34.7758 + ] + }, + "properties": { + "name": "First Baptist Church - Mauldin", + "reference": "Cemetery Survey book, 1984 (in library SC 929.5 SC Green)", + "notes": "106 Owens Ln" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3981, + 35.0661 + ] + }, + "properties": { + "name": "Forrest-Southern Family Cemetery", + "reference": "#87 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5819, + 35.0172 + ] + }, + "properties": { + "name": "Friendship Baptist Church Cemetery", + "reference": "#8 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5244, + 35.1272 + ] + }, + "properties": { + "name": "Gap Creek Baptist Church", + "reference": "#13 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3111, + 35.1219 + ] + }, + "properties": { + "name": "Glassy Mountain Baptist Church Cemetery", + "reference": "#42 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3756, + 35.1208 + ] + }, + "properties": { + "name": "Glassy Mountain Church of God Cemetery", + "reference": "#35 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4506, + 35.0694 + ] + }, + "properties": { + "name": "Golden Grove Baptist Church (Old) Cemetery", + "reference": "#78 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4525, + 35.0564 + ] + }, + "properties": { + "name": "Golden Grove Baptist Church Cemetery", + "reference": "#79 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5144, + 35.0064 + ] + }, + "properties": { + "name": "Goodlett Family Cemetery", + "reference": "#74 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4194, + 35.1908 + ] + }, + "properties": { + "name": "Gosnell #1 (Zack) Family Cemetery", + "reference": "#16 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3339, + 35.14 + ] + }, + "properties": { + "name": "Gosnell #2 Family Cemetery", + "reference": "#46 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3747, + 35.1264 + ] + }, + "properties": { + "name": "Gosnell-Pruitt Family Cemetery", + "reference": "#36 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2239, + 35.1183 + ] + }, + "properties": { + "name": "Gowensville Baptist Church Cemetery", + "reference": "#54 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4448, + 34.843 + ] + }, + "properties": { + "name": "Graceland Cemetery West", + "reference": "", + "notes": "4814 White Horse Rd" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2558, + 34.8171 + ] + }, + "properties": { + "name": "Graceland East Memorial Park", + "reference": "", + "notes": "2206 Woodruff Rd" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4567, + 34.9789 + ] + }, + "properties": { + "name": "Grandview Memorial Gardens Cemetery", + "reference": "#129 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3314, + 35.0244 + ] + }, + "properties": { + "name": "Gum Springs Pentecostal Holiness Church Cemetery", + "reference": "#114 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5314, + 35.0119 + ] + }, + "properties": { + "name": "Hall Family Cemetery", + "reference": "#75 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3236, + 35.0514 + ] + }, + "properties": { + "name": "Hanks Family Cemetery", + "reference": "#103 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.615, + 35.0697 + ] + }, + "properties": { + "name": "Hardin Family Cemetery", + "reference": "#3 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.6439, + 35.0622 + ] + }, + "properties": { + "name": "Harkins Family Cemetery", + "reference": "#2 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5108, + 35.0653 + ] + }, + "properties": { + "name": "Hart Family Cemetery", + "reference": "#65 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5508, + 35.1142 + ] + }, + "properties": { + "name": "Hart-Jones Family (Salem) Cemetery", + "reference": "#11 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3264, + 35.1331 + ] + }, + "properties": { + "name": "Hensley Family Cemetery", + "reference": "#43 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3228, + 35.0867 + ] + }, + "properties": { + "name": "Highland Baptist Church Cemetery", + "reference": "#41 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3283, + 35.0897 + ] + }, + "properties": { + "name": "Highland Church of God Cemetery", + "reference": "#40 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2675, + 35.0806 + ] + }, + "properties": { + "name": "Highland Church of God of Prophecy Cemetery", + "reference": "#118 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4531, + 35.1369 + ] + }, + "properties": { + "name": "Hightower-Hagood Family Cemetery", + "reference": "#19 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4447, + 35.1131 + ] + }, + "properties": { + "name": "Hightower-Hagood Family Cemetery", + "reference": "#22 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4475, + 35.1028 + ] + }, + "properties": { + "name": "Hilltop-Garland Family Cemetery", + "reference": "#24 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3828, + 35.1808 + ] + }, + "properties": { + "name": "Hood-Morgan Family Cemetery", + "reference": "#47 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3503, + 35.1139 + ] + }, + "properties": { + "name": "Howard (Capt. Thomas) Family Cemetery", + "reference": "#38 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.1586, + 34.7597 + ] + }, + "properties": { + "name": "Hunter-Gilbert Family Cemetery", + "reference": "Three Greenville County Cemeteries (survey) book, 1974 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land; approximate location" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3119, + 35.0525 + ] + }, + "properties": { + "name": "Jackson Family Cemetery", + "reference": "#104 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3056, + 35.0614 + ] + }, + "properties": { + "name": "Jackson Family Cemetery", + "reference": "#105 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3561, + 34.9747 + ] + }, + "properties": { + "name": "Jackson Grove United Methodist Church Cemetery", + "reference": "#141 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3553, + 34.9736 + ] + }, + "properties": { + "name": "Jenkins (Rolly) Family Cemetery", + "reference": "#142 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3121, + 34.9567 + ] + }, + "properties": { + "name": "Jubilee Baptist Church Cemetery", + "reference": "Black Church Cemeteries book, 1977 survey; #151 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "525 Old Rutherford Rd" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2753, + 35.0978 + ] + }, + "properties": { + "name": "Kitchen Patch Cemetery", + "reference": "#61 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4858, + 35.1531 + ] + }, + "properties": { + "name": "Landrum Johnson Family Cemetery", + "reference": "#15A in Northern Greenville County Cemeteries book, Supplement 2000 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2478, + 35.0858 + ] + }, + "properties": { + "name": "Liberty United Methodist Church Cemetery", + "reference": "#57 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4511, + 35.0867 + ] + }, + "properties": { + "name": "Lima Baptist Church", + "reference": "#28 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2494, + 35.0983 + ] + }, + "properties": { + "name": "Lister Family Cemetery", + "reference": "#58 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3794, + 35.0161 + ] + }, + "properties": { + "name": "Locust Hill Baptist Church Cemetery", + "reference": "#99 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3047, + 35.0428 + ] + }, + "properties": { + "name": "Loftis Family Cemetery", + "reference": "#111 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4933, + 35.0206 + ] + }, + "properties": { + "name": "Marietta First Baptist Church Cemetery", + "reference": "#72 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5056, + 35.0369 + ] + }, + "properties": { + "name": "Marietta First Freewill Baptist Church Cemetery", + "reference": "#69 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3069, + 34.7786 + ] + }, + "properties": { + "name": "Mauldin United Methodist Church", + "reference": "Cemetery Survey book, 1984 (in library SC 929.5 SC Green)", + "notes": "100 E Butler Rd" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.59, + 35.0156 + ] + }, + "properties": { + "name": "Mayfield Family Cemetery", + "reference": "#9 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4953, + 34.9561 + ] + }, + "properties": { + "name": "McCarrell Family Cemetery", + "reference": "#125 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.6086, + 35.0744 + ] + }, + "properties": { + "name": "McJunkin Family Cemetery", + "reference": "#4 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5358, + 35.0497 + ] + }, + "properties": { + "name": "McJunkin Family Cemetery", + "reference": "#67 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.39, + 35.0483 + ] + }, + "properties": { + "name": "Meadow Fork Baptist Church Cemetery", + "reference": "#91 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2847, + 34.9783 + ] + }, + "properties": { + "name": "Milford Baptist Church Cemetery", + "reference": "#150 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5825, + 35.0431 + ] + }, + "properties": { + "name": "Moody-Turner-Anders-Rowland Family Cemetery", + "reference": "#7 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3153, + 35.0014 + ] + }, + "properties": { + "name": "Moon Family Cemetery", + "reference": "#146 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2442, + 34.9792 + ] + }, + "properties": { + "name": "Mosteller Family Cemetery", + "reference": "#155 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4836, + 35.0114 + ] + }, + "properties": { + "name": "Mount Ararat Baptist Church Cemetery", + "reference": "#83 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4481, + 35.1 + ] + }, + "properties": { + "name": "Mount Carmel United Methodist Church", + "reference": "#25 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2356, + 35.0322 + ] + }, + "properties": { + "name": "Mount Lebanon Baptist Church Cemetery", + "reference": "#120 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5053, + 35.0478 + ] + }, + "properties": { + "name": "Mount Pilgrim Baptist Church Cemetery", + "reference": "#68 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3544, + 35.1156 + ] + }, + "properties": { + "name": "Mount Pleasant Baptist Church Cemetery", + "reference": "#37 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4025, + 35.025 + ] + }, + "properties": { + "name": "Mountain Grove Church Cemetery", + "reference": "#97 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3311, + 35.1464 + ] + }, + "properties": { + "name": "Mountain Hill Baptist Church Cemetery", + "reference": "#44 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3572, + 35.0317 + ] + }, + "properties": { + "name": "Mountain View United Methodist Church Cemetery", + "reference": "#96 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2206, + 35.09 + ] + }, + "properties": { + "name": "Mountan View Church of God of Prophecy Cemetery", + "reference": "#56 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4942, + 35.15 + ] + }, + "properties": { + "name": "Mullinax-Johnson Family Cemetery", + "reference": "#15 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3833, + 35.0469 + ] + }, + "properties": { + "name": "Mush Creek Baptist Church Cemetery", + "reference": "#92 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4289, + 35.0386 + ] + }, + "properties": { + "name": "New Liberty Baptist Church Cemetery", + "reference": "#81 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2015, + 34.7649 + ] + }, + "properties": { + "name": "New Pilgrim Baptist Church Cemetery", + "reference": "Black Church Cemeteries book, 1977 survey (in library SC 929.5 SC Greenville)", + "notes": "105 Bethany Rd" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3394, + 35.0817 + ] + }, + "properties": { + "name": "New Salem Baptist Church Cemetery", + "reference": "#39 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4128, + 35.1372 + ] + }, + "properties": { + "name": "North Fork Baptist Church", + "reference": "#30 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2431, + 35.1681 + ] + }, + "properties": { + "name": "Oak Grove Baptist Church Cemetery", + "reference": "#52 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.1968, + 34.7928 + ] + }, + "properties": { + "name": "Old Pilgrim Baptist Church Cemetery", + "reference": "Black Church Cemeteries book, 1977 survey (in library SC 929.5 SC Greenville)", + "notes": "3540 Woodruff Rd" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2756, + 35.0147 + ] + }, + "properties": { + "name": "Oneal Church of God Cemetery", + "reference": "#122 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4725, + 35.0553 + ] + }, + "properties": { + "name": "Parnell-Couch Family Cemetery", + "reference": "#77 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2894, + 35.0417 + ] + }, + "properties": { + "name": "Pennington Family Cemetery", + "reference": "#110 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3889, + 35.0058 + ] + }, + "properties": { + "name": "Petty-Pool Family Cemetery", + "reference": "#138 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4483, + 35.0914 + ] + }, + "properties": { + "name": "Pickett Family Cemetery", + "reference": "#26 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2856, + 35.0639 + ] + }, + "properties": { + "name": "Pleasant Hill Baptist Church Cemetery", + "reference": "#108 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4664, + 35.0125 + ] + }, + "properties": { + "name": "Pleasant View Baptist Church Cemetery", + "reference": "#85 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3842, + 34.9797 + ] + }, + "properties": { + "name": "Pool Family Cemetery", + "reference": "#140 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2756, + 35.0128 + ] + }, + "properties": { + "name": "Potters Field Cemetery", + "reference": "#121 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4611, + 34.9806 + ] + }, + "properties": { + "name": "Powell Family Cemetery", + "reference": "#128 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4358, + 35.1433 + ] + }, + "properties": { + "name": "Pruitt Family Cemetery", + "reference": "#17 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2406, + 34.9775 + ] + }, + "properties": { + "name": "Rector Family Cemetery", + "reference": "#156 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4119, + 35.1811 + ] + }, + "properties": { + "name": "Reid #1 Family Cemetery", + "reference": "#49 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4194, + 35.1781 + ] + }, + "properties": { + "name": "Reid #2 Family Cemetery", + "reference": "#50 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3944, + 35.1728 + ] + }, + "properties": { + "name": "Revis Family Cemetery", + "reference": "#48 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3857, + 34.8564 + ] + }, + "properties": { + "name": "Richland Cemetery", + "reference": "", + "notes": "Sunflower St; on National Register of Historic Places" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2697, + 35.1956 + ] + }, + "properties": { + "name": "Rock Springs Baptist Church Cemetery", + "reference": "#51 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2781, + 34.9917 + ] + }, + "properties": { + "name": "Rush Family Cemetery", + "reference": "#153 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3831, + 34.9864 + ] + }, + "properties": { + "name": "Saint Luke United Methodist Church Cemetery", + "reference": "#139 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2939, + 35.0211 + ] + }, + "properties": { + "name": "Saint Paul's United Methodist Church Cemetery", + "reference": "#116 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4288, + 34.8023 + ] + }, + "properties": { + "name": "Salem United Methodist Church", + "reference": "Salem United Methodist Church Cemetery Directory book, 2010 (in library SC 929.5 SC Greenville)", + "notes": "2700 White Horse Rd" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4575, + 35.0383 + ] + }, + "properties": { + "name": "Salmon (George) Family Cemetery", + "reference": "#82 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4256, + 35.0083 + ] + }, + "properties": { + "name": "Sheldon Famly Cemetery", + "reference": "#133 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4928, + 35.0394 + ] + }, + "properties": { + "name": "Slater Church of God Cemetery", + "reference": "#70 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5703, + 35.0586 + ] + }, + "properties": { + "name": "South Saluda Church Cemetery", + "reference": "#6 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.397, + 34.8549 + ] + }, + "properties": { + "name": "Springwood Cemetery", + "reference": "Springwood Cemetery Interment Locator book (in library SC 929.5 SC Green)", + "notes": "410 N Main St; on National Register of Historic Places" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2932, + 35.0211 + ] + }, + "properties": { + "name": "St Paul's Methodist Church Cemetery", + "reference": "Black Church Cemeteries book, 1977 survey (in library SC 929.5 SC Greenville)", + "notes": "3856 N Hwy 101" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3835, + 34.9865 + ] + }, + "properties": { + "name": "St. Luke's Methodist Church Cemetery", + "reference": "Black Church Cemeteries book, 1977 survey (in library SC 929.5 SC Greenville)", + "notes": "280 Pine Log Ford Rd" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3009, + 34.9539 + ] + }, + "properties": { + "name": "St. Mark United Methodist Church Cemetery", + "reference": "Black Church Cemeteries book, 1977 survey (in library SC 929.5 SC Greenville)", + "notes": "911 St Mark Rd" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3247, + 35.0483 + ] + }, + "properties": { + "name": "Staton Family Cemetery", + "reference": "#102 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2617, + 35.0492 + ] + }, + "properties": { + "name": "Stokes (T.H.) Family Cemetery", + "reference": "#119 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2797, + 35.0744 + ] + }, + "properties": { + "name": "Suddeth Family Cemetery", + "reference": "#107 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4128, + 35.0225 + ] + }, + "properties": { + "name": "Talley Family Cemetery", + "reference": "#98 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3939, + 35.0519 + ] + }, + "properties": { + "name": "Taylor-McKinney Family Cemetery", + "reference": "#90 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.445, + 35.1275 + ] + }, + "properties": { + "name": "Terry Creek Pentecostal Holiness Church", + "reference": "#20 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4456, + 35.1197 + ] + }, + "properties": { + "name": "Terry Family Cemetery", + "reference": "#21 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3647, + 35.0717 + ] + }, + "properties": { + "name": "Tigerville Baptist Church Cemetery", + "reference": "#88 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4453, + 35.085 + ] + }, + "properties": { + "name": "Trammell Family Cemetery", + "reference": "#29 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5047, + 34.9717 + ] + }, + "properties": { + "name": "Travelers Rest Church of the Brethren Cemetery", + "reference": "#124 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4467, + 34.9669 + ] + }, + "properties": { + "name": "Travelers Rest First Baptist Church Cemetery", + "reference": "#131 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4431, + 34.9647 + ] + }, + "properties": { + "name": "Travelers Rest United Methodist Church Cemetery", + "reference": "#132 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3822, + 35.1161 + ] + }, + "properties": { + "name": "Turner Family Cemetery", + "reference": "#34 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3542, + 35.0772 + ] + }, + "properties": { + "name": "Tyger Baptist Church Cemetery", + "reference": "#89 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4478, + 35.1125 + ] + }, + "properties": { + "name": "Unknown Family Cemetery", + "reference": "#23 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.265, + 35.1106 + ] + }, + "properties": { + "name": "Unknown Family Cemetery", + "reference": "#60 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2808, + 35.0986 + ] + }, + "properties": { + "name": "Unknown Family Cemetery", + "reference": "#63 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4958, + 35.0253 + ] + }, + "properties": { + "name": "Unknown Family Cemetery", + "reference": "#71 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3592, + 35.0367 + ] + }, + "properties": { + "name": "Unknown Family Cemetery", + "reference": "#95 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3386, + 35.0061 + ] + }, + "properties": { + "name": "Unknown Family Cemetery", + "reference": "#115 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.6042, + 35.0711 + ] + }, + "properties": { + "name": "Waldrop Family Cemetery", + "reference": "#5 in Northern Greenville County Cemeteries book (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2542, + 34.9981 + ] + }, + "properties": { + "name": "Washington Baptist Church", + "reference": "#152 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5353, + 35.1078 + ] + }, + "properties": { + "name": "William W. Cantrell, Jr. Gravesite", + "reference": "#10A in Northern Greenville County Cemeteries book, Supplement 2000 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3314, + 34.9861 + ] + }, + "properties": { + "name": "Wilson Family Cemetery", + "reference": "#148 in Northern Greenville County Cemeteries book, 1999 (in library SC 929.5 SC Greenville)", + "notes": "Make sure you get permission before entering private land." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.299, + 34.924 + ] + }, + "properties": { + "name": "Aiken Chapel Baptish Church Cemetery", + "reference": "", + "notes": "101 Aiken Chapel Rd" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.409, + 34.881 + ] + }, + "properties": { + "name": "American Spinning Cemetery", + "reference": "aka Sampson Cemetery", + "notes": "Fair St" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.351, + 34.737 + ] + }, + "properties": { + "name": "Antioch Christian Church Cemetery", + "reference": "", + "notes": "1600 Fork Shoals Rd" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/city-halls.geojson b/storage/app/geojson/city-halls.geojson new file mode 100644 index 00000000..356db673 --- /dev/null +++ b/storage/app/geojson/city-halls.geojson @@ -0,0 +1,110 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.400133, + 34.848212 + ] + }, + "properties": { + "title": "Greenville City Hall", + "address": "206 S Main St #10 Greenville, SC 29601", + "phone": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.308584, + 34.778709 + ] + }, + "properties": { + "title": "Mauldin City Hall", + "address": "5 E Butler Rd Mauldin, SC 29662", + "phone": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2556, + 34.738363 + ] + }, + "properties": { + "title": "Simpsonville City Hall", + "address": "118 NE Main St Simpsonville, SC 29681", + "phone": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.200906, + 34.694737 + ] + }, + "properties": { + "title": "Fountain Inn City Hall", + "address": "200 N Main St Fountain Inn, SC 29644", + "phone": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.227002, + 34.938644 + ] + }, + "properties": { + "title": "Greer City Hall", + "address": "301 E Poinsett St Greer, SC 29651", + "phone": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.931915, + 34.957995 + ] + }, + "properties": { + "title": "Spartanburg City Hall", + "address": "145 W Broad St, Spartanburg, SC 29306", + "phone": "(864) 596-2019" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.846527, + 34.698719 + ] + }, + "properties": { + "title": "Clemson City Hall", + "address": "1250 Tiger Blvd # 1, Clemson, SC 29631", + "phone": "" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/city-parks-greenville.geojson b/storage/app/geojson/city-parks-greenville.geojson new file mode 100644 index 00000000..fce06e20 --- /dev/null +++ b/storage/app/geojson/city-parks-greenville.geojson @@ -0,0 +1,313 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4013462, + 34.8444786 + ] + }, + "properties": { + "title": "Falls Park on the Reedy", + "address": "601 South Main Street" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3897504, + 34.8443263 + ] + }, + "properties": { + "title": "Cleveland Park", + "address": "2 Cleveland Park" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3303964, + 34.8252374 + ] + }, + "properties": { + "title": "Legacy Park", + "address": "320 Rocky Slope Rd" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3999183, + 34.8421905 + ] + }, + "properties": { + "title": "Cancer Survivors Park", + "address": "24 Cleveland Park" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3526897, + 34.8296114 + ] + }, + "properties": { + "title": "Gower Estates Park", + "address": "24 Evelyn Ave" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3965276, + 34.8570962 + ] + }, + "properties": { + "title": "McPherson Park", + "address": "120 E Park Ave" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4057924, + 34.8569792 + ] + }, + "properties": { + "title": "Timmons Park", + "address": "121 Oxford S" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3697166, + 34.880164 + ] + }, + "properties": { + "title": "Holmes Park", + "address": "112 holmes park" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3994697, + 34.8647744 + ] + }, + "properties": { + "title": "Croft Park", + "address": "116 Croft St" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3808267, + 34.887196 + ] + }, + "properties": { + "title": "Croftstone Park", + "address": "118 Broughton Drive" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3797447, + 34.810042 + ] + }, + "properties": { + "title": "Gatlin Park", + "address": "2 Sylvan Drive" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.382987, + 34.811964 + ] + }, + "properties": { + "title": "Kiwanis Park", + "address": "2 Old Augusta Rd" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4058876, + 34.8378297 + ] + }, + "properties": { + "title": "Ella Mae Logan Park", + "address": "Howe St" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4145319, + 34.8512206 + ] + }, + "properties": { + "title": "Mayberry Park", + "address": "70 mayberry street" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4114987, + 34.861092 + ] + }, + "properties": { + "title": "Pinckney Fludd Park", + "address": "400 Pinckney Street" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3852247, + 34.857731 + ] + }, + "properties": { + "title": "Railroad Mini Park", + "address": "32 Becker Street" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3930227, + 34.814498 + ] + }, + "properties": { + "title": "Rockwood Park", + "address": "Rockwood Rd." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3714307, + 34.8452729 + ] + }, + "properties": { + "title": "Skyland Park", + "address": "37 Skyland Rd." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4035097, + 34.834297 + ] + }, + "properties": { + "title": "Tindale Park", + "address": "37 Tindale Av." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.373285, + 34.87418 + ] + }, + "properties": { + "title": "University Park", + "address": "101 brookside circle" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4015653, + 34.8600059 + ] + }, + "properties": { + "title": "Viola\/Thompson Gardner Park", + "address": "218 Viola St" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4106805, + 34.8566279 + ] + }, + "properties": { + "title": "West Washingon Park", + "address": "W Washington between Hudson and Mulberry" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/community-gardens.geojson b/storage/app/geojson/community-gardens.geojson new file mode 100644 index 00000000..074dc857 --- /dev/null +++ b/storage/app/geojson/community-gardens.geojson @@ -0,0 +1,929 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4182316, + 35.0230971 + ] + }, + "properties": { + "title": "Kappa Alpha Community Garden", + "notes": "Community Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.476449, + 34.9977641 + ] + }, + "properties": { + "title": "Heritage Elementary Garden", + "notes": "Youth Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4530149, + 34.9709597 + ] + }, + "properties": { + "title": "Travelers Rest High School Garden", + "notes": "Youth Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4417819, + 34.9520462 + ] + }, + "properties": { + "title": "Kierke-Garden (Vista House)", + "notes": "Faith-Based Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.445225, + 34.9415151 + ] + }, + "properties": { + "title": "Phoenix Academy Garden", + "notes": "Youth Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4340232, + 34.9379082 + ] + }, + "properties": { + "title": "Redeemer Presbyterian Community Garden", + "notes": "Faith-Based Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4379227, + 34.9275332 + ] + }, + "properties": { + "title": "Furman University Farm", + "notes": "Urban Farm" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4653017, + 34.9107284 + ] + }, + "properties": { + "title": "A Child's Haven Garden", + "notes": "Non-Profit Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4302192, + 34.9096717 + ] + }, + "properties": { + "title": "Duncan Chapel Elementary School Garden", + "notes": "Youth Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2465579, + 34.9202118 + ] + }, + "properties": { + "title": "Greer Community Garden", + "notes": "Community Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3717735, + 34.8864763 + ] + }, + "properties": { + "title": "Miracle Hill Overcomer's Community Garden", + "notes": "Community Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3880632, + 34.8663691 + ] + }, + "properties": { + "title": "North Main Community Garden", + "notes": "Community Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4062101, + 34.8416291 + ] + }, + "properties": { + "title": "FunnelDelicious Community Garden", + "notes": "Community Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4236254, + 34.840376 + ] + }, + "properties": { + "title": "Bon Secours St. Francis Community Garden", + "notes": "Community Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3904447, + 34.8238226 + ] + }, + "properties": { + "title": "Meals on Wheels Community Garden", + "notes": "Community Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3875867, + 34.7886734 + ] + }, + "properties": { + "title": "Upstate Circle of Friends Garden", + "notes": "Community Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.251511, + 34.739457 + ] + }, + "properties": { + "title": "Simpsonville Harmony Garden", + "notes": "Community Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.340317, + 34.899284 + ] + }, + "properties": { + "title": "Cornerstone Community Garden", + "notes": "Faith-Based Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.344017, + 34.882765 + ] + }, + "properties": { + "title": "Aldersgate UMC Community Garden", + "notes": "Faith-Based Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.34689, + 34.881965 + ] + }, + "properties": { + "title": "First Christian Church Community Garden", + "notes": "Faith-Based Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3124906, + 34.8694324 + ] + }, + "properties": { + "title": "St. Peter's Episcopal Church Garden", + "notes": "Faith-Based Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.403916, + 34.861853 + ] + }, + "properties": { + "title": "Triune Mercy Center Community Garden", + "notes": "Faith-Based Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.417402, + 34.848462 + ] + }, + "properties": { + "title": "St. Anthony of Padua Community Garden", + "notes": "Faith-Based Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.43745, + 34.834342 + ] + }, + "properties": { + "title": "First Weslyan Church", + "notes": "Faith-Based Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2786164, + 34.9991773 + ] + }, + "properties": { + "title": "O'Neal Village", + "notes": "Neighborhood Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.414417, + 34.887578 + ] + }, + "properties": { + "title": "Sans Souci Community Garden", + "notes": "Neighborhood Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.373894, + 34.8618449 + ] + }, + "properties": { + "title": "Issaqueena Park Community Garden", + "notes": "Neighborhood Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3798408, + 34.8619002 + ] + }, + "properties": { + "title": "Greenline Spartanburg Community Garden", + "notes": "Neighborhood Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4396476, + 34.8450694 + ] + }, + "properties": { + "title": "Freetown Community Garden", + "notes": "Neighborhood Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.42413, + 34.843944 + ] + }, + "properties": { + "title": "Westview Homes", + "notes": "Neighborhood Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4129851, + 34.8417008 + ] + }, + "properties": { + "title": "West End Community Garden", + "notes": "Neighborhood Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4202663, + 34.8352204 + ] + }, + "properties": { + "title": "Odessa St Community Garden", + "notes": "Neighborhood Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4281432, + 34.8327718 + ] + }, + "properties": { + "title": "Judson Community Garden", + "notes": "Neighborhood Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4053182, + 34.837105 + ] + }, + "properties": { + "title": "Chicora Crest Community Gardens", + "notes": "Neighborhood Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4219243, + 34.8255256 + ] + }, + "properties": { + "title": "Dunean Historical Society Community Garden", + "notes": "Neighborhood Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.378692, + 34.841424 + ] + }, + "properties": { + "title": "Nicholtown Historical Garden", + "notes": "Neighborhood Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.41239, + 34.84559 + ] + }, + "properties": { + "title": "Project Host Garden", + "notes": "Non-Profit Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3796533, + 34.835395 + ] + }, + "properties": { + "title": "Annie's House Garden", + "notes": "Non-Profit Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4249192, + 34.8287861 + ] + }, + "properties": { + "title": "Serenity Place Garden", + "notes": "Non-Profit Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4121342, + 34.834178 + ] + }, + "properties": { + "title": "Mill Village Farm (Sullivan Street Farm)", + "notes": "Urban Farm" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3126664, + 34.8400118 + ] + }, + "properties": { + "title": "Heritage Garden at Roper Mountain Living History Farm", + "notes": "Urban Farm" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.412409, + 34.85782 + ] + }, + "properties": { + "title": "GOFO Office Garden", + "notes": "Workspace Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4116229, + 34.8214951 + ] + }, + "properties": { + "title": "Greenville Medical Roots Garden (USC School of Medicine)", + "notes": "Workspace Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3732503, + 34.8271333 + ] + }, + "properties": { + "title": "Barton Campus Community Garden (Greenville Technical College)", + "notes": "Workspace Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3686693, + 34.809018 + ] + }, + "properties": { + "title": "South Pleasntburg Community Garden", + "notes": "Workspace Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3221127, + 34.8171534 + ] + }, + "properties": { + "title": "Hubbell Lighting Community Garden", + "notes": "Workspace Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3103016, + 34.9105872 + ] + }, + "properties": { + "title": "Brook Glenn Elementary School Garden", + "notes": "Youth Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3659223, + 34.9067793 + ] + }, + "properties": { + "title": "Sevier Middle School Garden", + "notes": "Youth Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4157534, + 34.8837791 + ] + }, + "properties": { + "title": "Cherrydale Elementary School Garden", + "notes": "Youth Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4392482, + 34.8689189 + ] + }, + "properties": { + "title": "Monaview Elementary School Garden", + "notes": "Youth Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4140863, + 34.8613843 + ] + }, + "properties": { + "title": "Youth Base", + "notes": "Youth Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4204383, + 34.8608759 + ] + }, + "properties": { + "title": "Legacy Charter Elementary Garden", + "notes": "Youth Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4272907, + 34.8502274 + ] + }, + "properties": { + "title": "West Greenville High School", + "notes": "Youth Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4457838, + 34.8210789 + ] + }, + "properties": { + "title": "Welcome Elementary", + "notes": "Youth Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4114081, + 34.847572 + ] + }, + "properties": { + "title": "A.J. Whittenberg Elementary School", + "notes": "Youth Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3731597, + 34.8589784 + ] + }, + "properties": { + "title": "East North Academy of Mathematics and Science", + "notes": "Youth Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.303607, + 34.8557239 + ] + }, + "properties": { + "title": "GREEN Charter School", + "notes": "Youth Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2738457, + 34.8416941 + ] + }, + "properties": { + "title": "Shannon Forest Christian School Garden", + "notes": "Youth Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3874941, + 34.8358702 + ] + }, + "properties": { + "title": "YMCA of Greenville - Caine Halter", + "notes": "Youth Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3967117, + 34.8206884 + ] + }, + "properties": { + "title": "Augusta Circle Elementary School Garden", + "notes": "Youth Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.404872, + 34.7965 + ] + }, + "properties": { + "title": "Southside High School Garden", + "notes": "Youth Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3870132, + 34.788335 + ] + }, + "properties": { + "title": "Lead Academy Student Garden", + "notes": "Youth Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3867078, + 34.8043786 + ] + }, + "properties": { + "title": "Pleasant Valley Community Garden", + "notes": "Youth Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3049217, + 34.7589114 + ] + }, + "properties": { + "title": "Greenbriar Elementary Garden", + "notes": "Youth Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2854667, + 34.7321234 + ] + }, + "properties": { + "title": "Plain Elementary School Garden", + "notes": "Youth Garden" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2362581, + 34.8062657 + ] + }, + "properties": { + "title": "Goddard School Garden", + "notes": "Youth Garden" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/coworking-spaces.geojson b/storage/app/geojson/coworking-spaces.geojson new file mode 100644 index 00000000..b6b5723f --- /dev/null +++ b/storage/app/geojson/coworking-spaces.geojson @@ -0,0 +1,533 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.399678, + 34.852022 + ] + }, + "properties": { + "title": "OpenWorks", + "focus": "Member-run cowork and meetup space w\/ 24\/7 access and affordable options", + "url": "https:\/\/joinopenworks.com", + "address": "101 N Main Street, Suite 302 (3rd floor) Greenville, SC 29601" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.431936, + 34.844284 + ] + }, + "properties": { + "title": "Atlas Local", + "focus": "Technology, design, and business", + "url": "http:\/\/atlaslocal.com", + "address": "25 Draper Street (within Brandon Mill) Greenville, SC 29611" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.39885018, + 34.85141886 + ] + }, + "properties": { + "title": "(CLOSED) Endeavor", + "focus": "(CLOSED) Marketing-focused", + "url": "", + "address": "1 N Main Street, 4th floor Greenville, SC 29601" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.429741, + 34.847754 + ] + }, + "properties": { + "title": "(CLOSED) Textile Hall", + "focus": "Social entrepreneurs", + "url": "", + "address": "582 Perry Ave Greenville, SC 29611" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.34302731, + 34.84861582 + ] + }, + "properties": { + "title": "Synergy Mill", + "focus": "Makerspace", + "url": "https:\/\/synergymill.com", + "address": "31 Cessna Ct, Greenville, SC 29607" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.414783, + 34.849439 + ] + }, + "properties": { + "title": "(CLOSED) Brickyard Greenville", + "focus": "(CLOSED) Early Stage Startup, Emerging Growth Company, and Entrepreneur Community Space", + "url": "", + "address": "400 Birnie Street Greenville, SC 29611" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.423414, + 34.8431 + ] + }, + "properties": { + "title": "(CLOSED) Serendipity Labs", + "focus": "(CLOSED) (converted to Venture X Greenville - Plush Mills)", + "url": "", + "address": "200 Easley Bridge Rd, Greenville, SC 29611" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3969947, + 34.8529614 + ] + }, + "properties": { + "title": "Regus Noma Square", + "focus": "Virutal offices, daily pricing", + "url": "https:\/\/www.regus.com\/en-us\/united-states\/south-carolina\/greenville\/noma-tower-2162", + "address": "220 North Main Street, Suite 500, Greenville, SC 29601" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2286668, + 34.936673 + ] + }, + "properties": { + "title": "(CLOSED) Insight Onsite Coworking", + "focus": "(CLOSED) Coworking in Greer", + "url": "", + "address": "228 Trade Street Greer, SC 29651" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4007448, + 34.846387 + ] + }, + "properties": { + "title": "Spaces Falls Tower", + "focus": "Global office, coworking, and meeting room brand", + "url": "https:\/\/www.spacesworks.com\/greenville\/falls-tower\/", + "address": "423 S. Main St 1st & 2nd Floor Greenville, SC 29601" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.380627, + 34.774988 + ] + }, + "properties": { + "title": "(CLOSED) The CoLab", + "focus": "(CLOSED) Daily passes, desks, offices, paid conference space near I-85", + "url": "https:\/\/www.facebook.com\/thecolabgreenville\/", + "address": "1 McNeese Dr. Greenville, SC 29605" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4231434, + 34.8433321 + ] + }, + "properties": { + "title": "Venture X Greenville - Plush Mills", + "focus": "Coworking, Virtual Office, Event Space", + "url": "https:\/\/venturex.com\/locations\/south-carolina\/greenville-plush-mills\/", + "address": "141 Traction Street Greenville, SC 29611" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.41499081, + 34.85290021 + ] + }, + "properties": { + "title": "(CLOSED) ComRADery \/ The Wheel House", + "focus": "(CLOSED) Coworking Space attached to the RADICAL marketing company space . Previously called The Wheelhouse", + "url": "", + "address": "25 Delano Dr UNIT A, Greenville, SC 29601" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2424698, + 34.9530485 + ] + }, + "properties": { + "title": "Bellamore", + "focus": "Our co-sharing space is a functional 1,000 square foot room designed for productivity.", + "url": "https:\/\/www.thebellamore.com\/corporate", + "address": "552 Memorial Drive Extension, Greer, SC" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3694571, + 34.845582 + ] + }, + "properties": { + "title": "(CLOSED) \u00c9leos Coworking", + "focus": "(CLOSED) Merged into Harbor. Non-profit with community development such as tutoring, mentoring, bible study, career readiness.", + "url": "https:\/\/eleosgvl.org\/co-op\/", + "address": "1220 B Laurens Road, Greenville, SC 29607" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3685143, + 34.8435616 + ] + }, + "properties": { + "title": "(CLOSED) Nectar", + "focus": "Women and gender expansive folx", + "url": "https:\/\/www.nectarcommunity.com\/", + "address": "219 W Antrim Dr Suite #G, Greenville, SC 29607" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.404833, + 34.874809 + ] + }, + "properties": { + "title": "Flywheel", + "focus": "Coworking with startup acceleration resources within the Crescent Startup Community development.", + "url": "https:\/\/www.flywheelgreenvillesc.com\/coworking-greenville\/", + "address": "Poinsett Highway and Hammett St. Extension, Greenville, SC" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.42728463, + 34.83650615 + ] + }, + "properties": { + "title": "Jud Hub", + "focus": "Nonprofits, social entrepreneurs, & mission-driven companies", + "url": "https:\/\/judhub.com\/", + "address": "701 Easley Bridge Road Greenville, SC 29611" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.277918, + 34.794294 + ] + }, + "properties": { + "title": "The Worx at Bridgeway Station", + "focus": "Collaborative environment for entrepreneurs, small businesses, and hybrid workers.", + "url": "https:\/\/www.theworxatbridgeway.com", + "address": "520 BridgeWay Blvd Simpsonville, SC 29680" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.399986, + 34.849312 + ] + }, + "properties": { + "title": "THRIVE | Coworking", + "focus": "Coworking, Virtual Office, Event Space", + "url": "https:\/\/workatthrive.com\/greenville\/", + "address": "104 S Main St, Greenville, SC 29601" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.41527442, + 34.85309671 + ] + }, + "properties": { + "title": "(CLOSED) Social House", + "focus": "(CLOSED) Cozy lounge and multi-purpose work & play space beside the Swamp Rabbit Trail and across from The Commons and Unity Park. ", + "url": "", + "address": "25 Delano Dr UNIT A, Greenville, SC 29601" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40866424, + 34.84439914 + ] + }, + "properties": { + "title": "(CLOSED) Conrad", + "focus": "(CLOSED) Started and closed in 2014-2015", + "url": "", + "address": "508 Rhett St. Greenville, SC 29601" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.28482596, + 34.91994754 + ] + }, + "properties": { + "title": "(CLOSED) Wrk Grp", + "focus": "(CLOSED) Targeted artists and creative types", + "url": "", + "address": "Taylors Mill, Taylors, SC" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.37573359, + 34.86039587 + ] + }, + "properties": { + "title": "Kings Collective", + "focus": "Cowork space, photo studio, & sound stage for video and photography", + "url": "https:\/\/www.kingscollective.space", + "address": "1621 E North St Greenville, SC 29607" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.93361959, + 34.9500065 + ] + }, + "properties": { + "title": "WorkLounge", + "focus": "Offering co-working memberships and offices.", + "url": "", + "address": "128 Magnolia St, Spartanburg, SC 29306" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.93273812, + 34.95188495 + ] + }, + "properties": { + "title": "Hub City Underground", + "focus": "Dedicated desk options, open seating available, and virtual mail.", + "url": "https:\/\/www.themontgomerysuites.com\/co-work-space", + "address": "187 N Church St Spartanburg, SC, 29306" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.06326839, + 34.76443534 + ] + }, + "properties": { + "title": "(CLOSED) 224 A CoWork Space", + "focus": "(CLOSED) A creative coworking space.", + "url": "http:\/\/224cowork.com", + "address": "224 E Main St, Walhalla, SC 29691" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.64971284, + 34.50283206 + ] + }, + "properties": { + "title": "(CLOSED) ECITY Cowork", + "focus": "(CLOSED) Office space for entrepreneurs and small business owners", + "url": "https:\/\/www.facebook.com\/ecitycowork", + "address": "106 E Benson St, Anderson, SC 29624" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.20009736, + 34.69399603 + ] + }, + "properties": { + "title": "(CLOSED) Uphill Cowork", + "focus": "(CLOSED) Shared open space for creators.", + "url": "http:\/\/www.uphillco.work\/home", + "address": "116 N Main St, Fountain Inn, SC 29644" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.42906859, + 34.84729949 + ] + }, + "properties": { + "title": "Switchyards - Greenville", + "focus": "Work club between a second place\/workplace and third place\/gathering place", + "url": "https:\/\/switchyards.com\/greenville", + "address": "1263 Pendleton St, Greenville, SC 29611" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.365068, + 34.843436 + ] + }, + "properties": { + "title": "Launchpad GVL", + "focus": "(PLANNED - 2025) Accelerator focused on early-stage digital companies", + "url": "https:\/\/launchpadgvl.com", + "address": "22 Liberty Ln, Suite 105 Greenville, SC 29607" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.399356, + 34.851129 + ] + }, + "properties": { + "title": "Roam", + "focus": "Work, meeting, and event space", + "url": "https:\/\/meetatroam.com\/locations-overview\/southcarolina\/", + "address": "2 W Washington St, Greenville, SC 29601" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.36393196, + 34.84219358 + ] + }, + "properties": { + "title": "Harbor Coworking", + "focus": "Supports youth in under-resourced communities as part of Lead Collective", + "url": "https:\/\/www.harborcoworking.com", + "address": "110 S Pleasantburg Dr, Greenville, SC 29607" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/dog-friendly-restaurants-and-bars.geojson b/storage/app/geojson/dog-friendly-restaurants-and-bars.geojson new file mode 100644 index 00000000..0a7c323d --- /dev/null +++ b/storage/app/geojson/dog-friendly-restaurants-and-bars.geojson @@ -0,0 +1,4 @@ +{ + "type": "FeatureCollection", + "features": [] +} \ No newline at end of file diff --git a/storage/app/geojson/dog-friendly-retail-stores.geojson b/storage/app/geojson/dog-friendly-retail-stores.geojson new file mode 100644 index 00000000..0a7c323d --- /dev/null +++ b/storage/app/geojson/dog-friendly-retail-stores.geojson @@ -0,0 +1,4 @@ +{ + "type": "FeatureCollection", + "features": [] +} \ No newline at end of file diff --git a/storage/app/geojson/dog-parks.geojson b/storage/app/geojson/dog-parks.geojson new file mode 100644 index 00000000..01fb5615 --- /dev/null +++ b/storage/app/geojson/dog-parks.geojson @@ -0,0 +1,285 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.300146, + 34.88618 + ] + }, + "properties": { + "title": "Pavilion Recreation Complex Dog Park", + "location": "Taylors" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.226749, + 34.856765 + ] + }, + "properties": { + "title": "Pelham Mill Dog Park", + "location": "Greenville" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3518508, + 34.7782446 + ] + }, + "properties": { + "title": "Conestee Park", + "location": "Greenville" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4042238, + 34.8451735 + ] + }, + "properties": { + "title": "Swamp Rabbit Trail", + "location": "Downtown Greenville" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3700161, + 34.9259714 + ] + }, + "properties": { + "title": "Paris Mountain State Park", + "location": "Greenville" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4038844, + 34.8449113 + ] + }, + "properties": { + "title": "Falls Park on the Reedy", + "location": "Downtown Greenville" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3669106, + 34.7745448 + ] + }, + "properties": { + "title": "Lake Conestee Nature Park", + "location": "Greenville" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40596, + 34.891952 + ] + }, + "properties": { + "title": "Red Barn Dog Park", + "location": "Greenville" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3422664, + 34.8421238 + ] + }, + "properties": { + "title": "Plantations Dog Park", + "location": "Greenville" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 82.402577, + 34.8415345 + ] + }, + "properties": { + "title": "Cleveland Park", + "location": "Greenville" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3953416, + 34.8427859 + ] + }, + "properties": { + "title": "Rock Quarry Garden", + "location": "Greenville" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.334689, + 34.8293486 + ] + }, + "properties": { + "title": "Legacy Park", + "location": "Greenville" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3965276, + 34.8570918 + ] + }, + "properties": { + "title": "McPherson Park", + "location": "Greenville" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3965276, + 34.8570918 + ] + }, + "properties": { + "title": "Timmons Park", + "location": "Greenville" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3683167, + 34.8801117 + ] + }, + "properties": { + "title": "Holmes Park", + "location": "Greenville" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4397169, + 34.950441 + ] + }, + "properties": { + "title": "Poinsett Park", + "location": "Travelers Rest" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3942367, + 34.8658488 + ] + }, + "properties": { + "title": "North Main Park", + "location": "Greenville" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.375516, + 34.8975971 + ] + }, + "properties": { + "title": "Herdklotz Park", + "location": "Greenville" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.6095797, + 34.8153148 + ] + }, + "properties": { + "title": "Hagood Park\/Bark Park", + "location": "Easley" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.25391, + 34.7406366 + ] + }, + "properties": { + "title": "Simpsonville Dog Spot", + "location": "Simpsonville" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/electric-vehicle-charging-stations.geojson b/storage/app/geojson/electric-vehicle-charging-stations.geojson new file mode 100644 index 00000000..bf18cd07 --- /dev/null +++ b/storage/app/geojson/electric-vehicle-charging-stations.geojson @@ -0,0 +1,710 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.327209, + 34.813892 + ] + }, + "properties": { + "title": "Clemson CU-ICAR parking lot", + "address": "5 Research Dr, Greenville, SC 29607", + "equipment_type": "EV" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.215927, + 34.891178 + ] + }, + "properties": { + "title": "Greenville-Spartanburg International Airport - Parking Lot B", + "address": "2000 GSP Dr, Greer", + "equipment_type": "EV" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.200539, + 34.693466 + ] + }, + "properties": { + "title": "Fountain Inn Chamber of Commerce", + "address": "10 Depot St., Fountain Inn", + "equipment_type": "EV" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.257068, + 34.705174 + ] + }, + "properties": { + "title": "Spinx", + "address": "697 Fairview Rd, Simpsonville", + "equipment_type": "CHAdeMO DCFC, CCS DCFC" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.388275, + 34.727375 + ] + }, + "properties": { + "title": "Spinx", + "address": "7495 Augusta Rd, Piedmont", + "equipment_type": "CHAdeMO DCFC, CCS DCFC" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.469742, + 34.740742 + ] + }, + "properties": { + "title": "Ivy Acres RV Park", + "address": "201 Ivy Acres Dr., Piedmont", + "equipment_type": "NEMA 14-50" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.383168, + 34.757491 + ] + }, + "properties": { + "title": "South Carolina Technology & Aviation Center", + "address": "2 Exchange St, Greenville", + "equipment_type": "EV" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.53879, + 34.82677 + ] + }, + "properties": { + "title": "Benson Nissan", + "address": "4647 Calhoun Memorial Hwy, Easley", + "equipment_type": "EV" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.440899, + 34.966071 + ] + }, + "properties": { + "title": "Upcountry Provisions", + "address": "6809 State Park Rd, Travelers Rest", + "equipment_type": "EV" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.869766, + 34.839649 + ] + }, + "properties": { + "title": "The Happy Berry", + "address": "510 Gap Hill Rd, Six Mile", + "equipment_type": "EV" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.21024, + 34.94656 + ] + }, + "properties": { + "title": "Nissan of Greer", + "address": "14125 E Wade Hampton Blvd, Greer", + "equipment_type": "EV" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.18036, + 34.904436 + ] + }, + "properties": { + "title": "BMW Performance Center", + "address": "1155 South Carolina 101, Greer", + "equipment_type": "EV, CCS, DCFC" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.956922, + 34.919182 + ] + }, + "properties": { + "title": "Spartanburg Downtown Airport", + "address": "500 Ammons Rd., Spartanburg", + "equipment_type": "EV" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.909828, + 34.940973 + ] + }, + "properties": { + "title": "Spartanburg Public Works Building", + "address": "801 Union St, Spartanburg", + "equipment_type": "EV" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.928289, + 34.942693 + ] + }, + "properties": { + "title": "Spartanburg Administration", + "address": "366 N. Church St., Spartanburg", + "equipment_type": "EV" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.928486, + 34.948195 + ] + }, + "properties": { + "title": "Kennedy Street Parking Facility", + "address": "160 E. Kennedy St., Spartanburg", + "equipment_type": "EV" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.933434, + 34.948265 + ] + }, + "properties": { + "title": "City of Spartanburg City Hall", + "address": "145 West Broad St., Spartanburg", + "equipment_type": "EV" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.933549, + 34.950301 + ] + }, + "properties": { + "title": "Spartanburg Muni Garage", + "address": "111 Magnolia St, Spartanburg", + "equipment_type": "EV" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.931602, + 34.952058 + ] + }, + "properties": { + "title": "Spartanburg Municipal Garage", + "address": "130 E. Saint John St., Spartanburg", + "equipment_type": "EV" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.933661, + 34.953528 + ] + }, + "properties": { + "title": "Spartanburg Marriott", + "address": "299 N. Church St., Spartanburg", + "equipment_type": "EV" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.938267, + 34.960158 + ] + }, + "properties": { + "title": "Wofford College - Village Center", + "address": "429 N. Church St., Spartanburg", + "equipment_type": "EV" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.936425, + 34.9724 + ] + }, + "properties": { + "title": "Benson Cadillac Nissan", + "address": "I-585 and US 221, Spartanburg", + "equipment_type": "EV" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.952235, + 35.00801 + ] + }, + "properties": { + "title": "Spinx", + "address": "1504 Boiling Springs Rd, Boiling Springs", + "equipment_type": "CHAdeMO DCFC, CCS DCFC" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.802387, + 34.702019 + ] + }, + "properties": { + "title": "Clemson Area Transit", + "address": "200 West Ln, Clemson", + "equipment_type": "EV" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.95208, + 34.696495 + ] + }, + "properties": { + "title": "Spinx", + "address": "507 By Pass 123 , Seneca", + "equipment_type": "EV" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.041634, + 34.667671 + ] + }, + "properties": { + "title": "Blue Ridge Electric Co-op", + "address": "2328 Sandifer Boulevard, Westminster", + "equipment_type": "EV" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.686806, + 34.558346 + ] + }, + "properties": { + "title": "Kia of Anderson", + "address": "4008 Clemson Blvd, Anderson\u200e", + "equipment_type": "EV" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.675819, + 34.548478 + ] + }, + "properties": { + "title": "Holiday Inn", + "address": "3509 Clemson Blvd, Anderson", + "equipment_type": "CHAdeMO DCFC, CCS DCFC" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.648636, + 34.502579 + ] + }, + "properties": { + "title": "The Bleckley Inn", + "address": "151 East Church Street, Anderson", + "equipment_type": "EV" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.393191, + 34.85253 + ] + }, + "properties": { + "title": "Church Street Garage", + "address": "320 N. Church St Greenville, SC 29601", + "equipment_type": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.394741, + 34.853278 + ] + }, + "properties": { + "title": "Liberty Square Garage", + "address": "65 Beattie Place Greenville, SC 29601", + "equipment_type": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.396152, + 34.852957 + ] + }, + "properties": { + "title": "Commons Garage", + "address": "60 Beattie Place Greenville, SC 29601", + "equipment_type": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.398577, + 34.853423 + ] + }, + "properties": { + "title": "Laurens Street Garage", + "address": "210 N Laurens St Greenville, SC 29601", + "equipment_type": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.399768, + 34.852472 + ] + }, + "properties": { + "title": "Richardson Garage", + "address": "66 Richardson St Greenville, SC 29601", + "equipment_type": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.400342, + 34.850949 + ] + }, + "properties": { + "title": "Washington Street Garage", + "address": "101 W Washington St Greenville, SC 29601", + "equipment_type": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.400808, + 34.849752 + ] + }, + "properties": { + "title": "Poinsett Garage", + "address": "25 W McBee Ave Greenville, SC 29601", + "equipment_type": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.401994, + 34.84881 + ] + }, + "properties": { + "title": "River Street Garage", + "address": "414 River St Greenville, SC 29601", + "equipment_type": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.38736, + 34.847242 + ] + }, + "properties": { + "title": "Greenville Zoo", + "address": "150 Cleveland Park Dr Greenville, SC 29601", + "equipment_type": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.402841, + 34.847124 + ] + }, + "properties": { + "title": "Riverplace Garage", + "address": "300 River St Greenville, SC 29601", + "equipment_type": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.399896, + 34.840916 + ] + }, + "properties": { + "title": "County Square", + "address": "301 University Ridge Greenville, SC 29601", + "equipment_type": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.406653, + 34.828056 + ] + }, + "properties": { + "title": "Tesla Supercharging Station", + "address": "108 Carolina Point Pkwy, Greenville, SC 29605", + "equipment_type": "Tesla" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.384138, + 34.859671 + ] + }, + "properties": { + "title": "EvGo Charging Station", + "address": "1417 E Washington St, Greenville, SC 29607", + "equipment_type": "CHAdeMO DCFC, CCS" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.416711, + 34.822003 + ] + }, + "properties": { + "title": "EvGo Charging Station", + "address": "901 Marue Dr, Greenville, SC 29605", + "equipment_type": "CHAdeMO DCFC, CCS" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.30206, + 34.827019 + ] + }, + "properties": { + "title": "Electrify America", + "address": "1211 Woodruff Rd, Greenville, SC 29607", + "equipment_type": "CHAdeMO DCFC, CCS" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.303133, + 34.822546 + ] + }, + "properties": { + "title": "Tesla Destination Charger", + "address": "31 Market Point Dr, Greenville, SC 29607", + "equipment_type": "Tesla" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.413792, + 34.858472 + ] + }, + "properties": { + "title": "Tesla Destination Charger", + "address": "131 Falls St, Greenville, SC 29601", + "equipment_type": "Tesla" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.413792, + 34.858472 + ] + }, + "properties": { + "title": "ChargePoint Charging Station", + "address": "8 Webster St, Greenville, SC 29601", + "equipment_type": "J1772" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/falls-park-benches.geojson b/storage/app/geojson/falls-park-benches.geojson new file mode 100644 index 00000000..bd12a032 --- /dev/null +++ b/storage/app/geojson/falls-park-benches.geojson @@ -0,0 +1,887 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.39985413, + 34.84352362 + ] + }, + "properties": { + "title": "Bench 1", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.399789, + 34.84326501 + ] + }, + "properties": { + "title": "Bench 2", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.39956312, + 34.84301676 + ] + }, + "properties": { + "title": "Bench 3", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3994005, + 34.84291113 + ] + }, + "properties": { + "title": "Bench 4", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.39996547, + 34.84339369 + ] + }, + "properties": { + "title": "Bench 5", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40018137, + 34.84371021 + ] + }, + "properties": { + "title": "Bench 6", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4002779, + 34.84364466 + ] + }, + "properties": { + "title": "Bench 7", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.400366, + 34.84363616 + ] + }, + "properties": { + "title": "Bench 9", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40114057, + 34.84383461 + ] + }, + "properties": { + "title": "Bench 10", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.400857, + 34.843887 + ] + }, + "properties": { + "title": "Bench 11", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40064343, + 34.84385601 + ] + }, + "properties": { + "title": "Bench 12", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40139981, + 34.84398999 + ] + }, + "properties": { + "title": "Bench 13", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40167641, + 34.84391016 + ] + }, + "properties": { + "title": "Bench 14", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40237074, + 34.8437693 + ] + }, + "properties": { + "title": "Bench 15", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40319211, + 34.84363973 + ] + }, + "properties": { + "title": "Bench 16", + "notes": "made of stone" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.402444, + 34.84397957 + ] + }, + "properties": { + "title": "Bench 17", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40210853, + 34.84390973 + ] + }, + "properties": { + "title": "Bench 18", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40221407, + -82.40210852638538 + ] + }, + "properties": { + "title": "Bench 19", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40067462, + 34.84513223 + ] + }, + "properties": { + "title": "Bench 20", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40071077, + 34.84503511 + ] + }, + "properties": { + "title": "Bench 21", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40071044, + 34.84500888 + ] + }, + "properties": { + "title": "Bench 22", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4006943, + 34.84499548 + ] + }, + "properties": { + "title": "Bench 23", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4006565, + 34.8450081 + ] + }, + "properties": { + "title": "Bench 24", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4005153, + 34.84484111 + ] + }, + "properties": { + "title": "Bench 25", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40060646, + 34.84482512 + ] + }, + "properties": { + "title": "Bench 26", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4006216, + 34.84478136 + ] + }, + "properties": { + "title": "Bench 27", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40062904, + 34.84475662 + ] + }, + "properties": { + "title": "Bench 28", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40061564, + 34.84473711 + ] + }, + "properties": { + "title": "Bench 29", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40053069, + 34.84470626 + ] + }, + "properties": { + "title": "Bench 30", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40173969, + 34.84489283 + ] + }, + "properties": { + "title": "Bench 31", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40170388, + 34.84489369 + ] + }, + "properties": { + "title": "Bench 32", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40150841, + 34.84483374 + ] + }, + "properties": { + "title": "Bench 33", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40179404, + -82.40150841 + ] + }, + "properties": { + "title": "Bench 34", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40139608, + 34.84424178 + ] + }, + "properties": { + "title": "Bench 35", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40122784, + 34.84429598 + ] + }, + "properties": { + "title": "Bench 36", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40159758, + 34.84442008 + ] + }, + "properties": { + "title": "Bench 37", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40152008, + 34.84455883 + ] + }, + "properties": { + "title": "Bench 38", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40129749, + 34.84451234 + ] + }, + "properties": { + "title": "Bench 39", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40140336, + 34.84464849 + ] + }, + "properties": { + "title": "Bench 40", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40137127, + 34.84552161 + ] + }, + "properties": { + "title": "Bench 41", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.401403, + 34.845085 + ] + }, + "properties": { + "title": "Bench 42", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40142189, + 34.84534661 + ] + }, + "properties": { + "title": "Bench 43", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40153348, + 34.84568356 + ] + }, + "properties": { + "title": "Bench 44", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.401462, + 34.845838 + ] + }, + "properties": { + "title": "Bench 45", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.401557, + 34.845704 + ] + }, + "properties": { + "title": "Bench 46", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.401572, + 34.845709 + ] + }, + "properties": { + "title": "Bench 47", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.401788, + 34.845932 + ] + }, + "properties": { + "title": "Bench 48", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4019664, + 34.84624801 + ] + }, + "properties": { + "title": "Bench 49", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4021407, + 34.84643809 + ] + }, + "properties": { + "title": "Bench 50", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4023556, + 34.84659579 + ] + }, + "properties": { + "title": "Bench 51", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40233318, + 34.84660787 + ] + }, + "properties": { + "title": "Bench 52", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.402339, + 34.846547 + ] + }, + "properties": { + "title": "Bench 53", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4025695, + 34.8470448 + ] + }, + "properties": { + "title": "Bench 54", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40282129, + 34.84755772 + ] + }, + "properties": { + "title": "Bench 55", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40296547, + 34.8478293 + ] + }, + "properties": { + "title": "Bench 56", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40300914, + 34.84787088 + ] + }, + "properties": { + "title": "Bench 57", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40204748, + 34.84486587 + ] + }, + "properties": { + "title": "Stone Seating", + "notes": "Sacred CIrcle" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40140212, + 34.84561129 + ] + }, + "properties": { + "title": "Swinging Bench 1", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40150974, + 34.84466 + ] + }, + "properties": { + "title": "Swinging Bench 2", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4026527, + 34.8438139 + ] + }, + "properties": { + "title": "Swinging Bench 3", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40154489, + 34.84399496 + ] + }, + "properties": { + "title": "Swinging Bench 4", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40127738, + 34.84392397 + ] + }, + "properties": { + "title": "Swinging Bench 5", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4005871, + 34.84377872 + ] + }, + "properties": { + "title": "Swinging Bench 6", + "notes": "" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/farmers-markets.geojson b/storage/app/geojson/farmers-markets.geojson new file mode 100644 index 00000000..8a4939db --- /dev/null +++ b/storage/app/geojson/farmers-markets.geojson @@ -0,0 +1,575 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.287369, + 34.791634 + ] + }, + "properties": { + "title": "Mauldin Open Air Farmer's Market (near Mauldin HIgh)", + "address": "corner of Corn\/Bridges road and Butler Road", + "website": "8a-8p except Sun 11a-8p" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.621488, + 34.717265 + ] + }, + "properties": { + "title": "Union Farmers Market", + "address": "511 E main st, Union, SC", + "website": "http:\/\/www.local-farmers-markets.com\/market\/4298\/union\/union-farmers-market" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.942413, + 34.956245 + ] + }, + "properties": { + "title": "Hub City Farmers Market", + "address": "Northside Harvest Park, 498 Howard Street, Spartanburg, SC", + "website": "http:\/\/www.hubcityfm.org\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.0906, + 35.051765 + ] + }, + "properties": { + "title": "Inman Fresh Farmers Market", + "address": "14 N. Howard Street, Inman, SC", + "website": "https:\/\/www.facebook.com\/Inmanfresh" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.804919, + 35.016531 + ] + }, + "properties": { + "title": "Cowpens Farmers Market", + "address": "5309 S Main St, Cowpens, SC", + "website": "https:\/\/www.facebook.com\/CowpensFarmersMarket" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.197975, + 35.18009 + ] + }, + "properties": { + "title": "landrum Farmers Market", + "address": "S 562 , S 562, Landrum, SC", + "website": "http:\/\/agriculture.sc.gov\/farmers-markets\/landrum-farmers-market\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.030576, + 34.734853 + ] + }, + "properties": { + "title": "Woodruff Farmers Market", + "address": "300 Cross Anchor Rd, Woodruff, SC", + "website": "https:\/\/www.facebook.com\/WoodruffFarmersMarket" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.605196, + 34.830962 + ] + }, + "properties": { + "title": "Easley Farmers Market", + "address": "205 N 1st St, Easley, SC", + "website": "http:\/\/easleyfarmersmarket.com\/?utm_source=Our+Upstate-Newsletter-9.13.2012-noads&utm_campaign=E-Newsletter&utm_medium=email" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.787642, + 34.686129 + ] + }, + "properties": { + "title": "Clemson Farmers Market", + "address": "578 Issaqueena Trail, Clemson, SC", + "website": "https:\/\/www.facebook.com\/ClemsonFarmersMarket" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.818553, + 34.804342 + ] + }, + "properties": { + "title": "Six Mile Farmers Depot Farmers Market", + "address": "102 S. Main Street Six Mile, SC", + "website": "http:\/\/www.visitpickenscounty.com\/vendor\/1080\/six-mile-farmers-depot-farmers-market\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.023596, + 34.669503 + ] + }, + "properties": { + "title": "Foothills Heritage Market", + "address": "2103 Sandier Blv, Seneca, SC", + "website": "http:\/\/www.foothillsheritagemarket.org\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.062649, + 34.764528 + ] + }, + "properties": { + "title": "Walhalla Farmers Market", + "address": "301 E Main St, Walhalla, SC", + "website": "https:\/\/www.facebook.com\/walhallafarmersmarket" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.096245, + 34.665833 + ] + }, + "properties": { + "title": "Westminster Farmers Market", + "address": "135 E Main St, Westminster, SC", + "website": "https:\/\/www.facebook.com\/pages\/Tuesday-Evening-Farmers-Market\/528289293898219?fref=pb&hc_location=profile_browser" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.951431, + 34.685028 + ] + }, + "properties": { + "title": "Seneca Famers market", + "address": "Main Street, Seneca, SC", + "website": "http:\/\/www.seneca.sc.us\/AboutSeneca\/CurrentNews\/tabid\/65\/articleType\/ArticleView\/articleId\/525\/Seneca-Farmers-Market-2015.aspx" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.014399, + 34.499262 + ] + }, + "properties": { + "title": "Downtown Laurens Farmers Market", + "address": "200 Courthouse Square, Laurens, SC", + "website": "http:\/\/mainstreetlaurens.org\/event\/downtown-farmers-market\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.158337, + 34.216645 + ] + }, + "properties": { + "title": "Greenwood Farmers market", + "address": "1612 SC HWY 72\/221E, Greenwood, SC", + "website": "https:\/\/www.facebook.com\/pages\/Greenwood-Farmers-Market\/200675799943630" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.023156, + 34.17443 + ] + }, + "properties": { + "title": "Ninety Six Farmers Market", + "address": "102 Main St E, Ninety Six, SC", + "website": "http:\/\/agriculture.sc.gov\/farmers-markets\/ninety-six-farmers-market\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.163047, + 34.190203 + ] + }, + "properties": { + "title": "Greenwood Uptown Market", + "address": "220 Maxwell Ave, Greenwood, SC", + "website": "http:\/\/www.uptowngreenwood.com\/uptown-market" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.200209, + 34.693027 + ] + }, + "properties": { + "title": "GHS Fountain Inn", + "address": "102 Depot St, Fountain Inn, SC", + "website": "https:\/\/www.fountaininn.org\/special-events.html" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.394, + 34.850555 + ] + }, + "properties": { + "title": "TD Saturday Market", + "address": "Main St at McBee Ave, Greenville, SC", + "website": "http:\/\/www.saturdaymarketlive.com\/pages\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.444432, + 34.954918 + ] + }, + "properties": { + "title": "Travelers Rest Farmers Market", + "address": "115 Wilhelm Winter St 29690 Travelers Rest", + "website": "http:\/\/www.travelersrestfarmersmarket.com\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.421978, + 34.869835 + ] + }, + "properties": { + "title": "Swamp Rabbit Cafe Slow Food Earth Market", + "address": "205 Cedar Lane Road, Greenville, SC", + "website": "http:\/\/www.slowfoodupstate.com\/earthmarket.htm" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.366668, + 34.893448 + ] + }, + "properties": { + "title": "Greenville State Farmers Market", + "address": "1354 Rutherford Rd, Greenville, SC", + "website": "http:\/\/agriculture.sc.gov\/divisions\/agency-services\/state-farmers-markets\/greenville-state-farmers-market\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.28492, + 34.919276 + ] + }, + "properties": { + "title": "Taylors Farmers Market", + "address": "250 Mill St, Taylors, SC", + "website": "http:\/\/www.taylorsfarmersmarket.com\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.225598, + 34.936366 + ] + }, + "properties": { + "title": "Greer Farmers Market", + "address": "300 Randall St, Greers, SC", + "website": "https:\/\/www.facebook.com\/greerfarmersmarket\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.648019, + 35.076347 + ] + }, + "properties": { + "title": "Gaffney Station Farmers Market", + "address": "500 North Granard St, Gaffney, SC", + "website": "http:\/\/www.getintogaffney.com\/farmers-market" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.764439, + 34.984162 + ] + }, + "properties": { + "title": "Cherokee Foothills Organic Farmers Market", + "address": "414 HWY 11, Pickens, SC", + "website": "http:\/\/omgrownus.wixsite.com\/mysite" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.6521, + 34.5067 + ] + }, + "properties": { + "title": "Anderson County Farmers Market", + "address": "402 N Murray Ave, Anderson, SC", + "website": "http:\/\/www.andersoncountysc.org\/farmersmarket" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.552318, + 34.562961 + ] + }, + "properties": { + "title": "Anderson Jockey Lot and Farmers Market", + "address": "430 HIghway 29 North, Belton, SC", + "website": "http:\/\/www.jockeylot.com\/Contents\/jockeylothome.aspx" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.6521, + 34.5067 + ] + }, + "properties": { + "title": "Anderson Area Farm & Food Association", + "address": "402 N Murray Ave, Anderson, SC", + "website": "https:\/\/www.facebook.com\/Anderson-Area-Farm-Food-Association-431344110224404\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.781101, + 34.643124 + ] + }, + "properties": { + "title": "Pendleton Area Farmers Market", + "address": "Village Square, Pendleton, SC", + "website": "https:\/\/www.facebook.com\/Pendleton-Farmers-Market-123792054302940\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.479751, + 34.617142 + ] + }, + "properties": { + "title": "Palmetto Farmers Market", + "address": "Williamston Park Springs, Center St, Williamston, SC", + "website": "https:\/\/www.facebook.com\/palmettomarket\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.641737, + 34.210897 + ] + }, + "properties": { + "title": "Iva Farmers Market", + "address": "SC-81 SC-81, Iva, SC", + "website": "http:\/\/agriculture.sc.gov\/farmers-markets\/iva-farmers-market\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.496041, + 34.526771 + ] + }, + "properties": { + "title": "Belton Farmers Market", + "address": "102 Blake St, Belton SC", + "website": "http:\/\/agriculture.sc.gov\/farmers-markets\/belton-farmers-market\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.787642, + 34.686129 + ] + }, + "properties": { + "title": "Clemson Farmers Market", + "address": "578 Issaqueena Trail Clemson, SC", + "website": "https:\/\/www.facebook.com\/ClemsonFarmersMarket" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.379506, + 34.178213 + ] + }, + "properties": { + "title": "Abbeville Farmers Market", + "address": "Trinity St, Abbeville, SC", + "website": "https:\/\/www.facebook.com\/AbbevilleMarket" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.386273, + 34.335516 + ] + }, + "properties": { + "title": "Due West Farmers Market", + "address": "Hwy 184 & Beluah Street, Abbeville, SC", + "website": "http:\/\/agriculture.sc.gov\/farmers-markets\/due-west-farmers-market\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.287369, + 34.791634 + ] + }, + "properties": { + "title": "Mauldin Open Air Farmer's Market (near Mauldin High)", + "address": "corner of Corn\/Bridges road and Butler Road", + "website": "https:\/\/www.facebook.com\/pages\/Mauldin-Open-Air-Market\/143326489047572" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/fishing-access-sites.geojson b/storage/app/geojson/fishing-access-sites.geojson new file mode 100644 index 00000000..3bee868b --- /dev/null +++ b/storage/app/geojson/fishing-access-sites.geojson @@ -0,0 +1,214 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.27285, + 34.98476 + ] + }, + "properties": { + "title": "Lake Cunningham Recreation Facility Pier", + "access_name": "Lake Cunningham", + "water_body": "Lake", + "parking_spaces": "60", + "picnic_shelter": "Yes", + "restrooms": "Yes", + "handicap_accessible": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.29624, + 34.99344 + ] + }, + "properties": { + "title": "J. Verne Smith Recreation Area Bank", + "access_name": "Lake Robinson", + "water_body": "Lake", + "parking_spaces": "35", + "picnic_shelter": "Yes", + "restrooms": "Yes", + "handicap_accessible": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.29576, + 34.99401 + ] + }, + "properties": { + "title": "J. Verne Smith Recreation Area Pier", + "access_name": "Lake Robinson", + "water_body": "Lake", + "parking_spaces": "35", + "picnic_shelter": "Yes", + "restrooms": "Yes", + "handicap_accessible": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.28517, + 34.84375 + ] + }, + "properties": { + "title": "Oak Grove Lake Bank", + "access_name": "Oak Grove Lake", + "water_body": "Pond", + "parking_spaces": "20", + "picnic_shelter": "No", + "restrooms": "No", + "handicap_accessible": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.48215, + 35.08982 + ] + }, + "properties": { + "title": "Pleasant Ridge County Park Bank", + "access_name": "Pleasant Ridge County Park", + "water_body": "Pond", + "parking_spaces": "25", + "picnic_shelter": "Yes", + "restrooms": "Yes", + "handicap_accessible": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.48148, + 35.08992 + ] + }, + "properties": { + "title": "Pleasant Ridge County Park Pier", + "access_name": "Pleasant Ridge County Park", + "water_body": "Pond", + "parking_spaces": "25", + "picnic_shelter": "Yes", + "restrooms": "Yes", + "handicap_accessible": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.36701, + 34.92745 + ] + }, + "properties": { + "title": "Paris Mountain State Park Bank", + "access_name": "Paris Mountain State Park Reservoir #2", + "water_body": "Pond", + "parking_spaces": "20", + "picnic_shelter": "Yes", + "restrooms": "Yes", + "handicap_accessible": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5569259, + 34.9406275 + ] + }, + "properties": { + "title": "Laurel and Hardy Fishing Lakes", + "access_name": "Laurel and Hardy Fishing Lakes", + "water_body": "Lake and Pond", + "parking_spaces": "", + "picnic_shelter": "", + "restrooms": "", + "handicap_accessible": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2540177, + 34.8940281 + ] + }, + "properties": { + "title": "Cannon's Fishing Lakes", + "access_name": "Cannon's Fishing Lakes", + "water_body": "Lake", + "parking_spaces": "", + "picnic_shelter": "", + "restrooms": "", + "handicap_accessible": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5062198, + 34.8702002 + ] + }, + "properties": { + "title": "Saluda Lake", + "access_name": "Saluda Lake", + "water_body": "Lake", + "parking_spaces": "", + "picnic_shelter": "", + "restrooms": "", + "handicap_accessible": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3930155, + 34.9383593 + ] + }, + "properties": { + "title": "Lake Placid", + "access_name": "Paris Mountain State Park", + "water_body": "Lake", + "parking_spaces": "", + "picnic_shelter": "", + "restrooms": "", + "handicap_accessible": "" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/free-job-training-resources.geojson b/storage/app/geojson/free-job-training-resources.geojson new file mode 100644 index 00000000..0a7c323d --- /dev/null +++ b/storage/app/geojson/free-job-training-resources.geojson @@ -0,0 +1,4 @@ +{ + "type": "FeatureCollection", + "features": [] +} \ No newline at end of file diff --git a/storage/app/geojson/free-wi-fi-hotspots.geojson b/storage/app/geojson/free-wi-fi-hotspots.geojson new file mode 100644 index 00000000..badf1ee6 --- /dev/null +++ b/storage/app/geojson/free-wi-fi-hotspots.geojson @@ -0,0 +1,294 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.398367, + 34.851596 + ] + }, + "properties": { + "owner": "Coffee Underground", + "ssid": "Coffee UnderGround Guest", + "passphrase": "", + "notes": "Go to counter for a 2-hr Wi-Fi code. Open a webpage and type in the code.", + "category": "guest" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.397884, + 34.851184 + ] + }, + "properties": { + "owner": "Groucho's Deli", + "ssid": "groucho's deli", + "passphrase": "sandwiches", + "notes": "", + "category": "guest" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3977403, + 34.8515355 + ] + }, + "properties": { + "owner": "Ink & Ivy", + "ssid": "Ink&Ivy Public", + "passphrase": "", + "notes": "No passphrase. Speed test (18.5Mbps down \/ 2.62 Mbps up", + "category": "guest" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.404279, + 34.843707 + ] + }, + "properties": { + "owner": "Mellow Mushroom", + "ssid": "Mellow Mushroom", + "passphrase": "", + "notes": "Open a webpage and accept terms of service. Non-HTTP ports, like SSH, may be blocked", + "category": "guest" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4022339, + 34.8462271 + ] + }, + "properties": { + "owner": "O-CHA tea bar", + "ssid": "oChaTeaBar-guest", + "passphrase": "ocha", + "notes": "", + "category": "guest" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.400347, + 34.848704 + ] + }, + "properties": { + "owner": "M. Judson Booksellers", + "ssid": "should be obvious ", + "passphrase": "yourfavoritebook", + "notes": "Same location as Chocolate Moose.", + "category": "guest" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.398664, + 34.850539 + ] + }, + "properties": { + "owner": "Sully's Steamers", + "ssid": "Sullys-Public", + "passphrase": "bagelman", + "notes": "", + "category": "guest" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.38575, + 34.862628 + ] + }, + "properties": { + "owner": "The Community Tap", + "ssid": "Community Tap", + "passphrase": "BEER&WINE217", + "notes": "", + "category": "guest" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.398455, + 34.851368 + ] + }, + "properties": { + "owner": "Trio - A Brick Oven Cafe", + "ssid": "trio", + "passphrase": "", + "notes": "http:\/\/www.triocafe.com\/", + "category": "guest" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4002445, + 34.8488832 + ] + }, + "properties": { + "owner": "Westin Poinsett Hotel", + "ssid": "PublicSpace", + "passphrase": "79788", + "notes": "", + "category": "guest" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.396042, + 34.850377 + ] + }, + "properties": { + "owner": "Fireforge Crafted Beer", + "ssid": "fireforge-friends", + "passphrase": "grassroots", + "notes": "Throttled to 10Mbps Down - 2Mpbs Up", + "category": "guest" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.399598, + 34.8519689 + ] + }, + "properties": { + "owner": "Methodical Coffee", + "ssid": "Methodical Guest", + "passphrase": "humblecoffee101", + "notes": "", + "category": "guest" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.369617, + 34.829261 + ] + }, + "properties": { + "owner": "Grateful Brew", + "ssid": "Grateful Brew Guest", + "passphrase": "", + "notes": "Ask at counter for 2-hour login code.", + "category": "guest" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.397332, + 34.86132 + ] + }, + "properties": { + "owner": "Liability Brewing Company", + "ssid": "LBC", + "passphrase": "beerhere", + "notes": "", + "category": "guest" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3932182, + 34.82466904 + ] + }, + "properties": { + "owner": "CAVA", + "ssid": "Fresh Greenville", + "passphrase": "184cavagrill", + "notes": "", + "category": "guest" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3895961, + 34.8600668 + ] + }, + "properties": { + "owner": "Universal Joint", + "ssid": "NETGEAR92", + "passphrase": "silkyplanet712", + "notes": "", + "category": "guest" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4139756, + 34.8532455 + ] + }, + "properties": { + "owner": "The Commons", + "ssid": "The Commons Guest 2.4GHz", + "passphrase": "thecommonsatwelborn", + "notes": "", + "category": "guest" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/greer-public-parking.geojson b/storage/app/geojson/greer-public-parking.geojson new file mode 100644 index 00000000..54f7b57b --- /dev/null +++ b/storage/app/geojson/greer-public-parking.geojson @@ -0,0 +1,125 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.227286, + 34.937931 + ] + }, + "properties": { + "title": "N Main & Victoria lot", + "parking_spaces": "85", + "times_available": "24 hours" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.227141, + 34.93692 + ] + }, + "properties": { + "title": "School Street lot", + "parking_spaces": "", + "times_available": "24 hours" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.22551, + 34.937566 + ] + }, + "properties": { + "title": "Greer Relief lot", + "parking_spaces": "", + "times_available": "24 hours" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.225521, + 34.936493 + ] + }, + "properties": { + "title": "Depot North lot", + "parking_spaces": "", + "times_available": "24 hours" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.225285, + 34.936041 + ] + }, + "properties": { + "title": "Depot South lot", + "parking_spaces": "", + "times_available": "24 hours" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.222769, + 34.937571 + ] + }, + "properties": { + "title": "City Hall lot", + "parking_spaces": "", + "times_available": "24 hours" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.222699, + 34.939981 + ] + }, + "properties": { + "title": "Cannon Centre lot", + "parking_spaces": "", + "times_available": "24 hours" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.228584, + 34.938855 + ] + }, + "properties": { + "title": "Courts Complex lot", + "parking_spaces": "", + "times_available": "24 hours" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/historic-sites.geojson b/storage/app/geojson/historic-sites.geojson new file mode 100644 index 00000000..1df371fe --- /dev/null +++ b/storage/app/geojson/historic-sites.geojson @@ -0,0 +1,800 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40721666, + 34.84138333 + ] + }, + "properties": { + "title": "\"Shoeless Joe\" Jackson House", + "notes": "(Front) \nThis house, built in 1940, was originally 3 mi. SW at 119 E. Wilburn Ave. It was the last home of Joseph Jefferson Wofford \u201a\u00c4\u00faShoeless Joe\u201a\u00c4\u00f9 Jackson (1888-1951), one of the greatest natural hitters in the history of baseball. Jackson, born in Pickens Co., moved to Greenville as a boy. He worked at the Brandon Mill, joined the mill baseball team as a teenager, and was a star long before he made the major leagues in 1908. \n\n(Reverse) \nIn 1911, his first full season, Jackson batted .408. He played for the Philadelphia A\u00ac\u00a5s 1908-10, the Cleveland Naps 1910-15, and the Chicago White Sox 1915-20, with a lifetime average of .356. He helped the White Sox win the 1917 World Series, but he and 7 teammates were banned from baseball for fixing the 1919 Series. This house, where Jackson died in 1951, was moved here in 2006 and opened as a museum in 2008. \n\nErected by the Shoeless Joe Jackson Museum and Baseball Library, 2011", + "reference": "23-43" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4091, + 34.8416 + ] + }, + "properties": { + "title": "Allen Temple A.M.E. Church (*National Register Site)", + "notes": "Allen Temple A.M.E. Church, built 1929-30, is significant as the first A.M.E. church in Greenville.", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.398889, + 34.848333 + ] + }, + "properties": { + "title": "American Cigar Factory (*National Register Site)", + "notes": "The American Cigar Factory was one of the largest brick buildings in Greenville when it was constructed ca. 1902 by the American Improvement Company. This building was one of five factories the American Cigar Company located in the South. Situated in the heart of the central business district, it employed 150 girls and young women when it began production. It is one of the largest brick masonry buildings remaining in the downtown area and reflects the industrial growth of Greenville at the turn of the century. (Listed in the National Register July 1, 1982.)", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.397775, + 34.857953 + ] + }, + "properties": { + "title": "Beth Israel Synagogue", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.390556, + 34.873056 + ] + }, + "properties": { + "title": "Broad Margin", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.391667, + 34.809722 + ] + }, + "properties": { + "title": "Brushy Creek", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.384167, + 34.812778 + ] + }, + "properties": { + "title": "C. Granville Wyche House", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.401389, + 34.848611 + ] + }, + "properties": { + "title": "Carolina Supply Company", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4, + 34.848056 + ] + }, + "properties": { + "title": "Chamber of Commerce Building", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.394444, + 34.850833 + ] + }, + "properties": { + "title": "Christ Church (Episcopal) and Churchyard", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.401667, + 34.863056 + ] + }, + "properties": { + "title": "Col. Elias Earle Historic District", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.39693, + 34.855333 + ] + }, + "properties": { + "title": "Confederate Armory (1861-1864)", + "notes": "Erected on land donated to the state by Vardry McBee for the manufacture of arms for the South Carolina troops in the Confederate service. George W. Morse, superintendent of the works, invented and manufactured a breech-loading carbine pronounced by General Wade Hampton the best that he had seen.\n\nErected 1937 by Greenville Chapter, United Daughters of the Confederacy.", + "reference": "23-A05" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.400517, + 34.84485 + ] + }, + "properties": { + "title": "Cradle of Greenville", + "notes": "Near this sign, before the adoption of the Declaration of Independence, Richard Pearis, best known of all Pre-Revolutionary settlers in the surrounding Cherokee Indian nation, established his home with a grist mill and trading post. Around this location grew up the community of Greenville Court House, laid out in 1797, the county seat for Greenville District.\n\nIn marking this site...the \"Cradle of Greenville\"...and building thereon its permanent home, the Citizens and Southern National Bank of South Carolina finds pleasure in this saluting a community widely acclaimed for its commercial, industrial and civic progress spanning the almost two hundred years of its life.\n\nThis plaque is presented to the Greenville Historical Society by the citizens and Southern National Bank of Greenville, South Carolina - 1962", + "reference": "23-A06" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.395556, + 34.849167 + ] + }, + "properties": { + "title": "Davenport Apartments", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4025, + 34.8525 + ] + }, + "properties": { + "title": "Downtown Baptist Church", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.412111, + 34.837429 + ] + }, + "properties": { + "title": "E. W. Montgomery Cotton Warehouse", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.406667, + 34.863611 + ] + }, + "properties": { + "title": "Earle Town House \n(*National Register Site)", + "notes": "The Earle Town House is a distinguished example of a late Georgian dwelling and is one of the few still existing in upper South Carolina, the residence is one of two houses within Greenville remaining from the city\u2019s earliest history.", + "reference": "(source: http:\/\/www.nationalregister.sc.gov\/greenville)" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.391667, + 34.858333 + ] + }, + "properties": { + "title": "East Park Historic District", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.401333, + 34.845217 + ] + }, + "properties": { + "title": "Falls Place", + "notes": "Greenville was a major textile center by the beginning of the twentieth century, and local cotton growers and brokers needed storage places for the harvested cotton. West End banker H.L. Gassaway and Dr. Davis Furman purchased land immediately south of the bridge at Main Street in 1910. In 1913 they erected a fireproof cotton warehouse that was attached to a new heavily-reinforced concrete bridge at the same time. The building housed a soft drink company for many years, and was used as a U.S.O. headquarters, particularly by airmen at Donaldson Air Force Base, during and after World War II. Long referred to as the \"Traxler Building,\" because it was owned by David Traxler, it was renovated in 1985 and is now known as Falls Place.", + "reference": "23-A07" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.411111, + 34.849167 + ] + }, + "properties": { + "title": "First National Bank", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.394444, + 34.852778 + ] + }, + "properties": { + "title": "Fountain Fox Beattie House", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.38966666, + 34.85711666 + ] + }, + "properties": { + "title": "Fountain Fox Beattie House \/ Greenville Woman's Club", + "notes": "(Front) \nThis house, built in 1834, first stood a few blocks south on East North St. It was built by Fountain Fox Beattie (1807 1863), a textile merchant, for his new bride Emily Edgeworth Hamlin. Their son Hamlin Beattie (1835 1914), who founded the National Bank of Greenville in 1872, added wings and elaborate Italianate ornamentation. The house was listed in the National Register of Historic Places in 1974. \n\n(Reverse) \nThe house remained in the Beattie family until 1946, when the city bought the property to widen Church St. When the house was moved to Beattie Place in 1948 it was leased to the women\u00ac\u00a5s organizations of Greenville. The Greenville Woman\u00ac\u00a5s Club officially opened in 1949. The house was moved a second time in 1983 to make room for downtown expansion. Member clubs maintain the house and gardens. \n\nErected by the Greenville Woman\u00ac\u00a5s Club, 1998", + "reference": "23-24" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.403367, + 34.840133 + ] + }, + "properties": { + "title": "Furman University", + "notes": "Established 1825 by the S. C. Baptist Convention, the Furman Academy and Theological Institution opened at Edgefield, 1826, moved to Sumter District, 1829-34, and to Fairfield, 1837-50. Chartered in 1850 as Furman University, it opened in Greenville, 1851, and for over a century, 1852-1958, occupied this site purchased from Vardry McBee. In the summer of 1958, Furman moved to a new campus six miles north of town.\n\nErected by Furman University - 1975", + "reference": "23-14" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.396667, + 34.85 + ] + }, + "properties": { + "title": "Gilfillin and Houston Building", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40075, + 34.84898333 + ] + }, + "properties": { + "title": "Greenville County Courthouse", + "notes": "GREENVILLE COUNTY COURTHOUSE\n\n\nThis Beaux Arts building, built in 1916-18, was the fourth Greenville County Courthouse, from 1918 to 1950. It was listed in the National Register of Historic Places in 1994. The largest lynching trial in U.S. history was held here May 12-21, 1947. Willie Earle, a young black man accused of assaulting white cabdriver Thomas W. Brown, had been lynched by a white mob on Bramlett Road in Greenville. \n\nTHE WILLIE EARLE LYNCHING TRIAL\n\n\nThe trial of 31 whites, 28 of them cabdrivers, was rare at the time and drew national attention. Though 26 defendants admitted being part of the mob, all defendants were acquitted by an all-white jury. Rebecca West\u00ac\u00a5s \u201a\u00c4\u00faOpera in Greenville,\u201a\u00c4\u00f9 published in The New Yorker on June 14, 1947, interpreted the trial and its aftermath. Widespread outrage over the lynching and the verdict spurred new federal civil rights policies. \n\nErected by the Willie Earle Commemorative Trail Committee, 2010 [2011]", + "reference": "23-42" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3974, + 34.8523 + ] + }, + "properties": { + "title": "Greenville Elks Lodge", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.396389, + 34.846389 + ] + }, + "properties": { + "title": "Greenville Gas and Electric Light Company", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.401317, + 34.8555 + ] + }, + "properties": { + "title": "Greenville Woman's College", + "notes": "Established in 1854 by the S. C. Baptist Convention, this institution opened as Greenville Baptist Female College in February 1856, on this site originally donated by Vardry McBee to the Greenville Academies. Its name was changed to Greenville Woman\u00ac\u00a5s College in 1914. It was coordinated with Furman University in 1933, merged with Furman in 1938, and moved in 1961 to the consolidated campus six miles north of town.\n\nErected by Furman University - 1975", + "reference": "23-15" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.405833, + 34.856111 + ] + }, + "properties": { + "title": "Hampton-Pinckney Historic District", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.390556, + 34.876667 + ] + }, + "properties": { + "title": "The Hugh Aiken House \n(*National Register Site)", + "notes": "The Hugh Aiken House possesses architectural significance as one of William \u201cWillie\u201d Riddle Ward\u2019s most distinctive single-family residential designs. The house is a one and one-half story frame residence constructed in 1952. It was designed in 1948 by Ward, a notable Greenville architect, for Hugh K. Aiken, president and treasurer of Piedmont Paint and Manufacturing Company. The house was constructed in the Colonial Revival style on an extensively landscaped lot adjacent to the North Main Street area of Greenville. *Listed in the National Register April 11, 2003.", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.401944, + 34.851389 + ] + }, + "properties": { + "title": "Imperial Hotel", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3734, + 34.862444 + ] + }, + "properties": { + "title": "Isaqueena", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.399933, + 34.848883 + ] + }, + "properties": { + "title": "Joel Roberts Poinsett", + "notes": "(Front) \nBorn in Charleston, S. C., educated in this country and Great Britain, he travelled widely in Europe and Asia before returning to a distinguished career. He served South Carolina in the state legislature, 1816-1820, 1830-1832; and as chairman of the Board of Public Works, 1818-1820. He represented S. C. in Congress 1821-1825, was first American minister to Mexico, 1825-1829, and secretary of war, 1837-1841.\n\n(Reverse) \nPlanter, writer, botanist, diplomat, statesman, Joel R. Poinsett had a summer home near here dividing his time in later life between it and his plantation on the Pee Dee River. He brought the lovely poinsettia to this country from Mexico. His cultural interests and scientific pursuits with this political career earned him the title \"versatile American.\" He died December 12,1851, at Stateburg, S. C., and was buried there at the Church of the Holy Cross.\n\nErected by Greenville County Historical Society - 1968", + "reference": "23-11" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.398611, + 34.847778 + ] + }, + "properties": { + "title": "John Wesley Methodist Episcopal Church", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.391944, + 34.855 + ] + }, + "properties": { + "title": "Josiah Kilgore House", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.392778, + 34.832778 + ] + }, + "properties": { + "title": "Lanneau-Norwood House", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.415556, + 34.859167 + ] + }, + "properties": { + "title": "Parker High School Auditorium", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.389722, + 34.85 + ] + }, + "properties": { + "title": "Pettigru Street Historic District", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.400556, + 34.848611 + ] + }, + "properties": { + "title": "Poinsett Hotel", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.400267, + 34.843783 + ] + }, + "properties": { + "title": "Reedy River Falls Historic Park and Greenway", + "notes": "The falls of the Reedy River were a power source for industry, but they were also the town\u00ac\u00a5s chief price in the early nineteenth century. The subject of a Cherokee myth (a brave was said to have thrown himself over the falls because of unrequited love) and of at least five published poems and several noted paintings, the falls became the favorite trysting place for young lovers as well as a resort for visitors and families. Dams above and below the falls created pools where children swam in the summer and skated in the winter. Ministers performed baptisms in them, and entrepreneurs established bath houses (with separate entrances for ladies and gentlemen; towels and soap supplied for twenty-five cents) that made use of the clear river water.", + "reference": "23-A08" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.401667, + 34.846667 + ] + }, + "properties": { + "title": "Reedy River Industrial District", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.394722, + 34.855278 + ] + }, + "properties": { + "title": "Richland Cemetery", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.393056, + 34.854722 + ] + }, + "properties": { + "title": "Springwood Cemetery", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.39905, + 34.850603 + ] + }, + "properties": { + "title": "Stradley and Barr Dry Goods Store", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.395278, + 34.831667 + ] + }, + "properties": { + "title": "T.Q. Donaldson House", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40301666, + 34.8522 + ] + }, + "properties": { + "title": "Textile Hall", + "notes": "(Front) \nTextile Hall, built in 1917 to host the annual Southern Textile Exposition, stood on this side until 1992. The first exposition of the Southern Textile Association had been held in Greenville in 1915. Textile Hall, designed by J.E. Sirrine & Co. at a cost of $130,000, was a five-story Renaissance Revival building; its facade featured a limestone tablet bearing the initials \u201a\"STE\" for \"Southern Textile Exposition\" and the words \"Textile Hall\" \n\n(Reverse) \nWhen built, Textile Hall was described as \u201a\" fitting monument to . . . the proper cooperative spirit.\" It hosted the Southern Textile Exposition from 1917 to 1962 and gave Greenville the title \"Textile Center of the South.\" It also hosted many other meetings and special events, such as the annual Southern Textile Basketball Tournament, with teams representing mills across the South. Listed in the National Register of Historic Places in 1980, it was demolished in 1992. \n\nErected by the City of Greenville and the Hampton-Pinckney Neighborhood Association, 2006", + "reference": "23-31" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.400633, + 34.843833 + ] + }, + "properties": { + "title": "The Cherokees", + "notes": "Greenville County was Indian Territory before the Revolution. European settlers were forbidden to live here until 1777, when Cherokee Indians were forced to cede this land to the new state. Most of modern day Greenville was hunting land used by the Cherokees, whose main villages were located in modern day Oconee County. A part of the Iroquoian nation, the Cherokee may have set up temporary summer camps along the banks of the Reedy River. In the nineteenth and early twentieth century, Indian artifacts were found along the north bank of the river.", + "reference": "23-A10" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.399617, + 34.848717 + ] + }, + "properties": { + "title": "The Old Record Building", + "notes": "In 1820, seventy feet south of this point, \"the old record building\" was erected; it was designed by Robert Mills (1781-1855), famous Charleston architect, designer of the Washington Monument. This building of classic design was county courthouse until 1855; then record building until removed, 1924. John C. Calhoun spoke from its portico on current issues.", + "reference": "23-01" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.396111, + 34.849567 + ] + }, + "properties": { + "title": "U.S. Post Office and Courthouse", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.404444, + 34.844444 + ] + }, + "properties": { + "title": "West End Commercial Historic District", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.402222, + 34.863889 + ] + }, + "properties": { + "title": "Whitehall", + "notes": "Built by Henry Middleton on land bought from Elias Earle in 1813, Whitehall served as Middleton\u00ac\u00a5s summer home until 1820 when it was sold to George W. Earle, whose descendants have occupied it ever since. Henry Middleton was son of Arthur Middleton, signer of the Declaration of Independence. He served as governor of South Carolina from 1810 to 1812.\n\nErected by Behethland Butler Chapter, Daughters of the American Revolution - 1964", + "reference": "23-08" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.406181, + 34.830712 + ] + }, + "properties": { + "title": "William and Harriet Wilkins House", + "notes": "", + "reference": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.41231666, + 34.83721666 + ] + }, + "properties": { + "title": "Working Benevolent Temple and Professional Building", + "notes": "(Front) \nThe Working Benevolent Society Hospital, first known as St. Luke Colored Hospital, was a two-story frame building standing here at the corner of Green Avenue and Jenkins Street. Founded in 1920, it served blacks in Greenville for twenty-eight years. The Working Benevolent Grand Lodge of S.C., at Broad and Fall Streets in Greenville, operated the hospital from 1928 until it closed in 1948. \n\n(Reverse) \nThe hospital, described at its opening as \u201a\u00c4\u00faone of the most modern institutions in the South for colored people,\u201a\u00c4\u00f9 had three wards and twenty-two beds in semi-private and private rooms. Mrs. M.H. Bright was the first superintendent. A registered nurse and a graduate of the Tuskegee Institute, she had been superintendent of the Institute hospital. Most of the superintendents after her were nurses as well. \n\nErected by the Green Avenue Area Civic Association, 2003", + "reference": "23-27" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/historic-textile-mills.geojson b/storage/app/geojson/historic-textile-mills.geojson new file mode 100644 index 00000000..e16a6631 --- /dev/null +++ b/storage/app/geojson/historic-textile-mills.geojson @@ -0,0 +1,187 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.409752, + 34.827399 + ] + }, + "properties": { + "title": "Mills Mill", + "notes": "Now The Lofts at Mills Mill" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.431408, + 34.844824 + ] + }, + "properties": { + "title": "Brandon Mill", + "notes": "Now West Village Lofts at Brandon Mill" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.42381, + 34.867307 + ] + }, + "properties": { + "title": "Monaghan Mill", + "notes": "Now The Lofts of Greenville" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.427373, + 34.83642 + ] + }, + "properties": { + "title": "Judson Mill", + "notes": "Still in operation by Milliken" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.34822, + 34.770179 + ] + }, + "properties": { + "title": "Conestee Mill", + "notes": "Part of Lake Conestee Nature Park" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.226637, + 34.857073 + ] + }, + "properties": { + "title": "Pelham Mill", + "notes": "Burned in 1940. Now a city park." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.42866, + 34.852939 + ] + }, + "properties": { + "title": "Woodside Mill", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4128, + 34.87073 + ] + }, + "properties": { + "title": "Poe Mill", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40053, + 34.84506 + ] + }, + "properties": { + "title": "Camperdown Mill", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40221, + 34.84789 + ] + }, + "properties": { + "title": "Huguenot Mill\/Nuckasee", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.42213, + 34.8274 + ] + }, + "properties": { + "title": "Dunean Mill", + "notes": "\"Dunean Mill, chartered in 1911 and opened in 1912, was one of several textile mills owned by Capt. Ellison Adger Smyth (1847-1942), a national leader in the industry for more than 60 years. Dunean was named for the Irish village where Smyth's Adger ancestors lived. The mill, called \"the Million Dollar Mill\" while it was being built by J. E. Sirrine & Company, was an all electric mill with 50,000 spindles and 1,200 looms when it opened, making fine cotton goods. The light gray brick and black mortar of this mill gives it a distinctive look unlike almost any other textile mill of its era. The Dunean Mill village included 585 houses, an elementary school, three churches, a company store, a community building, a gymnasium, and a baseball field. Its Y.M.C.A. was the first in any mill village in S.C. In 1935 the mill switched to rayon and other synthetic fibers. It was for many years a division of J. P. Stevens & Company. \n\nErected 2012 by Dunean Historical Society\"" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.42566, + 34.88352 + ] + }, + "properties": { + "title": "Union Bleachery", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.41161, + 34.87396 + ] + }, + "properties": { + "title": "American Spinning Mill", + "notes": "300 Hammett St Ext" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/historical-african-american-churches.geojson b/storage/app/geojson/historical-african-american-churches.geojson new file mode 100644 index 00000000..f3fbc308 --- /dev/null +++ b/storage/app/geojson/historical-african-american-churches.geojson @@ -0,0 +1,271 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.313891, + 34.961029 + ] + }, + "properties": { + "title": "Jubilee Baptist Church", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.364594, + 34.852608 + ] + }, + "properties": { + "title": "Queen Street Baptist", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.520835, + 35.423059 + ] + }, + "properties": { + "title": "Rocky Mount Missionary Baptist Church", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.402579, + 34.634759 + ] + }, + "properties": { + "title": "Shady Grove Baptist Church", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.342664, + 34.737297 + ] + }, + "properties": { + "title": "Union Baptist Church", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.568875, + 34.491361 + ] + }, + "properties": { + "title": "Welfare Baptist Church", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.229429, + 34.929144 + ] + }, + "properties": { + "title": "Maple Creek Missionary Baptist Church", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.411604, + 34.848572 + ] + }, + "properties": { + "title": "Tabernacle Baptist Church", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.398527, + 34.848154 + ] + }, + "properties": { + "title": "John Wesley United Methodist Church", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.409019, + 34.841827 + ] + }, + "properties": { + "title": "Allen Temple A.M.E. Church", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40737, + 34.856473 + ] + }, + "properties": { + "title": "Mattoon Presbyterian", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.377473, + 34.843334 + ] + }, + "properties": { + "title": "Nicholtown Missionary Baptist Church", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.35894, + 34.713329 + ] + }, + "properties": { + "title": "Reedy Fork Baptist Church", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.208281, + 34.943235 + ] + }, + "properties": { + "title": "Cedar Grove Baptist Church", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.642703, + 34.495762 + ] + }, + "properties": { + "title": "Royal Baptist Church", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.780725, + 34.374386 + ] + }, + "properties": { + "title": "Generostee Baptist Church", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.1968, + 34.793288 + ] + }, + "properties": { + "title": "Old Pilgrim Missionary Baptist Church", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.337905, + 34.774464 + ] + }, + "properties": { + "title": "Reedy River Missionary Baptist Church", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.401033, + 34.703737 + ] + }, + "properties": { + "title": "Flat Rock Baptist Church", + "notes": "" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/libraries.geojson b/storage/app/geojson/libraries.geojson new file mode 100644 index 00000000..65025d88 --- /dev/null +++ b/storage/app/geojson/libraries.geojson @@ -0,0 +1,209 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4019625, + 34.8570546 + ] + }, + "properties": { + "title": "Greenville County Library", + "notes": "Hughes Main Library", + "": "Downtown", + "address": "25 Heritage Green Place Greenville, SC 29601", + "access": "Open" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.439872, + 34.8159946 + ] + }, + "properties": { + "title": "Greenville County Library", + "notes": "Anderson Road", + "": "West", + "address": "2625 Anderson Road Greenville, SC 29611", + "access": "Open" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3781819, + 34.8040368 + ] + }, + "properties": { + "title": "Greenville County Library", + "notes": "Augusta Road", + "": "Ramsey Family", + "address": "100 Lydia Street Greenville, SC 29605", + "access": "Open" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4596013, + 34.9212412 + ] + }, + "properties": { + "title": "Greenville County Library", + "notes": "Berea", + "": "Sarah Dobey Jones", + "address": "111 N Hwy 25 Bypass Greenville, SC 29617", + "access": "Curbside Only" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2034361, + 34.6958465 + ] + }, + "properties": { + "title": "Greenville County Library", + "notes": "Fountain Inn", + "": "Kerry Ann Younts Culp", + "address": "311 N Main Street Fountain Inn, SC 29644", + "access": "Curbside Only" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2478732, + 34.9402752 + ] + }, + "properties": { + "title": "Greenville County Library", + "notes": "Greer", + "": "Jean M. Smith", + "address": "505 Pennsylvania Avenue Greer, SC 29650", + "access": "Open" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3265601, + 34.7758749 + ] + }, + "properties": { + "title": "Greenville County Library", + "notes": "Mauldin", + "": "W. Jack Greer", + "address": "800 W Butler Road Greenville, SC 29607", + "access": "Curbside Only" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2999491, + 34.8570154 + ] + }, + "properties": { + "title": "Greenville County Library", + "notes": "Pelham Road", + "": "F.W. Symmes", + "address": "1508 Pelham Road Greenville, SC 29615", + "access": "Open" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2601434, + 34.7480126 + ] + }, + "properties": { + "title": "Greenville County Library", + "notes": "Simpsonville", + "": "Hendricks", + "address": "626 NE Main Street Simpsonville, SC 29681", + "access": "Open" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3082204, + 34.9201733 + ] + }, + "properties": { + "title": "Greenville County Library", + "notes": "Taylors", + "": "Burdette", + "address": "316 W Main Street Taylors, SC 29687", + "access": "Curbside Only" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4407168, + 34.969873 + ] + }, + "properties": { + "title": "Greenville County Library", + "notes": "Travelers Rest", + "": "Sargent", + "address": "17 Center Street Travelers Rest, SC 29690", + "access": "Open" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2222907, + 34.808087 + ] + }, + "properties": { + "title": "Greenville County Library", + "notes": "Simpsonville", + "": "Five Forks", + "address": "104 Sunnydale Drive\nSimpsonville, SC 29681", + "access": "Curbside Only" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/live-theatres.geojson b/storage/app/geojson/live-theatres.geojson new file mode 100644 index 00000000..44c42bf8 --- /dev/null +++ b/storage/app/geojson/live-theatres.geojson @@ -0,0 +1,145 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4014, + 34.8562 + ] + }, + "properties": { + "title": "Greenville Little Theatre", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4022, + 34.8478 + ] + }, + "properties": { + "title": "The Peace Center", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.398789, + 34.85424 + ] + }, + "properties": { + "title": "Cafe and Then some", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.404, + 34.8434 + ] + }, + "properties": { + "title": "The Warehouse Theatre", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.402293, + 34.849557 + ] + }, + "properties": { + "title": "Centre Stage", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.405669, + 34.84208 + ] + }, + "properties": { + "title": "South Carolina Children's Theatre", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.29432, + 34.91992 + ] + }, + "properties": { + "title": "The Logos Theatre", + "notes": "https:\/\/thelogostheatre.com\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.35985637, + 34.87687004 + ] + }, + "properties": { + "title": "Bob Jones University Performance Hall", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.43444323, + 34.93107094 + ] + }, + "properties": { + "title": "The Playhouse", + "notes": "furman.edu" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.30638386, + 34.78542185 + ] + }, + "properties": { + "title": "Mauldin Cultural Center", + "notes": "mauldinculturalcenter.org" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/mice-on-main.geojson b/storage/app/geojson/mice-on-main.geojson new file mode 100644 index 00000000..b7ce0f1a --- /dev/null +++ b/storage/app/geojson/mice-on-main.geojson @@ -0,0 +1,131 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.397667, + 34.853167 + ] + }, + "properties": { + "mouse": "Mr. Mickey", + "hint": "By the fountain of a large uptown hotel" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.397867, + 34.853183 + ] + }, + "properties": { + "mouse": "Mrs. Minnie", + "hint": "Across the street from Mr. Mickey, on a parking barrier" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.398767, + 34.8515 + ] + }, + "properties": { + "mouse": "Milkey", + "hint": "South of Piazza Bergamo" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3985, + 34.851517 + ] + }, + "properties": { + "mouse": "Mickey Jr.", + "hint": "At the steps of an underground coffee shop" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.398783, + 34.850983 + ] + }, + "properties": { + "mouse": "Miss Minnie", + "hint": "Up, up and away! Is it a bird, a plane, or Miss Minnie?" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.399333, + 34.850283 + ] + }, + "properties": { + "mouse": "Melissa", + "hint": "Just south of Mexican wraps and Chinese cuisine" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.399283, + 34.850383 + ] + }, + "properties": { + "mouse": "Mitch", + "hint": "Just below Sticky Fingers @ entrance to Wochovia Plaza" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.399717, + 34.84935 + ] + }, + "properties": { + "mouse": "Mifflin", + "hint": "Sitting below wall next to an old corner bank" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.399617, + 34.848983 + ] + }, + "properties": { + "mouse": "Uncle Miles", + "hint": "If it rains, I hope I don\u2019t get washed away" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/music-venues.geojson b/storage/app/geojson/music-venues.geojson new file mode 100644 index 00000000..b75f661d --- /dev/null +++ b/storage/app/geojson/music-venues.geojson @@ -0,0 +1,277 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2765316, + 34.7371911 + ] + }, + "properties": { + "name": "Soundbox Tavern (CLOSED)", + "address": "507 W. Georgia Rd., Simpsonville, SC 29680", + "website": "", + "hours": "Monday - Friday, 3:30 pm - 2 am. Saturday, 2 pm - 2 am. Sunday, 2 pm - 12 am." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3610597, + 34.852634 + ] + }, + "properties": { + "name": "Gottrocks (CLOSED)", + "address": "200 Eisenhower Dr., Greenville, SC 29607", + "website": "", + "hours": "Monday - Friday, 4 pm - 2 am. Saturday and Sunday, 6 pm - 2 am." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4027468, + 34.8469641 + ] + }, + "properties": { + "name": "Blues Boulevard Jazz", + "address": "300 River St #203, Greenville, SC 29601", + "website": "http:\/\/bluesboulevardjazzgreenville.com\/", + "hours": "Tuesday - Saturday, 6 pm - Until (kitchen hours: Tuesday - Thursday, 6 pm - 10 pm, Friday and Saturday, 6 pm - 11 pm). Monday-Wednesday, available for special events." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4055076, + 34.84430575 + ] + }, + "properties": { + "name": "Smileys on the Roxx", + "address": "734 South Main Street Greenville, SC 29601", + "website": "https:\/\/smileysroxx.com\/greenville-downtown-smileys-on-the-roxx-music-lineup", + "hours": "Mon, Tue, Wed, Thur, Fri - 4:00 PM - 2:00 AM\nSun, Sat -11:00 AM - 2:00 AM" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2300857, + 34.722284 + ] + }, + "properties": { + "name": "Heritage Park Amphitheatre", + "address": "861 SE Main St, Simpsonville, SC 29681", + "website": "http:\/\/heritageparkamphitheatre.com\/", + "hours": "Hours vary based on event. Check website for details." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3648402, + 34.8427918 + ] + }, + "properties": { + "name": "Radio Room", + "address": "28 Liberty Lane Greenville, SC 29607", + "website": "http:\/\/www.radioroomgreenville.com\/", + "hours": "Hours vary based on event. Generally opens at 6 PM - Check website for details." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.397622, + 34.85194 + ] + }, + "properties": { + "name": "Jack n' Diane's Dualing Pianos", + "address": "115 N. Brown Street, Greenville, SC 29601", + "website": "http:\/\/www.jackndianes.com", + "hours": "Thursday - Saturday, 7 pm - 2 am." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.401372, + 34.84759 + ] + }, + "properties": { + "name": "The Peace Center", + "address": "300 South Main Street, Greenville, SC 29601", + "website": "http:\/\/www.peacecenter.org\/", + "hours": "Box office hours - Monday - Saturday, 10 am - 6 pm." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4189103, + 34.9024145 + ] + }, + "properties": { + "name": "J & M Pumphouse", + "address": "2640 Poinsett Highway, Greenville, SC 29609", + "website": "https:\/\/jmpumphouse.com", + "hours": "Sunday - Saturday: 5pm - 2am" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.391657, + 34.853432 + ] + }, + "properties": { + "name": "Bon Secours Wellness Arena", + "address": "650 N Academy St, Greenville, SC 29601", + "website": "http:\/\/www.bonsecoursarena.com\/", + "hours": "Hours vary based on event. Check website for details." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4286516, + 34.8470359 + ] + }, + "properties": { + "name": "Tipsy Music Pub (CLOSED)", + "address": "1237 Pendleton St, Greenville, SC 29611", + "website": "", + "hours": "Hours vary based on event. Check website for details." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2993561, + 34.8243354 + ] + }, + "properties": { + "name": "The Firmament (CLOSED)", + "address": "5 Market Point Dr, Greenville, SC 29607", + "website": "", + "hours": "Hours vary based on event. Check website for details." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2249644, + 34.9386589 + ] + }, + "properties": { + "name": "The Spinning Jenny (CLOSED - Oct 2023)", + "address": "107 Cannon St, Greer, SC 29651", + "website": "", + "hours": "Hours vary based on event. Check website for details." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.39613082, + 34.8502583 + ] + }, + "properties": { + "name": "Swanson's Warehouse", + "address": "12 N Irvine St, Greenville, SC 29601", + "website": "http:\/\/www.swansonswarehouse.com", + "hours": "Hours vary based on event. Check website for details." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.42865606, + 34.83591096 + ] + }, + "properties": { + "name": "The Foundry at Judson Mill", + "address": "701 Easley Bridge Rd Unit 6030, Greenville, SC 29611", + "website": "https:\/\/www.foundrygvl.com", + "hours": "Hours vary based on event. Check website for details." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3979045, + 34.8514415 + ] + }, + "properties": { + "name": "Cowboy Up", + "address": "17 Coffee Street, Greenville, SC 29601", + "website": "https:\/\/www.facebook.com\/cowboyupsaloongv\/", + "hours": "Hours vary based on event. Check website for details." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.39589005, + 34.8501757 + ] + }, + "properties": { + "name": "Fireforge Crafted Beer", + "address": "311 East Washington St Greenville, SC 29601", + "website": "https:\/\/fireforge.beer\/live-music\/", + "hours": "Bluegrass Jam on Tuesdays. Live Music on Fridays\nCheck website for details." + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/organic-farms.geojson b/storage/app/geojson/organic-farms.geojson new file mode 100644 index 00000000..c8fe492c --- /dev/null +++ b/storage/app/geojson/organic-farms.geojson @@ -0,0 +1,192 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.4693268, + -82.2600889 + ] + }, + "properties": { + "title": "Bio-Way Farm", + "address": "197 Bio Way, Ware Shoals, SC 29692", + "county": "Laurens", + "csa_program": "YES", + "website": "http:\/\/www.biowayfarm.com" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.906043, + -82.5694126 + ] + }, + "properties": { + "title": "Greenbrier Farms", + "address": "766 Hester Store Road, Easley, SC 29640", + "county": "Pickens", + "csa_program": "YES", + "website": "http:\/\/www.greenbrierfarms.com" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.6739645, + -82.845937 + ] + }, + "properties": { + "title": "Clemson University Student Organic Farm", + "address": "190 Field Station Dr, Clemson, SC 29631", + "county": "Anderson", + "csa_program": "YES", + "website": "https:\/\/www.clemson.edu\/public\/sustainableag\/soa\/index.html" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.419216, + -81.866342 + ] + }, + "properties": { + "title": "Crescent Farm LLC", + "address": "3111 SC-56, Clinton, SC 29325", + "county": "Laurens", + "csa_program": "YES", + "website": "https:\/\/www.crescentfarmsc.com\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.6357, + -83.050924 + ] + }, + "properties": { + "title": "Gibson Farms", + "address": "251 N Retreat Rd, Westminster, SC 29693", + "county": "Oconee", + "csa_program": "NO", + "website": "http:\/\/www.gibsonfarmsorganicbeef.com\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.6173885, + -83.0960574 + ] + }, + "properties": { + "title": "Greenfield Organic Farms", + "address": "1056 Greenfield Rd, Westminster, SC 29693", + "county": "Oconee", + "csa_program": "NO", + "website": "https:\/\/www.facebook.com\/pg\/greenfieldorganicfarms" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.990407, + -82.41111 + ] + }, + "properties": { + "title": "Nature's Peace Garden", + "address": "7 Fancy Lane, Travelers Rest, SC 29690", + "county": "Greenville", + "csa_program": "NO", + "website": "http:\/\/naturespeacegarden.com\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.9931817, + -82.476187 + ] + }, + "properties": { + "title": "Saint Basil Farm", + "address": "12965 Old White Horse Rd, Travelers Rest, SC 29690", + "county": "Greenville", + "csa_program": "NO", + "website": "https:\/\/www.facebook.com\/saintbasilfarm" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 35.014866, + -82.256208 + ] + }, + "properties": { + "title": "Carolina Natural Farms", + "address": "3755 Ballenger Road, Greer, SC 29651", + "county": "Greenville", + "csa_program": "YES", + "website": "https:\/\/carolina-natural-farms.homegrowncow.com\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.551803, + -82.457796 + ] + }, + "properties": { + "title": "Barefoot Farms", + "address": "293 Murphy Rd, Belton, SC 29627", + "county": "Anderson", + "csa_program": "NO", + "website": "http:\/\/barefootfarmsofbelton.com\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.3758989, + -82.761329 + ] + }, + "properties": { + "title": "Milky Way Farms", + "address": "220 Hidden Hills Rd, Starr, SC 29684", + "county": "Anderson", + "csa_program": "NO", + "website": "http:\/\/scmilkywayfarm.com\/" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/parking-decks.geojson b/storage/app/geojson/parking-decks.geojson new file mode 100644 index 00000000..a061e310 --- /dev/null +++ b/storage/app/geojson/parking-decks.geojson @@ -0,0 +1,260 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.399613, + 34.851915 + ] + }, + "properties": { + "title": "Poinsett Garage", + "type_of_parking": "multi-level parking garage", + "cost_of_parking": "first hour free, $1.50\/second hour, $1\/hour, $7.50\/day, $6\/event", + "address": "25 W McBee Avenue", + "entrance_streets": "McBee Street or Court Street" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3997398, + 34.8525343 + ] + }, + "properties": { + "title": "Richardson St. Garage", + "type_of_parking": "multi-level parking garage", + "cost_of_parking": "first hour free, $1.50\/second hour, $1\/hour, $7.50\/day, $6\/event. Weekend Non-Event Parking: Free (6pm Friday to Midnight Sunday)", + "address": "66 Richardson Street", + "entrance_streets": "Richardson Street" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4007555, + 34.8514811 + ] + }, + "properties": { + "title": "ONE City Plaza Garage", + "type_of_parking": "multi-level parking garage", + "cost_of_parking": "first hour free, $1.50\/second hour, $1\/hour, $7.50\/day, $6\/event", + "address": "34 Richardson Street", + "entrance_streets": "Richardson Street and West Washington Street" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3975041, + 34.8478097 + ] + }, + "properties": { + "title": "Broad Street Garage", + "type_of_parking": "multi-level parking garage", + "cost_of_parking": "first hour free, $1.50\/second hour, $1\/hour, $7.50\/day, $6\/event", + "address": "135 E Broad Street", + "entrance_streets": "McBee Avenue, Falls Street and Broad Street" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3976095, + 34.8496495 + ] + }, + "properties": { + "title": "South Spring Street Garage", + "type_of_parking": "multi-level parking garage", + "cost_of_parking": "first hour free, $1.50\/second hour, $1\/hour, $7.50\/day, $6\/event", + "address": "316 S Spring Street", + "entrance_streets": "S Spring Street or Brown Street" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4032613, + 34.8473593 + ] + }, + "properties": { + "title": "Riverplace Garage", + "type_of_parking": "bi-level parking deck", + "cost_of_parking": "first hour free, $1.50\/second hour, $1\/hour, $7.50\/day, $6\/event (note: no event parking during construction)", + "address": "300 River Street", + "entrance_streets": "River Street" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4023401, + 34.8490284 + ] + }, + "properties": { + "title": "River Street Garage", + "type_of_parking": "multi-level parking garage", + "cost_of_parking": "first hour free, $1.50\/second hour, $1\/hour, $7.50\/day, $6\/event", + "address": "414 River Street", + "entrance_streets": "River Street" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.398795, + 34.8533641 + ] + }, + "properties": { + "title": "N. Laurens Street Deck", + "type_of_parking": "bi-level parking deck", + "cost_of_parking": "first hour free, $1.50\/second hour, $1\/hour, $7.50\/day, $6\/event", + "address": "210 N Laurens Street", + "entrance_streets": "N Laurens Street" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.395717, + 34.8532083 + ] + }, + "properties": { + "title": "Liberty Square Garage", + "type_of_parking": "multi-level parking garage", + "cost_of_parking": "first hour free, $1.50\/second hour, $1\/hour, $7.50\/day, $6\/event", + "address": "65 Beattie Place", + "entrance_streets": "Beattie Street or Elford Street" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3958001, + 34.8531584 + ] + }, + "properties": { + "title": "Commons Garage", + "type_of_parking": "multi-level parking garage", + "cost_of_parking": "first hour free, $1.50\/second hour, $1\/hour, $7.50\/day, $6\/event", + "address": "60 Beattie Place", + "entrance_streets": "Beattie Street or Brown Street" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3934548, + 34.8527526 + ] + }, + "properties": { + "title": "Church Street Garage", + "type_of_parking": "multi-level parking garage", + "cost_of_parking": "$.75\/half hour, $1.50\/hour, $7.50\/day, $6\/events", + "address": "320 N Church Street", + "entrance_streets": "Church Street" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4012883, + 34.8569715 + ] + }, + "properties": { + "title": "Heritage Green Garage", + "type_of_parking": "bi-level parking deck", + "cost_of_parking": "first 15 minutes free, $.50\/half hour, $4\/day, free on weekends", + "address": "27 Heritage Green Place", + "entrance_streets": "Heritage Green Place" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3999932, + 34.8510181 + ] + }, + "properties": { + "title": "West Washington Street Deck", + "type_of_parking": "Above surface parking lot", + "cost_of_parking": "$1\/hour, $7\/daily, normal cost for events, Free (6pm-6am M to F, all weekend)", + "address": "101 W Washington Street", + "entrance_streets": "W Washington Street" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4063904, + 34.8432151 + ] + }, + "properties": { + "title": "West End Lot", + "type_of_parking": "Parking Lot", + "cost_of_parking": "first hour free, $1.50\/second hour, $1\/hour, $7.50\/day, $6\/event", + "address": "106 Augusta Street", + "entrance_streets": "Augusta Street" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4035942, + 34.8407286 + ] + }, + "properties": { + "title": "Greenville County Square", + "type_of_parking": "Parking Lot", + "cost_of_parking": "$0 (Note: Only open to County Square guests on M-F)", + "address": "301 University Ridge", + "entrance_streets": "University Ridge or Howe St" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/playgrounds.geojson b/storage/app/geojson/playgrounds.geojson new file mode 100644 index 00000000..97de09cf --- /dev/null +++ b/storage/app/geojson/playgrounds.geojson @@ -0,0 +1,500 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.331445, + 34.829917 + ] + }, + "properties": { + "title": "Legacy Park", + "address": "336 Rocky Slope Rd, Greenville, SC 29607", + "website": "http:\/\/www.greenvillesc.gov\/Facilities\/Facility\/Details\/Legacy-Park-9" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.352984, + 34.780938 + ] + }, + "properties": { + "title": "Conestee Park", + "address": "840,Mauldin Road,Greenville,SC 29607", + "website": "http:\/\/greenvillerec.com\/parks\/conestee-park\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.350467, + 34.844674 + ] + }, + "properties": { + "title": "Runway Park", + "address": "21 Airport Rd Ext, Greenville, SC 29607", + "website": "http:\/\/www.greenvilledowntownairport.com\/RunwayParkatGMU.html" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.288143, + 34.791371 + ] + }, + "properties": { + "title": "Mauldin City Park", + "address": "203 Corn Rd, Greenville, SC 29607", + "website": "http:\/\/www.cityofmauldin.org\/parks-facilities" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.325161, + 34.771841 + ] + }, + "properties": { + "title": "Sunset Park - Miracle League playground.", + "address": "211 Fowler Cir, Greenville, SC 29607", + "website": "http:\/\/www.cityofmauldin.org\/parks-facilities" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.303719, + 34.784731 + ] + }, + "properties": { + "title": "Springfield Park", + "address": "129-199 Hyde Cir, Mauldin, SC 29662", + "website": "http:\/\/www.cityofmauldin.org\/parks-facilities" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.306644, + 34.817495 + ] + }, + "properties": { + "title": "Pineforest Park", + "address": "108 Clearfield Rd, Greenville, SC 29607", + "website": "http:\/\/www.cityofmauldin.org\/parks-facilities" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.291048, + 34.852954 + ] + }, + "properties": { + "title": "Gary L. Pittman Memorial Park", + "address": "420 Blacks Rd., Greenville, SC 29615", + "website": "http:\/\/greenvillerec.com\/parks\/gary-l-pittman\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.23364, + 34.719684 + ] + }, + "properties": { + "title": "Heritage Park", + "address": "861 SE Main St, Simpsonville, SC 29681", + "website": "http:\/\/heritageparkamphitheatre.com\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.239339, + 34.929055 + ] + }, + "properties": { + "title": "Century Park", + "address": "3605 Brushy Creek Rd, Greer, SC 29650", + "website": "http:\/\/www.cityofgreer.org\/departments\/century.php" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.373378, + 34.897645 + ] + }, + "properties": { + "title": "Herdklotz Park", + "address": "126 Beverly Rd, Greenville, SC 29609", + "website": "http:\/\/greenvillerec.com\/parks\/herdklotz\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.300091, + 34.886173 + ] + }, + "properties": { + "title": "Pavilion Recreation Complex-Boundless Playground", + "address": "400 Scottswood Road, Taylors, SC 29687", + "website": "http:\/\/greenvillerec.com\/parks\/pavilion-recreation-complex\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.442341, + 34.970141 + ] + }, + "properties": { + "title": "Gateway Park", + "address": "115 Henderson Dr., Travelers Rest, SC 29690", + "website": "http:\/\/greenvillerec.com\/parks\/gateway-park\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.437376, + 34.950834 + ] + }, + "properties": { + "title": "Poinsett Park", + "address": "5 Pine Forest Rd. Travelers Rest, SC 29690", + "website": "http:\/\/greenvillerec.com\/parks\/poinsett\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.391244, + 34.887413 + ] + }, + "properties": { + "title": "Piney Mountain Park", + "address": "501 Worley Rd., Greenville, SC 29609", + "website": "http:\/\/greenvillerec.com\/parks\/piney-mtn\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.302418, + 34.953801 + ] + }, + "properties": { + "title": "Lincoln Park", + "address": "169 Harnitha Lane, Taylors, SC 29687", + "website": "http:\/\/greenvillerec.com\/parks\/lincoln\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.472027, + 34.902178 + ] + }, + "properties": { + "title": "Northwest Park", + "address": "8109 White Horse Rd., Greenville, SC 29617", + "website": "http:\/\/greenvillerec.com\/parks\/greenville-tec\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.311491, + 35.052698 + ] + }, + "properties": { + "title": "David Jackson Park", + "address": "25 Fowler Rd., Taylors, SC 29687", + "website": "http:\/\/greenvillerec.com\/parks\/david-jackson\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.194129, + 34.811881 + ] + }, + "properties": { + "title": "MESA Soccer Complex Playground", + "address": "1020 Anderson Ridge Road, Greer, SC 29651", + "website": "http:\/\/greenvillerec.com\/parks\/mesa-soccer-complex\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.335998, + 34.869048 + ] + }, + "properties": { + "title": "Butler Springs Park", + "address": "301 Butler Springs Rd., Greenville, SC 29615", + "website": "http:\/\/greenvillerec.com\/parks\/butler-springs-park\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.442134, + 34.859022 + ] + }, + "properties": { + "title": "Westside Park", + "address": "2700 W. Blue Ridge Drive, Greenville, SC 29611", + "website": "http:\/\/greenvillerec.com\/parks\/westside-park\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.433992, + 34.842378 + ] + }, + "properties": { + "title": "Shoeless Joe Jackson Memorial Park", + "address": "406 West Ave., Greenville, SC 29611", + "website": "http:\/\/greenvillerec.com\/parks\/shoeless-joe\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.261967, + 34.905678 + ] + }, + "properties": { + "title": "East Riverside Park", + "address": "1155 S. Suber Road, Greer, SC 29650", + "website": "http:\/\/greenvillerec.com\/parks\/east-riverside\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.381176, + 34.788675 + ] + }, + "properties": { + "title": "Woodfield Playground", + "address": "48 Ridgeway Drive, Greenville, SC 29605", + "website": "http:\/\/greenvillerec.com\/parks\/woodfield\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.443844, + 34.828954 + ] + }, + "properties": { + "title": "Welcome Park", + "address": "10 York Drive, Greenville, SC 29611", + "website": "http:\/\/greenvillerec.com\/parks\/welcome\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.420243, + 34.873239 + ] + }, + "properties": { + "title": "Verner Springs Park", + "address": "4 Old Bleachery Rd., Greenville, SC 29609", + "website": "http:\/\/greenvillerec.com\/parks\/verner-springs\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.301891, + 34.616644 + ] + }, + "properties": { + "title": "Cedar Falls Playground", + "address": "201 Cedar Falls Road, Fountain Inn, SC 29644", + "website": "http:\/\/greenvillerec.com\/parks\/cedar-falls\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.303004, + 34.744639 + ] + }, + "properties": { + "title": "Southside Park", + "address": "417 Baldwin Road, Simpsonville, SC 29680", + "website": "http:\/\/greenvillerec.com\/parks\/southside\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.428831, + 34.772877 + ] + }, + "properties": { + "title": "Lakeside Park", + "address": "1500 Piedmont Highway, Piedmont, SC 29673", + "website": "http:\/\/greenvillerec.com\/parks\/lakeside\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.374126, + 34.865942 + ] + }, + "properties": { + "title": "Timmons Park Playground", + "address": "121 Oxford St, Greenville, SC 29607", + "website": "http:\/\/www.greenvillesc.gov\/Facilities\/Facility\/Details\/Timmons-Park-21" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.38589, + 34.847067 + ] + }, + "properties": { + "title": "Cleveland Park", + "address": "150,Cleveland Park dr, Greenville,SC 29601", + "website": "http:\/\/www.greenvillesc.gov\/Facilities\/Facility\/Details\/Cleveland-Park-1" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.36981, + 34.927053 + ] + }, + "properties": { + "title": "Paris Mountain StatePark Playground", + "address": "2401 State Park Road, Greenville, SC 29609", + "website": "http:\/\/southcarolinaparks.com\/parismountain\/introduction.aspx" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.22293, + 34.93866 + ] + }, + "properties": { + "title": "Greer City Park", + "address": "301 East Poinsett Street Greer, SC 29651", + "website": "www.greercitypark.com" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/recreation-baseball-fields.geojson b/storage/app/geojson/recreation-baseball-fields.geojson new file mode 100644 index 00000000..054f07d5 --- /dev/null +++ b/storage/app/geojson/recreation-baseball-fields.geojson @@ -0,0 +1,200 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.44149, + 34.971477 + ] + }, + "properties": { + "title": "Gateway Park", + "notes": "115 Henderson Dr., Travelers Rest, SC 29690", + "amenities:": "ATHLETIC FIELDS, BASEBALL, BIKE SKILLS FLOW PARK, FOOTBALL, MOUNTAIN BIKING, PLAYGROUND, TENNIS" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.336644, + 34.868996 + ] + }, + "properties": { + "title": "Butler Springs Park", + "notes": "301 Butler Springs Rd., Greenville, SC 29615", + "amenities:": "ATHLETIC FIELDS, BASEBALL, PLAYGROUND, SHELTER, TENNIS, WALKING TRAIL" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.442819, + 34.859255 + ] + }, + "properties": { + "title": "Westside Park", + "notes": "2700 W. Blue Ridge Drive, Greenville, SC 29611", + "amenities:": "AQUATIC COMPLEX, ATHLETIC FIELDS, BASEBALL, PLAYGROUND, SHELTER" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.492846, + 35.027071 + ] + }, + "properties": { + "title": "Slater-White Park", + "notes": "8 Slater Rd, Slater, SC 29661", + "amenities:": "ATHLETIC FIELDS, BASEBALL" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.49788, + 35.021458 + ] + }, + "properties": { + "title": "Jimi Turner Park (Slater-Marietta)", + "notes": "210 Baker Cir., Slater 29661", + "amenities:": "ATHLETIC FIELDS, BASEBALL" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.434945, + 34.844153 + ] + }, + "properties": { + "title": "Shoeless Joe Jackson Memorial Park", + "notes": "406 West Ave., Greenville, SC 29611", + "amenities:": "ATHLETIC FIELDS, BASEBALL, PLAYGROUND, SHELTER" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.349657, + 34.778245 + ] + }, + "properties": { + "title": "Conestee Park", + "notes": "840 Mauldin Road, Greenville, SC 29607", + "amenities:": "BASEBALL, DOG PARK, PLAYGROUND, SHELTER, TOURNAMENT FACILITY, WALKING TRAIL" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.303895, + 34.954254 + ] + }, + "properties": { + "title": "Lincoln Park", + "notes": "169 Harnitha Lane, Taylors, SC 29687", + "amenities:": "ATHLETIC FIELDS, BASEBALL, BASKETBALL, PLAYGROUND, SHELTER, WALKING TRAIL" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.428989, + 34.77242 + ] + }, + "properties": { + "title": "Lakeside Park", + "notes": "1500 Piedmont Highway, Piedmont, SC 29673", + "amenities:": "ATHLETIC FIELDS, BASEBALL, BASKETBALL, FOOTBALL, PLAYGROUND, SAND VOLLEYBALL, SHELTER, TOURNAMENT FACILITY, WALKING TRAIL, WATERPARK" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.46721, + 34.895043 + ] + }, + "properties": { + "title": "Northwest Park", + "notes": "8109 White Horse Rd., Greenville, SC 29617", + "amenities:": "ATHLETIC FIELDS, BASEBALL, FOOTBALL, PLAYGROUND, SHELTER, SOCCER, TOURNAMENT FACILITY" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.312219, + 35.052487 + ] + }, + "properties": { + "title": "David Jackson Park", + "notes": "25 Fowler Rd., Taylors, SC 29687", + "amenities:": "ATHLETIC FIELDS, BASEBALL, PLAYGROUND, TOURNAMENT FACILITY, WALKING TRAIL" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.283382, + 34.913355 + ] + }, + "properties": { + "title": "Corey Burns Park", + "notes": "201 Boling Ct., Taylors, SC 29687", + "amenities:": "ATHLETIC FIELDS, BASEBALL, TOURNAMENT FACILITY" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.349028, + 34.592085 + ] + }, + "properties": { + "title": "Loretta C. Wood Park", + "notes": "10270 Augusta Rd., Pelzer, SC 29699", + "amenities:": "ATHLETIC FIELDS, BASEBALL, PLAYGROUND, WALKING TRAIL" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/recycling-locations.geojson b/storage/app/geojson/recycling-locations.geojson new file mode 100644 index 00000000..92fecc54 --- /dev/null +++ b/storage/app/geojson/recycling-locations.geojson @@ -0,0 +1 @@ +{"type":"FeatureCollection","crs":{"type":"name","properties":{"name":"EPSG:4326"}},"features":[{"type":"Feature","id":20,"geometry":{"type":"Point","coordinates":[-82.354919132409847,35.032236557175395]},"properties":{"TYPE":"RECYCLE DROP-OFF","NAME":"MOUNTAIN VIEW ELEMENTARY SCHOOL","ADDRESS":"6350 HWY 253","CITY":"TAYLORS","STATE":"SC","ZIPCODE":29687,"HOURS":"24 HOURS A DAY, 7 DAYS A WEEK","ACCEPTS":"AEROSOL CANS, ALUMINUM (CANS, CLEAN FOIL, AND PIE TINS), CARDBOARD (CORRUGATED; FLATTENED), PAPER (ALL PAPER EXCEPT WAXED COATED), PAPERBOARD, PLATIC BOTTLES AND JUGS(#1-#7), STEEL CANS","OBJECTID":20}},{"type":"Feature","id":21,"geometry":{"type":"Point","coordinates":[-82.518730222423741,35.052095692349234]},"properties":{"TYPE":"RECYCLE CONVENIENCE CENTER","NAME":"ECHO VALLEY RESIDENTIAL WASTE AND RECYCLING CENTER","ADDRESS":"3705 GEER HWY","CITY":"MARIETTA","STATE":"SC","ZIPCODE":29661,"HOURS":"TUE - SAT 7 AM - 6 PM","ACCEPTS":"ALUMINUM AND STEEL CANS, APPLIANCES, AUTOMOTIVE PETROLEUM PRODUCTS, LEAD-ACID BATTERIES, CARDBOARD, COOKING OIL, E-WASTE, LIGHT BULBS, PAINT, PAPER, PASTIC BOLLTES AND JUGS, TIRES, YARD DEBRIS","OBJECTID":21}},{"type":"Feature","id":22,"geometry":{"type":"Point","coordinates":[-82.482984415368563,34.913922999716988]},"properties":{"TYPE":"RECYCLE CONVENIENCE CENTER","NAME":"BLACKBERRY RESIDENTIAL WASTE AND RECYCLING CENTER","ADDRESS":"409 BLACKBERRY RD","CITY":"GREENVILLE","STATE":"SC","ZIPCODE":29617,"HOURS":"TUE - SAT 7 AM - 6 PM","ACCEPTS":"ALUMINUM AND STEEL CANS, APPLIANCES, AUTOMOTIVE PETROLEUM PRODUCTS, LEAD-ACID BATTERIES, CARDBOARD, COOKING OIL, E-WASTE, LIGHT BULBS, PAINT, PAPER, PASTIC BOLLTES AND JUGS, TIRES, YARD DEBRIS","OBJECTID":22}},{"type":"Feature","id":23,"geometry":{"type":"Point","coordinates":[-82.427770068503307,34.974061427370181]},"properties":{"TYPE":"RECYCLE DROP-OFF","NAME":"GATEWAY PLAZA","ADDRESS":"148 WALNUT LN","CITY":"TRAVELERS REST","STATE":"SC","ZIPCODE":29690,"HOURS":"24 HOURS A DAY, 7 DAYS A WEEK","ACCEPTS":"AEROSOL CANS, ALUMINUM (CANS, CLEAN FOIL, AND PIE TINS), CARDBOARD (CORRUGATED; FLATTENED), PAPER (ALL PAPER EXCEPT WAXED COATED), PAPERBOARD, PLATIC BOTTLES AND JUGS(#1-#7), STEEL CANS","OBJECTID":23}},{"type":"Feature","id":24,"geometry":{"type":"Point","coordinates":[-82.276900399844934,35.013543550410034]},"properties":{"TYPE":"RECYCLE CONVENIENCE CENTER","NAME":"O'NEAL RESIDENTIAL WASTE AND RECYCLING CENTER","ADDRESS":"3769 CAMP RD","CITY":"GREER","STATE":"SC","ZIPCODE":29651,"HOURS":"TUE - SAT 7 AM - 6 PM","ACCEPTS":"ALUMINUM AND STEEL CANS, APPLIANCES, AUTOMOTIVE PETROLEUM PRODUCTS, LEAD-ACID BATTERIES, CARDBOARD, COOKING OIL, E-WASTE, LIGHT BULBS, PAINT, PAPER, PASTIC BOLLTES AND JUGS, TIRES, YARD DEBRIS","OBJECTID":24}},{"type":"Feature","id":25,"geometry":{"type":"Point","coordinates":[-82.385823047793409,34.856053869209383]},"properties":{"TYPE":"RECYCLE DROP-OFF","NAME":"CITY OF GREENVILLE RECYCLING CENTER","ADDRESS":"800 E STONE AVE","CITY":"GREENVILLE","STATE":"SC","ZIPCODE":29601,"HOURS":"MON - SUN 7 AM - 5:30 PM","ACCEPTS":"ALUMINUM CANS, CARDBOARD, PAPER (MIXED PAPER, NEWSPAPER AND INSERTS, MAGAZINES, UNWANTED MAIL), PAPERBOARD, PLATIC BOTTLES JARS AND JUGS, STEEL CANS, TELEPHONE BOOKS, TIRES, USED BOOKS (NO TEXTBOOKS; COVERS AND BINDINGS REMOVED)","OBJECTID":25}},{"type":"Feature","id":26,"geometry":{"type":"Point","coordinates":[-82.32745573435642,34.873803771352975]},"properties":{"TYPE":"RECYCLE DROP-OFF","NAME":"BI-LO - E NORTH ST","ADDRESS":"3715 E NORTH ST","CITY":"GREENVILLE","STATE":"SC","ZIPCODE":29615,"HOURS":"24 HOURS A DAY, 7 DAYS A WEEK","ACCEPTS":"AEROSOL CANS, ALUMINUM (CANS, CLEAN FOIL, AND PIE TINS), CARDBOARD (CORRUGATED; FLATTENED), PAPER (ALL PAPER EXCEPT WAXED COATED), PAPERBOARD, PLATIC BOTTLES AND JUGS(#1-#7), STEEL CANS","OBJECTID":26}},{"type":"Feature","id":27,"geometry":{"type":"Point","coordinates":[-82.427712638419109,34.676952595679232]},"properties":{"TYPE":"RECYCLE CONVENIENCE CENTER","NAME":"PIEDMONT RESIDENTIAL WASTE AND RECYCLING CENTER","ADDRESS":"200 OWENS RD","CITY":"PIEDMONT","STATE":"SC","ZIPCODE":29673,"HOURS":"TUE - SAT 7 AM - 6 PM","ACCEPTS":"ALUMINUM AND STEEL CANS, APPLIANCES, AUTOMOTIVE PETROLEUM PRODUCTS, LEAD-ACID BATTERIES, CARDBOARD, COOKING OIL, E-WASTE, LIGHT BULBS, PAINT, PAPER, PASTIC BOLLTES AND JUGS, TIRES, YARD DEBRIS","OBJECTID":27}},{"type":"Feature","id":28,"geometry":{"type":"Point","coordinates":[-82.187409487297643,34.80596596803835]},"properties":{"TYPE":"RECYCLE CONVENIENCE CENTER","NAME":"ENOREE RESIDENTIAL WASTE AND RECYCLING CENTER","ADDRESS":"1311 ANDERSON RIDGE RD","CITY":"GREER","STATE":"SC","ZIPCODE":29651,"HOURS":"TUE - SAT 7 AM - 6 PM","ACCEPTS":"ALUMINUM AND STEEL CANS, APPLIANCES, AUTOMOTIVE PETROLEUM PRODUCTS, LEAD-ACID BATTERIES, CARDBOARD, COOKING OIL, E-WASTE, LIGHT BULBS, PAINT, PAPER, PASTIC BOLLTES AND JUGS, TIRES, YARD DEBRIS","OBJECTID":28}},{"type":"Feature","id":29,"geometry":{"type":"Point","coordinates":[-82.251045177458124,34.74006257781727]},"properties":{"TYPE":"RECYCLE DROP-OFF","NAME":"SIMPSONVILLE CITY PARK","ADDRESS":"405 E CURTIS ST","CITY":"SIMPSONVILLE","STATE":"SC","ZIPCODE":29681,"HOURS":"24 HOURS A DAY, 7 DAYS A WEEK","ACCEPTS":"AEROSOL CANS, ALUMINUM (CANS, CLEAN FOIL, AND PIE TINS), CARDBOARD (CORRUGATED; FLATTENED), PAPER (ALL PAPER EXCEPT WAXED COATED), PAPERBOARD, PLATIC BOTTLES AND JUGS(#1-#7), STEEL CANS","OBJECTID":29}},{"type":"Feature","id":30,"geometry":{"type":"Point","coordinates":[-82.282687325089668,34.685536724162226]},"properties":{"TYPE":"RECYCLE CONVENIENCE CENTER","NAME":"SIMPSONVILLE RESIDENTIAL WASTE & RECYCLING CENTER","ADDRESS":"517 HIPPS RD","CITY":"SIMPSONVILLE","STATE":"SC","ZIPCODE":29680,"HOURS":"TUE - SAT 7 AM - 6 PM","ACCEPTS":"ALUMINUM AND STEEL CANS, APPLIANCES, AUTOMOTIVE PETROLEUM PRODUCTS, LEAD-ACID BATTERIES, CARDBOARD, COOKING OIL, E-WASTE, LIGHT BULBS, PAINT, PAPER, PASTIC BOLLTES AND JUGS, TIRES, YARD DEBRIS","OBJECTID":30}},{"type":"Feature","id":31,"geometry":{"type":"Point","coordinates":[-82.313031626699598,34.539909825731037]},"properties":{"TYPE":"RECYCLE LANDFILL","NAME":"TWIN CHIMNEYS LANDFILL","ADDRESS":"11075 AUGUSTA RD","CITY":"HONEA PATH","STATE":"SC","ZIPCODE":29654,"HOURS":"MON - FRI 7:30 AM - 4 PM | SAT 8 AM - 4 PM","ACCEPTS":"ALUMINUM AND STEEL CANS, APPLIANCES, AUTOMOTIVE PETROLEUM PRODUCTS, LEAD-ACID BATTERIES, CARDBOARD, COOKING OIL, E-WASTE, LIGHT BULBS, PAINT, PAPER, PASTIC BOLLTES AND JUGS, TIRES, YARD DEBRIS","OBJECTID":31}},{"type":"Feature","id":32,"geometry":{"type":"Point","coordinates":[-82.287348738526617,35.03951873679646]},"properties":{"TYPE":"RECYCLE DROP-OFF","NAME":"BLUE RIDGE HIGH SCHOOL","ADDRESS":"2151 FEWS CHAPEL RD","CITY":"GREER","STATE":"SC","ZIPCODE":29651,"HOURS":"24 HOURS A DAY, 7 DAYS A WEEK","ACCEPTS":"AEROSOL CANS, ALUMINUM (CANS, CLEAN FOIL, AND PIE TINS), CARDBOARD (CORRUGATED; FLATTENED), PAPER (ALL PAPER EXCEPT WAXED COATED), PAPERBOARD, PLATIC BOTTLES AND JUGS(#1-#7), STEEL CANS","OBJECTID":32}},{"type":"Feature","id":33,"geometry":{"type":"Point","coordinates":[-82.398171092474328,34.873511008327966]},"properties":{"TYPE":"RECYCLE DROP-OFF","NAME":"NORTH GREENVILLE RECYCLING CENTER","ADDRESS":"514 RUTHERFORD RD","CITY":"GREENVILLE","STATE":"SC","ZIPCODE":29609,"HOURS":"MON - SUN 7 AM - 5:30 PM","ACCEPTS":"ALUMINUM CANS, CARDBOARD, PAPER (MIXED PAPER, NEWSPAPER AND INSERTS, MAGAZINES, UNWANTED MAIL), PAPERBOARD, PLATIC BOTTLES JARS AND JUGS, STEEL CANS","OBJECTID":33}},{"type":"Feature","id":34,"geometry":{"type":"Point","coordinates":[-82.276837310734635,34.772207882368271]},"properties":{"TYPE":"RECYCLE DROP-OFF","NAME":"BROOKWOOD CHURCH","ADDRESS":"580 BROOKWOOD POINT PL","CITY":"SIMPSONVILLE","STATE":"SC","ZIPCODE":29681,"HOURS":"24 HOURS A DAY, 7 DAYS A WEEK","ACCEPTS":"AEROSOL CANS, ALUMINUM (CANS, CLEAN FOIL, AND PIE TINS), CARDBOARD (CORRUGATED; FLATTENED), PAPER (ALL PAPER EXCEPT WAXED COATED), PAPERBOARD, PLATIC BOTTLES AND JUGS(#1-#7), STEEL CANS","OBJECTID":34}},{"type":"Feature","id":35,"geometry":{"type":"Point","coordinates":[-82.212388165265679,34.692364511795411]},"properties":{"TYPE":"RECYCLE DROP-OFF","NAME":"FOUNTAIN INN ELEMENTERY SCHOOL","ADDRESS":"608 FAIRVIEW ST","CITY":"FOUNTAIN INN","STATE":"SC","ZIPCODE":29644,"HOURS":"24 HOURS A DAY, 7 DAYS A WEEK","ACCEPTS":"AEROSOL CANS, ALUMINUM (CANS, CLEAN FOIL, AND PIE TINS), CARDBOARD (CORRUGATED; FLATTENED), PAPER (ALL PAPER EXCEPT WAXED COATED), PAPERBOARD, PLATIC BOTTLES AND JUGS(#1-#7), STEEL CANS","OBJECTID":35}},{"type":"Feature","id":36,"geometry":{"type":"Point","coordinates":[-82.350192476101711,34.780566689627669]},"properties":{"TYPE":"RECYCLE DROP-OFF","NAME":"CONESTEE PARK","ADDRESS":"840 MAULDIN RD","CITY":"GREENVILLE","STATE":"SC","ZIPCODE":29607,"HOURS":"24 HOURS A DAY, 7 DAYS A WEEK","ACCEPTS":"AEROSOL CANS, ALUMINUM (CANS, CLEAN FOIL, AND PIE TINS), CARDBOARD (CORRUGATED; FLATTENED), PAPER (ALL PAPER EXCEPT WAXED COATED), PAPERBOARD, PLATIC BOTTLES AND JUGS(#1-#7), STEEL CANS","OBJECTID":36}},{"type":"Feature","id":37,"geometry":{"type":"Point","coordinates":[-82.235319030579433,34.928537073930883]},"properties":{"TYPE":"RECYCLE DROP-OFF","NAME":"CITY OF GREER RECYCLING LOCATION","ADDRESS":"315 BUNCOMBE ST","CITY":"GREER","STATE":"SC","ZIPCODE":29650,"HOURS":"MON - FRI 8 AM - 5 PM | SAT 8 AM - 12 PM ","ACCEPTS":"ALUMINUM CANS, LARGE APPLIANCES, LEAD-ACID BATTERIES, CARDBOARD, NEWSPAPER AND INSERTS, PLATIC BOTTLES AND JUGS, SCRAP METAL, STEEL CANS, TIRES, USED MOTOR OIL","OBJECTID":37}},{"type":"Feature","id":38,"geometry":{"type":"Point","coordinates":[-82.374561825433418,34.806028308440617]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"ADVANCE AUTO","ADDRESS":"1264 S PLEASANTBURG DR","CITY":"GREENVILLE","STATE":"SC","ZIPCODE":29605,"HOURS":"MON - SAT 7:30 AM - 9 PM | SUN 9 AM - 8 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":38}},{"type":"Feature","id":39,"geometry":{"type":"Point","coordinates":[-82.373484766845195,34.888169782752215]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"ADVANCE AUTO","ADDRESS":"2109 N PLEASANTBURG DR","CITY":"GREENVILLE","STATE":"SC","ZIPCODE":29609,"HOURS":"MON - SAT 7:30 AM - 9 PM | SUN 9 AM - 8 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":39}},{"type":"Feature","id":40,"geometry":{"type":"Point","coordinates":[-82.453341512361476,34.850751014842999]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"ADVANCE AUTO","ADDRESS":"3507 W BLUE RIDGE DR","CITY":"GREENVILLE","STATE":"SC","ZIPCODE":29611,"HOURS":"MON - SAT 7:30 AM - 9 PM | SUN 9 AM - 8 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":40}},{"type":"Feature","id":41,"geometry":{"type":"Point","coordinates":[-82.267609848715267,34.860332501425816]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"ADVANCE AUTO","ADDRESS":"3713 PELHAM RD","CITY":"GREENVILLE","STATE":"SC","ZIPCODE":29615,"HOURS":"MON - SAT 7:30 AM - 9 PM | SUN 9 AM - 8 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":41}},{"type":"Feature","id":42,"geometry":{"type":"Point","coordinates":[-82.335796037557884,34.858044979171254]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"JIFFY LUBE","ADDRESS":"416 PELAHM RD","CITY":"GREENVILLE","STATE":"SC","ZIPCODE":29615,"HOURS":"MON - SAT 8 AM - 6 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":42}},{"type":"Feature","id":43,"geometry":{"type":"Point","coordinates":[-82.310910818843638,34.779925058576659]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"JIFFY LUBE","ADDRESS":"109 N MAIN ST","CITY":"MAULDIN","STATE":"SC","ZIPCODE":29662,"HOURS":"MON - SAT 8 AM - 6 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":43}},{"type":"Feature","id":44,"geometry":{"type":"Point","coordinates":[-82.320621403273478,34.914893565295387]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"JIFFY LUBE","ADDRESS":"3590 RUTHERFORD RD","CITY":"TAYLORS","STATE":"SC","ZIPCODE":29687,"HOURS":"MON - SAT 8 AM - 6 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":44}},{"type":"Feature","id":45,"geometry":{"type":"Point","coordinates":[-82.408242873077441,34.893896091854614]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"JIFFY LUBE","ADDRESS":"1930 POINSETT HWY","CITY":"GREENVILLE","STATE":"SC","ZIPCODE":29609,"HOURS":"MON - SAT 8 AM - 6 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":45}},{"type":"Feature","id":46,"geometry":{"type":"Point","coordinates":[-82.257670639085717,34.94294626785836]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"JIFFY LUBE","ADDRESS":"1210 W WADE HAMPTON BLVD","CITY":"GREER","STATE":"SC","ZIPCODE":29650,"HOURS":"MON - SAT 8 AM - 6 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":46}},{"type":"Feature","id":47,"geometry":{"type":"Point","coordinates":[-82.4309501447011,34.825024222857031]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"AUTO ZONE","ADDRESS":"2006 ANDERSON RD","CITY":"GREENVILLE","STATE":"SC","ZIPCODE":29611,"HOURS":"MON - SAT 7:30 AM - 9 PM | SUN 9 AM - 9 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":47}},{"type":"Feature","id":48,"geometry":{"type":"Point","coordinates":[-82.455357830005013,34.882009388509836]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"AUTO ZONE","ADDRESS":"3 FARRS BRIDGE RD","CITY":"GREENVILLE","STATE":"SC","ZIPCODE":29617,"HOURS":"MON - SAT 7:30 AM - 9 PM | SUN 9 AM - 9 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":48}},{"type":"Feature","id":49,"geometry":{"type":"Point","coordinates":[-82.396644013050192,34.887096659107883]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"AUTO ZONE","ADDRESS":"3109 N PLEASANTBURG DR","CITY":"GREENVILLE","STATE":"SC","ZIPCODE":29609,"HOURS":"MON - SAT 7:30 AM - 9 PM | SUN 9 AM - 9 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":49}},{"type":"Feature","id":50,"geometry":{"type":"Point","coordinates":[-82.360257502738904,34.842574029859662]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"AUTO ZONE","ADDRESS":"1535 LAURENS RD","CITY":"GRENNVILLE","STATE":"SC","ZIPCODE":29607,"HOURS":"MON - SAT 7:30 AM - 9 PM | SUN 9 AM - 9 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":50}},{"type":"Feature","id":51,"geometry":{"type":"Point","coordinates":[-82.31392826868246,34.783998199624627]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"AUTO ZONE","ADDRESS":"413 N MAIN ST","CITY":"MAULDIN","STATE":"SC","ZIPCODE":29662,"HOURS":"MON - SAT 7:30 AM - 9 PM | SUN 9 AM - 9 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":51}},{"type":"Feature","id":52,"geometry":{"type":"Point","coordinates":[-82.254638256510702,34.727957967174689]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"AUTO ZONE","ADDRESS":"426 SE MAIN ST","CITY":"SIMPSONVILLE","STATE":"SC","ZIPCODE":29681,"HOURS":"MON - SAT 7:30 AM - 9 PM | SUN 9 AM - 9 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":52}},{"type":"Feature","id":53,"geometry":{"type":"Point","coordinates":[-82.222489933517451,34.947483157115329]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"AUTO ZONE","ADDRESS":"204 E WADE HAMPTON BLVD","CITY":"GREER","STATE":"SC","ZIPCODE":29651,"HOURS":"MON - SAT 7:30 AM - 9 PM | SUN 9 AM - 9 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":53}},{"type":"Feature","id":54,"geometry":{"type":"Point","coordinates":[-82.349620900079813,34.829916280461269]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"ADVANCED AUTO / PEP BOYS","ADDRESS":"2418 LAURENS RD","CITY":"GREENVILLE","STATE":"SC","ZIPCODE":29607,"HOURS":"MON - SAT 7:30 AM - 9 PM | SUN 9 AM - 8 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":54}},{"type":"Feature","id":55,"geometry":{"type":"Point","coordinates":[-82.311450401544647,34.783187462793663]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"ADVANCE AUTO","ADDRESS":"302 N MAIN ST","CITY":"MAULDIN","STATE":"SC","ZIPCODE":29662,"HOURS":"MON - SAT 7:30 AM - 9 PM | SUN 9 AM - 8 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":55}},{"type":"Feature","id":56,"geometry":{"type":"Point","coordinates":[-82.428294381231282,34.970075579366032]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"ADVANCED AUTO","ADDRESS":"100 WALNUT LN","CITY":"TRAVELERS REST","STATE":"SC","ZIPCODE":29690,"HOURS":"MON - SAT 7:30 AM - 9 PM | SUN 9 AM - 8 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":56}},{"type":"Feature","id":57,"geometry":{"type":"Point","coordinates":[-82.435183211025901,34.958965162526994]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"AUTO ZONE","ADDRESS":"10 KRIEGER DR","CITY":"TRAVELERS REST","STATE":"SC","ZIPCODE":29690,"HOURS":"MON - SAT 7:30 AM - 9 PM | SUN 9 AM - 9 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":57}},{"type":"Feature","id":58,"geometry":{"type":"Point","coordinates":[-82.232032087575789,34.805631232699213]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"ADVANCE AUTO","ADDRESS":"2584 WOODRUFF RD","CITY":"SIMPSONVILLE","STATE":"SC","ZIPCODE":29681,"HOURS":"MON - SAT 7:30 AM - 9 PM | SUN 9 AM - 8 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":58}},{"type":"Feature","id":59,"geometry":{"type":"Point","coordinates":[-82.254560566572067,34.726207518603495]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"ADVANCE AUTO","ADDRESS":"600 SE MAIN ST","CITY":"SIMPSONVILLE","STATE":"SC","ZIPCODE":29681,"HOURS":"MON - SAT 7:30 AM - 9 PM | SUN 9 AM - 8 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":59}},{"type":"Feature","id":60,"geometry":{"type":"Point","coordinates":[-82.333569556265928,34.902106808352571]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"AUTO ZONE","ADDRESS":"2830 WADE HAMPTON BLVD","CITY":"TAYLORS","STATE":"SC","ZIPCODE":29687,"HOURS":"MON - SAT 7:30 AM - 9 PM | SUN 9 AM - 9 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":60}},{"type":"Feature","id":61,"geometry":{"type":"Point","coordinates":[-82.453755174776973,34.854309885414729]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"AUTO ZONE","ADDRESS":"6120 WHITE HORSE RD","CITY":"GREENVILLE","STATE":"SC","ZIPCODE":29611,"HOURS":"MON - SAT 7:30 AM - 9 PM | SUN 9 AM - 9 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":61}},{"type":"Feature","id":62,"geometry":{"type":"Point","coordinates":[-82.329267924729407,34.90892175872478]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"ADVANCED AUTO","ADDRESS":"3033 WADE HAMPTON BLVD","CITY":"TAYLORS","STATE":"SC","ZIPCODE":29687,"HOURS":"MON - SAT 7:30 AM - 9:00 PM | SUN 9:00 AM - 8:00","ACCEPTS":"USED MOTOR OIL","OBJECTID":62}},{"type":"Feature","id":63,"geometry":{"type":"Point","coordinates":[-82.388404489471839,34.721917507388802]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"ADVANCED AUTO","ADDRESS":"7598 AUGUSTA RD","CITY":"PIEDMONT","STATE":"SC","ZIPCODE":29673,"HOURS":"MON - SAT 7:30 AM - 9 PM | SUN 9 AM - 8 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":63}},{"type":"Feature","id":64,"geometry":{"type":"Point","coordinates":[-82.264014019647917,34.94196936684957]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"TRACTOR SUPPLY COMPANY","ADDRESS":"1326 W WADE HAMPTON BLVD","CITY":"GREER","STATE":"SC","ZIPCODE":29650,"HOURS":"MON - SAT 8 AM - 9 PM | SUN 9 AM - 7 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":64}},{"type":"Feature","id":65,"geometry":{"type":"Point","coordinates":[-82.308550480568101,34.774998484896898]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"TRACTOR SUPPLY COMPANY","ADDRESS":"206 NEW NEELY FERRY RD F","CITY":"MAULDIN","STATE":"SC","ZIPCODE":29662,"HOURS":"MON - SAT 8 AM - 9 PM | SUN 9 AM - 7 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":65}},{"type":"Feature","id":66,"geometry":{"type":"Point","coordinates":[-82.43782399561249,34.959795234653214]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"TRACTOR SUPPLY COMPANY","ADDRESS":"550 ROE CENTER CT","CITY":"TRAVELERS REST","STATE":"SC","ZIPCODE":29690,"HOURS":"MON - SAT 8 AM - 9 PM | SUN 9 AM - 7 PM","ACCEPTS":"USED MOTOR OIL","OBJECTID":66}},{"type":"Feature","id":67,"geometry":{"type":"Point","coordinates":[-82.430932918669129,34.960434649989736]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"WAL-MART TIRE AND LUBE EXPRESS CENTER","ADDRESS":"9 BENTON RD","CITY":"TRAVELERS REST","STATE":"SC","ZIPCODE":29690,"HOURS":"MON - SUN 6 AM - 6PM","ACCEPTS":"USED MOTOER OIL","OBJECTID":67}},{"type":"Feature","id":68,"geometry":{"type":"Point","coordinates":[-82.45372454459347,34.856976726961001]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"WAL-MART TIRE AND LUBE EXPRESS CENTER","ADDRESS":"6134 WHITE HORSE RD","CITY":"GREENVILLE","STATE":"SC","ZIPCODE":29611,"HOURS":"MON - SUN 7 AM - 7 PM","ACCEPTS":"USED MOTOER OIL","OBJECTID":68}},{"type":"Feature","id":69,"geometry":{"type":"Point","coordinates":[-82.281170648185864,34.822707290317581]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"WAL-MART TIRE AND LUBE EXPRESS CENTER","ADDRESS":"1451 WOODRUFF RD","CITY":"GREENVILLE","STATE":"SC","ZIPCODE":29607,"HOURS":"MON - SUN 7 AM - 7 PM","ACCEPTS":"USED MOTOER OIL","OBJECTID":69}},{"type":"Feature","id":70,"geometry":{"type":"Point","coordinates":[-82.252078686295903,34.712041252353771]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"WAL-MART TIRE AND LUBE EXPRESS CENTER","ADDRESS":"3950 GRANDVIEW DR","CITY":"SIMPSONVILLE","STATE":"SC","ZIPCODE":29680,"HOURS":"MON - SUN 7 AM - 7 PM","ACCEPTS":"USED MOTOER OIL","OBJECTID":70}},{"type":"Feature","id":71,"geometry":{"type":"Point","coordinates":[-82.332874113510826,34.908184170880361]},"properties":{"TYPE":"RETAILER OPERATED - OIL","NAME":"WAL-MART TIRE AND LUBE EXPRESS CENTER","ADDRESS":"3027 WADE HAMPTON BLVD","CITY":"TAYLORS","STATE":"SC","ZIPCODE":29687,"HOURS":"MON - SUN 7 AM - 7 PM","ACCEPTS":"USED MOTOER OIL","OBJECTID":71}}]} \ No newline at end of file diff --git a/storage/app/geojson/schools-greenville-county.geojson b/storage/app/geojson/schools-greenville-county.geojson new file mode 100644 index 00000000..6674d630 --- /dev/null +++ b/storage/app/geojson/schools-greenville-county.geojson @@ -0,0 +1 @@ +{"type":"FeatureCollection","crs":{"type":"name","properties":{"name":"EPSG:4326"}},"features":[{"type":"Feature","id":775,"geometry":{"type":"Point","coordinates":[-82.229580091790154,34.823275281014482]},"properties":{"NAME":"ABIDING PEACE ACADEMY","ADDRESS":"401 BATESVILLE RD","CITY":"","STATE":"","ZIPCODE":"29681","PHONE":"864-509-6408","WEB":"http://www.apacademysc.org/","GRADERANGE":"K - 5TH","RANGETYPE":"ELEMENTARY","SCHTYPE":"PRIVATE","OBJECTID":775}},{"type":"Feature","id":776,"geometry":{"type":"Point","coordinates":[-82.476316083970289,34.897032529100635]},"properties":{"NAME":"ABUNDANT LIFE CHRISTIAN SCHOOL","ADDRESS":"630 FARRS BRIDGE RD","CITY":"","STATE":"","ZIPCODE":"29611","PHONE":"864-246-5001","WEB":"https://abundantlife-gvl.cc/alcschool/","GRADERANGE":"K4 - 12TH","RANGETYPE":"ELEMENTARY - HIGH","SCHTYPE":"PRIVATE","OBJECTID":776}},{"type":"Feature","id":777,"geometry":{"type":"Point","coordinates":[-82.345291143869375,34.882756291206462]},"properties":{"NAME":"ALDERSGATE CHILD DEVELOPMENT CENTER","ADDRESS":"7 SHANNON DR","CITY":"","STATE":"","ZIPCODE":"29615","PHONE":"864-268-5028","WEB":"https://aldersgatecdc.com/","GRADERANGE":"NS - PRE","RANGETYPE":"PRESCHOOL","SCHTYPE":"PRIVATE","OBJECTID":777}},{"type":"Feature","id":778,"geometry":{"type":"Point","coordinates":[-82.272013067740701,34.919644047860579]},"properties":{"NAME":"AS-SABEEL ACADEMY OF GREENVILLE","ADDRESS":"1601 CLEMENT RD","CITY":"","STATE":"","ZIPCODE":"29650","PHONE":"864-674-7456","WEB":"http://www.sabeelacademy.com/","GRADERANGE":"K4 - 8TH","RANGETYPE":"ELEMENTARY - MIDDLE","SCHTYPE":"PRIVATE","OBJECTID":778}},{"type":"Feature","id":779,"geometry":{"type":"Point","coordinates":[-82.363173145995418,34.873988818784866]},"properties":{"NAME":"BOB JONES ACADEMY","ADDRESS":"1700 WADE HAMPTON BLVD","CITY":"","STATE":"","ZIPCODE":"29614","PHONE":"864-770-1395","WEB":"https://www.bobjonesacademy.net/","GRADERANGE":"K3 - 12TH","RANGETYPE":"ELEMENTARY - HIGH","SCHTYPE":"PRIVATE","OBJECTID":779}},{"type":"Feature","id":780,"geometry":{"type":"Point","coordinates":[-82.340823411411861,34.826906768934514]},"properties":{"NAME":"CAMPERDOWN ACADEMY","ADDRESS":"65 VERDAE COMMONS DR","CITY":"","STATE":"","ZIPCODE":"29607","PHONE":"864-244-8899","WEB":"http://www.camperdown.org/","GRADERANGE":"1ST - 8TH","RANGETYPE":"ELEMENTARY - MIDDLE","SCHTYPE":"PRIVATE","OBJECTID":780}},{"type":"Feature","id":781,"geometry":{"type":"Point","coordinates":[-82.316309039796863,34.849183510987011]},"properties":{"NAME":"CAROLINA PREP","ADDRESS":"212 ROPER MOUNTAIN ROAD EXT","CITY":"","STATE":"","ZIPCODE":"29615","PHONE":"864-385-6020","WEB":"https://carolinaprepschool.com/","GRADERANGE":"NS - 5TH","RANGETYPE":"ELEMENTARY","SCHTYPE":"PRIVATE","OBJECTID":781}},{"type":"Feature","id":782,"geometry":{"type":"Point","coordinates":[-82.349561777540146,34.796109919931325]},"properties":{"NAME":"CHRIST CHURCH EPISCOPAL SCHOOL","ADDRESS":"245 CAVALIER DR","CITY":"","STATE":"","ZIPCODE":"29607","PHONE":"864-299-1522","WEB":"https://www.cces.org/","GRADERANGE":"K5 - 12TH","RANGETYPE":"ELEMENTARY - HIGH","SCHTYPE":"PRIVATE","OBJECTID":782}},{"type":"Feature","id":783,"geometry":{"type":"Point","coordinates":[-82.33811639162964,34.884576305654647]},"properties":{"NAME":"EDWARDS ROAD BAPTIST CHURCH KINDERGARDEN ","ADDRESS":"1050 EDWARDS RD","CITY":"","STATE":"","ZIPCODE":"29615","PHONE":"864-292-0194","WEB":"https://www.edwardsroadpreschool.org/","GRADERANGE":"PK - K","RANGETYPE":"KINDERGARDEN","SCHTYPE":"PRIVATE","OBJECTID":783}},{"type":"Feature","id":784,"geometry":{"type":"Point","coordinates":[-82.38037575002852,34.832167401084469]},"properties":{"NAME":"FIRST BAPTIST CHURCH KINDERGARDEN","ADDRESS":"847 CLEVELAND ST","CITY":"","STATE":"","ZIPCODE":"29601","PHONE":"864-271-2613","WEB":"https://firstbaptistgreenville.com/","GRADERANGE":"NS - K5","RANGETYPE":"KINDERGARDEN","SCHTYPE":"PRIVATE","OBJECTID":784}},{"type":"Feature","id":785,"geometry":{"type":"Point","coordinates":[-82.23643238018262,34.761354567482137]},"properties":{"NAME":"FIVE OAKS ACADEMY","ADDRESS":"1101 JONESVILLE RD","CITY":"","STATE":"","ZIPCODE":"29681","PHONE":"864-228-1881","WEB":"https://www.fiveoaksacademy.com/","GRADERANGE":"NS - 8TH","RANGETYPE":"ELEMENTARY - MIDDLE","SCHTYPE":"PRIVATE","OBJECTID":785}},{"type":"Feature","id":786,"geometry":{"type":"Point","coordinates":[-82.237121776557089,34.809630820955448]},"properties":{"NAME":"GREENVILLE CLASSICAL ACADEMY","ADDRESS":"2519 WOODRUFF RD","CITY":"","STATE":"","ZIPCODE":"29681","PHONE":"864-329-9884","WEB":"https://greenvilleclassical.com/","GRADERANGE":"PK - 12TH","RANGETYPE":"ELEMENTARY - HIGH","SCHTYPE":"PRIVATE","OBJECTID":786}},{"type":"Feature","id":787,"geometry":{"type":"Point","coordinates":[-82.394779000343036,34.898279679728802]},"properties":{"NAME":"HAMPTON PARK CHRISTIAN SCHOOL","ADDRESS":"875 STATE PARK RD","CITY":"","STATE":"","ZIPCODE":"29609","PHONE":"864-370-3100","WEB":"http://hpcsonline.org/","GRADERANGE":"K - 11TH","RANGETYPE":"ELEMENTARY - HIGH","SCHTYPE":"PRIVATE","OBJECTID":787}},{"type":"Feature","id":788,"geometry":{"type":"Point","coordinates":[-82.390866805847637,34.85650894674643]},"properties":{"NAME":"HAYNSWORTH PRIVATE SCHOOL","ADDRESS":"228 EAST PARK AVE","CITY":"","STATE":"","ZIPCODE":"29601","PHONE":"864-235-3010","WEB":"https://www.haynsworthprivate.com/","GRADERANGE":"PK2 - 1ST","RANGETYPE":"KINDERGARDEN","SCHTYPE":"PRIVATE","OBJECTID":788}},{"type":"Feature","id":789,"geometry":{"type":"Point","coordinates":[-82.352195835305992,34.896763995101857]},"properties":{"NAME":"HIDDEN TREASURE CHRISTIAN SCHOOL","ADDRESS":"500 WEST LEE RD","CITY":"","STATE":"","ZIPCODE":"29687","PHONE":"864-235-6848","WEB":"https://www.hiddentreasure.org/","GRADERANGE":"K - 12TH","RANGETYPE":"ELEMENTARY - HIGH","SCHTYPE":"PRIVATE","OBJECTID":789}},{"type":"Feature","id":790,"geometry":{"type":"Point","coordinates":[-82.223576838621156,34.805448041136188]},"properties":{"NAME":"IMMANUEL LUTHERAN SCHOOL","ADDRESS":"2820 WOODRUFF RD","CITY":"","STATE":"","ZIPCODE":"29681","PHONE":"864-501-6822","WEB":"https://immanuellutheranschool.net/","GRADERANGE":"NS - PRE","RANGETYPE":"PRESCHOOL","SCHTYPE":"PRIVATE","OBJECTID":790}},{"type":"Feature","id":791,"geometry":{"type":"Point","coordinates":[-82.342888582537569,34.879569094213828]},"properties":{"NAME":"JOHN KNOX KINDERGARTEN","ADDRESS":"35 SHANNON DR","CITY":"","STATE":"","ZIPCODE":"29615","PHONE":"864-322-0045","WEB":"http://www.johnknoxpres.org/","GRADERANGE":"K5","RANGETYPE":"KINDERGARDEN","SCHTYPE":"PRIVATE","OBJECTID":791}},{"type":"Feature","id":792,"geometry":{"type":"Point","coordinates":[-82.305272097780303,34.778568020660821]},"properties":{"NAME":"MAULDIN UNITED METHODIST CHURCH PRESCHOOL & KINDERGARDEN","ADDRESS":"100 E BUTLER RD","CITY":"","STATE":"","ZIPCODE":"29662","PHONE":"864-288-4729","WEB":"https://www.mauldinmethodist.com/","GRADERANGE":"PK - K","RANGETYPE":"KINDERGARDEN","SCHTYPE":"PRIVATE","OBJECTID":792}},{"type":"Feature","id":793,"geometry":{"type":"Point","coordinates":[-82.3013328, 34.7822062]},"properties":{"NAME":"MONTESSORI SCHOOL OF MAULDIN","ADDRESS":"205 B EAST BUTLER RD","CITY":"","STATE":"","ZIPCODE":"29662","PHONE":"864-288-8613","WEB":"http://www.mauldinmontessori.com/","GRADERANGE":"PK - 10TH","RANGETYPE":"ELEMENTARY - HIGH","SCHTYPE":"PRIVATE","OBJECTID":793}},{"type":"Feature","id":794,"geometry":{"type":"Point","coordinates":[-82.379911654785346,34.798858521585018]},"properties":{"NAME":"OUR LADY OF THE ROSARY CATHOLIC SCHOOL","ADDRESS":"2 JAMES DR","CITY":"","STATE":"","ZIPCODE":"29605","PHONE":"864-277-5350","WEB":"https://olrschool.net/","GRADERANGE":"K5 - 8TH","RANGETYPE":"ELEMENTARY - MIDDLE","SCHTYPE":"PRIVATE","OBJECTID":794}},{"type":"Feature","id":795,"geometry":{"type":"Point","coordinates":[-82.30632751014798,34.895938531728362]},"properties":{"NAME":"PRINCE OF PEACE CATHOLIC SCHOOL","ADDRESS":"1209 BRUSHY CREEK RD","CITY":"","STATE":"","ZIPCODE":"29687","PHONE":"864-331-2145","WEB":"https://www.popcatholicschool.org/","GRADERANGE":"NS - 8TH","RANGETYPE":"ELEMENTARY - MIDDLE","SCHTYPE":"PRIVATE","OBJECTID":795}},{"type":"Feature","id":796,"geometry":{"type":"Point","coordinates":[-82.271562880434971,34.843496528038081]},"properties":{"NAME":"SHANNON FOREST CHRISTIAN SCHOOL","ADDRESS":"829 GARLINGTON RD","CITY":"","STATE":"","ZIPCODE":"29615","PHONE":"864-678-5107","WEB":"https://www.firstpresacademy.com/","GRADERANGE":"PK - 12TH","RANGETYPE":"ELEMENTARY - HIGH","SCHTYPE":"PRIVATE","OBJECTID":796}},{"type":"Feature","id":797,"geometry":{"type":"Point","coordinates":[-82.332649042417586,34.867510601063735]},"properties":{"NAME":"SONSHINE LEARNING CENTER","ADDRESS":"1201 HAYWOOD RD","CITY":"","STATE":"","ZIPCODE":"29615","PHONE":"864-233-4062","WEB":"https://www.slcgreenville.com/","GRADERANGE":"PK - K","RANGETYPE":"KINDERGARDEN","SCHTYPE":"PRIVATE","OBJECTID":797}},{"type":"Feature","id":798,"geometry":{"type":"Point","coordinates":[-82.25252352928625,34.820845807544259]},"properties":{"NAME":"SOUTHSIDE CHRISTIAN SCHOOL","ADDRESS":"2211 WOODRUFF RD","CITY":"","STATE":"","ZIPCODE":"29681","PHONE":"864-234-7575","WEB":"https://www.southsidechristian.org/","GRADERANGE":"PK - 12TH","RANGETYPE":"ELEMENTARY - HIGH","SCHTYPE":"PRIVATE","OBJECTID":798}},{"type":"Feature","id":799,"geometry":{"type":"Point","coordinates":[-82.339812120041287,34.810282578313036]},"properties":{"NAME":"ST JOSEPH'S CATHOLIC SCHOOL","ADDRESS":"100 ST JOSEPHS DR","CITY":"","STATE":"","ZIPCODE":"29607","PHONE":"864-234-5516","WEB":"http://www.sjcatholicschool.org/","GRADERANGE":"6TH - 12TH","RANGETYPE":"MIDDLE - HIGH","SCHTYPE":"PRIVATE","OBJECTID":799}},{"type":"Feature","id":800,"geometry":{"type":"Point","coordinates":[-82.402523818797292,34.853490233672474]},"properties":{"NAME":"ST MARY'S CATHOLIC SCHOOL","ADDRESS":"101 HAMPTON AVE","CITY":"","STATE":"","ZIPCODE":"29601","PHONE":"864-271-3870","WEB":"https://smsgvl.org/","GRADERANGE":"PK - 8TH","RANGETYPE":"ELEMENTARY - MIDDLE","SCHTYPE":"PRIVATE","OBJECTID":800}},{"type":"Feature","id":801,"geometry":{"type":"Point","coordinates":[-82.447308670073724,34.828042710282389]},"properties":{"NAME":"TABERNACLE CHRISTIAN SCHOOL","ADDRESS":"3931 WHITE HORSE RD","CITY":"","STATE":"","ZIPCODE":"29611","PHONE":"864-269-2760","WEB":"https://tbc.sc/","GRADERANGE":"PK - 12TH","RANGETYPE":"ELEMENTARY - HIGH","SCHTYPE":"PRIVATE","OBJECTID":801}},{"type":"Feature","id":802,"geometry":{"type":"Point","coordinates":[-82.383654442349837,34.813030591809067]},"properties":{"NAME":"THE CHANDLER SCHOOL","ADDRESS":"2900 AUGUSTA ST","CITY":"","STATE":"","ZIPCODE":"29605","PHONE":"864-991-8443","WEB":"http://thechandlerschool.org/","GRADERANGE":"K - 8TH","RANGETYPE":"ELEMENTARY - MIDDLE","SCHTYPE":"PRIVATE","OBJECTID":802}},{"type":"Feature","id":803,"geometry":{"type":"Point","coordinates":[-82.38037575002852,34.832167401084469]},"properties":{"NAME":"EINSTEIN ACADEMY","ADDRESS":"847 CLEVELAND ST","CITY":"","STATE":"","ZIPCODE":"29601","PHONE":"864-269-8999","WEB":"http://einsteinacademysc.org","GRADERANGE":"1ST - 8TH","RANGETYPE":"ELEMENTARY - MIDDLE","SCHTYPE":"PRIVATE","OBJECTID":803}},{"type":"Feature","id":804,"geometry":{"type":"Point","coordinates":[-82.318622692819744,34.872163289644334]},"properties":{"NAME":"MITCHELL ROAD CHRISTIAN ACADEMY","ADDRESS":"207 MITCHELL RD","CITY":"","STATE":"","ZIPCODE":"29615","PHONE":"864-268-2210","WEB":"https://mitchellroadchristian.org/","GRADERANGE":"PK - 8TH","RANGETYPE":"ELEMENTARY","SCHTYPE":"PRIVATE","OBJECTID":804}},{"type":"Feature","id":805,"geometry":{"type":"Point","coordinates":[-82.397364288648916,34.827342370040505]},"properties":{"NAME":"AUGUSTA ROAD BAPTIST CHURCH KINDERGARDEN","ADDRESS":"1823 AUGUSTA RD","CITY":"","STATE":"","ZIPCODE":"29605","PHONE":"864-232-2713","WEB":"N/A","GRADERANGE":"PK - K","RANGETYPE":"KINDERGARDEN","SCHTYPE":"PRIVATE","OBJECTID":805}},{"type":"Feature","id":806,"geometry":{"type":"Point","coordinates":[-82.470390449731738,34.892822938604567]},"properties":{"NAME":"BEREA FISRT BAPTIST KINDERGARDEN","ADDRESS":"529 FARRS BRIDGE RD","CITY":"","STATE":"","ZIPCODE":"29611","PHONE":null,"WEB":"https://bereafbc.org/","GRADERANGE":"PK - K","RANGETYPE":"KINDERGARDEN","SCHTYPE":"PRIVATE","OBJECTID":806}},{"type":"Feature","id":807,"geometry":{"type":"Point","coordinates":[-82.191611222856253,34.708807260213959]},"properties":{"NAME":"BEREAN CHRISTIAN ACADEMY","ADDRESS":"812 HELLAMS ST","CITY":"","STATE":"","ZIPCODE":"29644","PHONE":"864-409-0950","WEB":"N/A","GRADERANGE":"NS - PRE","RANGETYPE":"PRESCHOOL","SCHTYPE":"PRIVATE","OBJECTID":807}},{"type":"Feature","id":808,"geometry":{"type":"Point","coordinates":[-82.240651329160045,34.940114655337979]},"properties":{"NAME":"CALVARY CHRISTIAN SCHOOL","ADDRESS":"101 CALVARY ST","CITY":"","STATE":"","ZIPCODE":"29650","PHONE":"864-877-5555","WEB":"https://www.calvarychristiangreer.org/","GRADERANGE":"PK - 12TH","RANGETYPE":"ELEMENTARY - HIGH","SCHTYPE":"PRIVATE","OBJECTID":808}},{"type":"Feature","id":809,"geometry":{"type":"Point","coordinates":[-82.394436857220427,34.850809010019653]},"properties":{"NAME":"CHRIST CHURCH EPISCOPAL PRESCHOOL","ADDRESS":"10 N CHURCH ST","CITY":"","STATE":"","ZIPCODE":"29601","PHONE":"864-233-7612","WEB":"http://www.christchurchpreschool.org/","GRADERANGE":"PK - K","RANGETYPE":"KINDERGARDEN","SCHTYPE":"PRIVATE","OBJECTID":809}},{"type":"Feature","id":810,"geometry":{"type":"Point","coordinates":[-82.3518409,34.765242]},"properties":{"NAME":"CONESTEE BAPTIST DAY SCHOOL","ADDRESS":"145 2ND ST","CITY":"","STATE":"","ZIPCODE":"29636","PHONE":"864-277-1175","WEB":"http://www.conesteefirstbaptist.com/home.html","GRADERANGE":"K - 11TH","RANGETYPE":"ELEMENTARY - HIGH","SCHTYPE":"PRIVATE","OBJECTID":810}},{"type":"Feature","id":811,"geometry":{"type":"Point","coordinates":[-82.462369938654973,34.799469101855621]},"properties":{"NAME":"CROSSPOINT CHRISTIAN ACADEMY","ADDRESS":"3315 ANDERSON RD","CITY":"","STATE":"","ZIPCODE":"29611","PHONE":"864-269-7290","WEB":"N/A","GRADERANGE":"NS - 8TH","RANGETYPE":"ELEMENTARY","SCHTYPE":"PRIVATE","OBJECTID":811}},{"type":"Feature","id":812,"geometry":{"type":"Point","coordinates":[-82.400898062474283,34.851895844453423]},"properties":{"NAME":"FIRST PRESBYTERIAN ACADEMY","ADDRESS":"200 W WASHINGTON ST","CITY":"","STATE":"","ZIPCODE":"29601","PHONE":"864-235-0122","WEB":"https://www.firstpresacademy.com/","GRADERANGE":"NS - 8TH","RANGETYPE":"ELEMENTARY","SCHTYPE":"PRIVATE","OBJECTID":812}},{"type":"Feature","id":813,"geometry":{"type":"Point","coordinates":[-82.417393730311147,34.833543196453704]},"properties":{"NAME":"FULLER NORMAL INDUSTRIAL INSTITUTE","ADDRESS":"901 ANDERSON RD","CITY":"","STATE":"","ZIPCODE":"29601","PHONE":"864-271-3646","WEB":"https://www.fbhchurch.org/fullernormal/","GRADERANGE":"PK - 12TH","RANGETYPE":"ELEMENTARY - HIGH","SCHTYPE":"PRIVATE","OBJECTID":813}},{"type":"Feature","id":814,"geometry":{"type":"Point","coordinates":[-82.445239568731168,34.918898948390456]},"properties":{"NAME":"FURMAN UNIVERSITY CHILD DEVELOPMENT CENTER","ADDRESS":"1501 DUNCAN CHAPEL RD","CITY":"","STATE":"","ZIPCODE":"29617","PHONE":"864-246-8933","WEB":"https://www.furman.edu/","GRADERANGE":"PK - K","RANGETYPE":"KINDERGARDEN","SCHTYPE":"PRIVATE","OBJECTID":814}},{"type":"Feature","id":815,"geometry":{"type":"Point","coordinates":[-82.234087921461111,34.806274654069412]},"properties":{"NAME":"THE GODDARD SCHOOL","ADDRESS":"8 FIVE FORKS PLAZA CT","CITY":"","STATE":"","ZIPCODE":"29681","PHONE":"864-254-0708","WEB":"https://www.goddardschool.com/greenville/simpsonville-five-forks-plaza-court-sc","GRADERANGE":"NS - 1ST","RANGETYPE":"KINDERGARDEN","SCHTYPE":"PRIVATE","OBJECTID":815}},{"type":"Feature","id":816,"geometry":{"type":"Point","coordinates":[-82.372105961771638,34.859484613443833]},"properties":{"NAME":"GREENVILLE SEVENTH DAY ADVENTIST SCHOOL","ADDRESS":"1704 E NORTH ST ","CITY":"","STATE":"","ZIPCODE":"29607","PHONE":"864-232-8885","WEB":"N/A","GRADERANGE":"PK - 8TH","RANGETYPE":"ELEMENTARY","SCHTYPE":"PRIVATE","OBJECTID":816}},{"type":"Feature","id":817,"geometry":{"type":"Point","coordinates":[-82.344136865182875,34.895265292977527]},"properties":{"NAME":"HAMPTON HEIGHTS CHILD DEVELOPMENT CENTER","ADDRESS":"2511 WADE HAMPTON AVE","CITY":"","STATE":"","ZIPCODE":"29615","PHONE":"864-268-7706","WEB":"http://www.hhbc.org/","GRADERANGE":"PK - K","RANGETYPE":"KINDERGARDEN","SCHTYPE":"PRIVATE","OBJECTID":817}},{"type":"Feature","id":818,"geometry":{"type":"Point","coordinates":[-82.257311169403081,34.821071821270301]},"properties":{"NAME":"HOPE ACADEMY","ADDRESS":"2131 WOODRUFF RD STE 2100","CITY":"","STATE":"","ZIPCODE":"29607","PHONE":"864-676-0028","WEB":"https://www.projecthopesc.org/hope-academy","GRADERANGE":"K - 9TH SPED","RANGETYPE":"ELEMENTARY - MIDDLE","SCHTYPE":"PRIVATE","OBJECTID":818}},{"type":"Feature","id":819,"geometry":{"type":"Point","coordinates":[-82.309561334097822,34.775964649942495]},"properties":{"NAME":"MAULDIN CHRISTIAN ACADEMY","ADDRESS":"150 S MAIN ST","CITY":"","STATE":"","ZIPCODE":"29662","PHONE":"864-288-1917","WEB":"https://www.mauldinchristian.org/","GRADERANGE":"PK - 5TH","RANGETYPE":"KINDERGARDEN","SCHTYPE":"PRIVATE","OBJECTID":819}},{"type":"Feature","id":820,"geometry":{"type":"Point","coordinates":[-82.341005183240497,34.89554113714388]},"properties":{"NAME":"OUR SAVIOUR LUTHERAN PRESCHOOL","ADDRESS":"2600 WADE HAMPTON BLVD","CITY":"","STATE":"","ZIPCODE":"29615","PHONE":"864-268-4714","WEB":"https://www.oursaviourlutheranpreschool.com/","GRADERANGE":"NS - K","RANGETYPE":"KINDERGARDEN","SCHTYPE":"PRIVATE","OBJECTID":820}},{"type":"Feature","id":821,"geometry":{"type":"Point","coordinates":[-82.451856906147228,34.703906634850597]},"properties":{"NAME":"PIEDMONT CHRITIAN ACADEMY","ADDRESS":"750 OIL MILL RD","CITY":"","STATE":"","ZIPCODE":"29673","PHONE":"864-845-5154","WEB":"http://piedmontchristianacademy.org/","GRADERANGE":"PK - 12TH","RANGETYPE":"ELEMENTARY - HIGH","SCHTYPE":"PRIVATE","OBJECTID":821}},{"type":"Feature","id":822,"geometry":{"type":"Point","coordinates":[-82.317548409857167,34.948439970810739]},"properties":{"NAME":"PLEASANT VIEW CHRISTIAN ACADEMY","ADDRESS":"110 OLD RUTHERFORD RD","CITY":"","STATE":"","ZIPCODE":"29687","PHONE":"864-877-8061","WEB":"https://www.pleasantview.org/","GRADERANGE":"NS - 12TH","RANGETYPE":"ELEMENTARY - HIGH","SCHTYPE":"PRIVATE","OBJECTID":822}},{"type":"Feature","id":823,"geometry":{"type":"Point","coordinates":[-82.460432651089263,34.979304206190434]},"properties":{"NAME":"RENFREW BAPTIST CHURCH CDC","ADDRESS":"951 GEER HWY ","CITY":"","STATE":"","ZIPCODE":"29690","PHONE":"864-834-5300","WEB":"http://www.renfrewchurch.com/cdc/","GRADERANGE":"PK - K","RANGETYPE":"KINDERGARDEN","SCHTYPE":"PRIVATE","OBJECTID":823}},{"type":"Feature","id":824,"geometry":{"type":"Point","coordinates":[-82.39554527075255,34.780213129176481]},"properties":{"NAME":"RESURRECTED TREASURE CHRISTIAN LEARNING CENTER","ADDRESS":"906 WHITE HORSE RD","CITY":"","STATE":"","ZIPCODE":"29605","PHONE":null,"WEB":"http://resurrectedtreasure.org/","GRADERANGE":"3RD -8TH","RANGETYPE":"ELEMENTARY - MIDDLE","SCHTYPE":"PRIVATE","OBJECTID":824}},{"type":"Feature","id":825,"geometry":{"type":"Point","coordinates":[-82.417830198071954,34.847755415553522]},"properties":{"NAME":"ST ANTHONY OF PADUA CATHOLIC SCHOOL","ADDRESS":"311 GOWER ST","CITY":"","STATE":"","ZIPCODE":"29611","PHONE":"864-271-0167","WEB":"http://www.stanthonygreenvillesc.org/","GRADERANGE":"PK - 6TH","RANGETYPE":"ELEMENTARY","SCHTYPE":"PRIVATE","OBJECTID":825}},{"type":"Feature","id":826,"geometry":{"type":"Point","coordinates":[-82.340500438464375,34.898279736590922]},"properties":{"NAME":"SONRISE CHRISTIAN ACADEMY","ADDRESS":"2701 WADE HAMPTON BLVD","CITY":"","STATE":"","ZIPCODE":"29615","PHONE":"864-292-3553","WEB":"N/A","GRADERANGE":"PK - 6TH","RANGETYPE":"ELEMENTARY","SCHTYPE":"PRIVATE","OBJECTID":826}},{"type":"Feature","id":827,"geometry":{"type":"Point","coordinates":[-82.467347287332316,34.872573556268527]},"properties":{"NAME":"THE SUNSHINE HOUSE #9","ADDRESS":"6900 WHITE HORSE RD","CITY":"","STATE":"","ZIPCODE":"29611","PHONE":"864-294-0332","WEB":"https://sunshinehouse.com/","GRADERANGE":"K","RANGETYPE":"KINDERGARDEN","SCHTYPE":"PRIVATE","OBJECTID":827}},{"type":"Feature","id":828,"geometry":{"type":"Point","coordinates":[-82.302752885401418,34.920129940194563]},"properties":{"NAME":"TAYLORS FIRST BAPTIST PRE ACADEMY","ADDRESS":"200 W MAIN ST","CITY":"","STATE":"","ZIPCODE":"29687","PHONE":"864-678-8803","WEB":"https://taylorsfbc.org/","GRADERANGE":"N/A","RANGETYPE":"N/A","SCHTYPE":"PRIVATE","OBJECTID":828}},{"type":"Feature","id":829,"geometry":{"type":"Point","coordinates":[-82.391160551533403,34.821855067148221]},"properties":{"NAME":"WESTMINISTER CHURCH SCHOOL","ADDRESS":"2310 AUGUSTA ST","CITY":"","STATE":"","ZIPCODE":"29605","PHONE":"864-232-5766","WEB":"https://wpc-online.org/nursery-preschool/","GRADERANGE":"NS - PK","RANGETYPE":"KINDERGARDEN","SCHTYPE":"PRIVATE","OBJECTID":829}},{"type":"Feature","id":830,"geometry":{"type":"Point","coordinates":[-82.363926972897232,34.87734102692815]},"properties":{"NAME":"WHITE OAK BAPTIST CHURCH KINDERGARDEN","ADDRESS":"1805 WADE HAMPTON BLVD","CITY":"","STATE":"","ZIPCODE":"29609","PHONE":"864-268-4317","WEB":"https://www.whiteoaksc.org/kindergarten-k5/","GRADERANGE":"PK - K","RANGETYPE":"KINDERGARDEN","SCHTYPE":"PRIVATE","OBJECTID":830}},{"type":"Feature","id":831,"geometry":{"type":"Point","coordinates":[-82.410274773590132,34.848474717895229]},"properties":{"NAME":"A.J. WHITTENBURG ELEMENTARY","ADDRESS":"420 WESTFIELD ST","CITY":"","STATE":"","ZIPCODE":"29601","PHONE":"864-520-0500","WEB":"http://www.greenville.k12.sc.us/ajw/","GRADERANGE":"PK - 5TH SPED ","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":831}},{"type":"Feature","id":832,"geometry":{"type":"Point","coordinates":[-82.439601741171273,34.856403148972149]},"properties":{"NAME":"ALEXANDER ELEMENTARY","ADDRESS":"1601 BRAMLETT RD","CITY":"","STATE":"","ZIPCODE":"29611","PHONE":"864-551-1000","WEB":"http://www.greenville.k12.sc.us/alexand/","GRADERANGE":"PK - 5TH SPED ","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":832}},{"type":"Feature","id":833,"geometry":{"type":"Point","coordinates":[-82.462965267071866,34.904532970299336]},"properties":{"NAME":"ARMSTRONG ELEMENTARY","ADDRESS":"8601 WHITE HORSE RD","CITY":"","STATE":"","ZIPCODE":"29617","PHONE":"864-551-1100","WEB":"http://www.greenville.k12.sc.us/armstrng/","GRADERANGE":"PK - 5TH SPED ","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":833}},{"type":"Feature","id":834,"geometry":{"type":"Point","coordinates":[-82.394291715950914,34.820934473132617]},"properties":{"NAME":"AUGUSTA CIRCLE ELEMENTARY","ADDRESS":"100 WINYAH ST","CITY":"","STATE":"","ZIPCODE":"29605","PHONE":"864-551-1200","WEB":"https://www.greenville.k12.sc.us/acircle/","GRADERANGE":"K - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":834}},{"type":"Feature","id":835,"geometry":{"type":"Point","coordinates":[-82.321894416987945,34.837781816173532]},"properties":{"NAME":"BECK INTERNATIONAL ACADEMY","ADDRESS":"901 WOODRUFF RD","CITY":"","STATE":"","ZIPCODE":"29607","PHONE":"864-551-1400","WEB":"http://www.greenville.k12.sc.us/beck/","GRADERANGE":"6TH - 8TH SPED","RANGETYPE":"MIDDLE","SCHTYPE":"PUBLIC","OBJECTID":835}},{"type":"Feature","id":836,"geometry":{"type":"Point","coordinates":[-82.214668819603716,34.778983159550997]},"properties":{"NAME":"BELL'S CROSSING ELEMENTARY","ADDRESS":"804 SCUFFLETOWN RD","CITY":"","STATE":"","ZIPCODE":"29681","PHONE":"864-553-3800","WEB":"http://www.greenville.k12.sc.us/bells/","GRADERANGE":"K - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":836}},{"type":"Feature","id":837,"geometry":{"type":"Point","coordinates":[-82.455952583821556,34.880683592763646]},"properties":{"NAME":"BEREA ELEMENTARY","ADDRESS":"100 BEREA DR","CITY":"","STATE":"","ZIPCODE":"29617","PHONE":"864-551-1500","WEB":"https://sites.google.com/a/greenvilleschools.us/bereaelementary","GRADERANGE":"K - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":837}},{"type":"Feature","id":838,"geometry":{"type":"Point","coordinates":[-82.463705411295962,34.876251790280257]},"properties":{"NAME":"BEREA HIGH SCHOOL","ADDRESS":"201 BURDINE DR","CITY":"","STATE":"","ZIPCODE":"29617","PHONE":"864-551-1600","WEB":"http://sites.greenvilleschools.us/bereahs/home","GRADERANGE":"9TH - 12TH SPED","RANGETYPE":"HIGH","SCHTYPE":"PUBLIC","OBJECTID":838}},{"type":"Feature","id":839,"geometry":{"type":"Point","coordinates":[-82.454520974422408,34.914679784412691]},"properties":{"NAME":"BEREA MIDDLE","ADDRESS":"151 BEREA MIDDLE SCHOOL RD","CITY":"","STATE":"","ZIPCODE":"29617","PHONE":"864-551-1700","WEB":"http://www.greenville.k12.sc.us/beream/","GRADERANGE":"6TH - 8TH SPED","RANGETYPE":"MIDDLE","SCHTYPE":"PUBLIC","OBJECTID":839}},{"type":"Feature","id":840,"geometry":{"type":"Point","coordinates":[-82.278003965213372,34.776197857086125]},"properties":{"NAME":"BETHEL ELEMENTARY","ADDRESS":"111 BETHEL SCHOOL RD","CITY":"","STATE":"","ZIPCODE":"29681","PHONE":"864-554-4100","WEB":"http://www.greenville.k12.sc.us/bethel/","GRADERANGE":"K - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":840}},{"type":"Feature","id":841,"geometry":{"type":"Point","coordinates":[-82.286550531180765,35.040063050671613]},"properties":{"NAME":"BLUE RIDGE HIGH SCHOOL","ADDRESS":"2151 FEWS CHAPEL RD","CITY":"","STATE":"","ZIPCODE":"29651","PHONE":"864-551-1800","WEB":"http://www.greenville.k12.sc.us/bridgehs/","GRADERANGE":"9TH - 12TH SPED","RANGETYPE":"HIGH","SCHTYPE":"PUBLIC","OBJECTID":841}},{"type":"Feature","id":842,"geometry":{"type":"Point","coordinates":[-82.31177983889917,35.038944845726817]},"properties":{"NAME":"BLUE RIDGE MIDDLE","ADDRESS":"2423 EAST TYGER BRIDGE RD","CITY":"","STATE":"","ZIPCODE":"29651","PHONE":"864-551-1900","WEB":"http://www.greenville.k12.sc.us/bridgems/","GRADERANGE":"6TH - 8TH SPED","RANGETYPE":"MIDDLE","SCHTYPE":"PUBLIC","OBJECTID":842}},{"type":"Feature","id":843,"geometry":{"type":"Point","coordinates":[-82.384340667754486,34.811537499678963]},"properties":{"NAME":"BLYTHE ACADEMY","ADDRESS":"100 BLYTHE DR","CITY":"","STATE":"","ZIPCODE":"29605","PHONE":"864-554-4400","WEB":"https://www.greenville.k12.sc.us/blythe/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":843}},{"type":"Feature","id":844,"geometry":{"type":"Point","coordinates":[-82.308578414104645,34.711211535803272]},"properties":{"NAME":"BRASHIER MIDDLE COLLEGE","ADDRESS":"1830 WEST GEORGIA RD BLDG 203","CITY":"","STATE":"","ZIPCODE":"29680","PHONE":"864-571-1800","WEB":"http://www.brashiermiddlecollege.org/","GRADERANGE":"9TH - 12TH SPED","RANGETYPE":"HIGH","SCHTYPE":"CHARTER","OBJECTID":844}},{"type":"Feature","id":845,"geometry":{"type":"Point","coordinates":[-82.310400886529251,34.910685583193604]},"properties":{"NAME":"BROOK GLENN ELEMENTARY","ADDRESS":"2003 EAST LEE RD","CITY":"","STATE":"","ZIPCODE":"29687","PHONE":"864-554-4700","WEB":"http://www.greenville.k12.sc.us/bglenn/","GRADERANGE":"PK - 5TH SPED ","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":845}},{"type":"Feature","id":846,"geometry":{"type":"Point","coordinates":[-82.297211571778831,34.892927139088954]},"properties":{"NAME":"BRUSHY CREEK ELEMENTARY","ADDRESS":"1344 BRUSHY CREEK RD","CITY":"","STATE":"","ZIPCODE":"29687","PHONE":"864-555-5400","WEB":"http://www.greenville.k12.sc.us/bcreek/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":846}},{"type":"Feature","id":847,"geometry":{"type":"Point","coordinates":[-82.219832226919792,34.714056810339024]},"properties":{"NAME":"BRYSON ELEMENTARY","ADDRESS":"703 BRYSON DR","CITY":"","STATE":"","ZIPCODE":"29681","PHONE":"864-553-3600","WEB":"https://www.greenville.k12.sc.us/brysone/","GRADERANGE":"K - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":847}},{"type":"Feature","id":848,"geometry":{"type":"Point","coordinates":[-82.249344078955957,34.716179701536646]},"properties":{"NAME":"BRYSON MIDDLE","ADDRESS":"3657 SOUTH INDUSTRIAL DR","CITY":"","STATE":"","ZIPCODE":"29681","PHONE":"864-552-2100","WEB":"http://www.greenville.k12.sc.us/brysonm/","GRADERANGE":"6TH - 8TH SPED","RANGETYPE":"MIDDLE","SCHTYPE":"PUBLIC","OBJECTID":848}},{"type":"Feature","id":849,"geometry":{"type":"Point","coordinates":[-82.267820917151596,34.88554960195173]},"properties":{"NAME":"BUENA VISTA ELEMENTARY","ADDRESS":"310 SOUTH BATESVILLE RD","CITY":"","STATE":"","ZIPCODE":"29650","PHONE":"864-552-2200","WEB":"http://www.greenville.k12.sc.us/bvista/","GRADERANGE":"K - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":849}},{"type":"Feature","id":850,"geometry":{"type":"Point","coordinates":[-82.442255214092143,34.81171912004713]},"properties":{"NAME":"CAROLINA ACADEMY","ADDRESS":"2725 ANDERSON RD","CITY":"","STATE":"","ZIPCODE":"29611","PHONE":"864-552-2300","WEB":"http://www.greenville.k12.sc.us/carolina/","GRADERANGE":"9TH - 12TH SPED","RANGETYPE":"HIGH","SCHTYPE":"PUBLIC","OBJECTID":850}},{"type":"Feature","id":851,"geometry":{"type":"Point","coordinates":[-82.236699066574744,34.95532202377246]},"properties":{"NAME":"CHANDLER CREEK ELEMENTARY","ADDRESS":"301 CHANDLER RD","CITY":"","STATE":"","ZIPCODE":"29651","PHONE":"864-552-2400","WEB":"http://www.greenville.k12.sc.us/ccreek/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":851}},{"type":"Feature","id":852,"geometry":{"type":"Point","coordinates":[-82.413543827401156,34.883999174599559]},"properties":{"NAME":"CHERRYDALE ELEMENTARY","ADDRESS":"302 PERRY RD","CITY":"","STATE":"","ZIPCODE":"29609","PHONE":"864-553-3300","WEB":"http://www.greenville.k12.sc.us/cherry/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":852}},{"type":"Feature","id":853,"geometry":{"type":"Point","coordinates":[-82.221900518474172,34.962888452491583]},"properties":{"NAME":"CRESTVIEW ELEMENTARY","ADDRESS":"509 AMERICAN LEGION RD","CITY":"","STATE":"","ZIPCODE":"29651","PHONE":"864-552-2600","WEB":"https://www.greenville.k12.sc.us/crestv/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":853}},{"type":"Feature","id":854,"geometry":{"type":"Point","coordinates":[-82.3416459,34.8620806]},"properties":{"NAME":"CYBER ACADEMY OF SOUTH CAROLINA","ADDRESS":"330 PELHAM RD SUITE 101A ","CITY":"","STATE":"","ZIPCODE":"29615","PHONE":"855-112-2830","WEB":"https://casc.k12.com/","GRADERANGE":"K - 12TH SPED","RANGETYPE":"ELEMENTARY - HIGH","SCHTYPE":"CHARTER","OBJECTID":854}},{"type":"Feature","id":855,"geometry":{"type":"Point","coordinates":[-82.380228583974159,34.763922836023148]},"properties":{"NAME":"DONALDSON CAREER CENTER","ADDRESS":"100 VOCATIONAL DR","CITY":"","STATE":"","ZIPCODE":"29605","PHONE":"864-554-4650","WEB":"https://www.greenville.k12.sc.us/donaldsn/","GRADERANGE":"9TH - 12TH SPED","RANGETYPE":"HIGH","SCHTYPE":"PUBLIC","OBJECTID":855}},{"type":"Feature","id":856,"geometry":{"type":"Point","coordinates":[-82.317782630326576,34.816778600716617]},"properties":{"NAME":"DR. PHINNIZE J. FISHER MIDDLE","ADDRESS":"700 MILLENNIUM BLVD","CITY":"","STATE":"","ZIPCODE":"29607","PHONE":"864-550-0800","WEB":"http://www.greenville.k12.sc.us/fisher/","GRADERANGE":"6TH - 8TH SPED","RANGETYPE":"MIDDLE","SCHTYPE":"PUBLIC","OBJECTID":856}},{"type":"Feature","id":857,"geometry":{"type":"Point","coordinates":[-82.428112821585657,34.909613908067669]},"properties":{"NAME":"DUNCAN CHAPEL ELEMENTARY","ADDRESS":"210 DUNCAN CHAPEL RD","CITY":"","STATE":"","ZIPCODE":"29617","PHONE":"864-552-2700","WEB":"http://www.greenville.k12.sc.us/dchapel/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":857}},{"type":"Feature","id":858,"geometry":{"type":"Point","coordinates":[-82.344136865182875,34.895265292977527]},"properties":{"NAME":"EAST LINK ACADEMY","ADDRESS":"2511 WADE HAMPTON BLVD","CITY":"","STATE":"","ZIPCODE":"29615","PHONE":"864-751-1313","WEB":"https://www.eastlinkacademy.org/","GRADERANGE":"PK - 4TH SPED ","RANGETYPE":"ELEMENTARY","SCHTYPE":"CHARTER","OBJECTID":858}},{"type":"Feature","id":859,"geometry":{"type":"Point","coordinates":[-82.371038699670535,34.858388276821742]},"properties":{"NAME":"EAST NORTH ST ACADEMY","ADDRESS":"1720 EAST NORTH ST","CITY":"","STATE":"","ZIPCODE":"29607","PHONE":"864-552-2900","WEB":"http://www.greenville.k12.sc.us/enorthst/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":859}},{"type":"Feature","id":860,"geometry":{"type":"Point","coordinates":[-82.300856111524539,34.893689594839955]},"properties":{"NAME":"EASTSIDE HIGH SCHOOL","ADDRESS":"1300 BRUSHY CREEK RD","CITY":"","STATE":"","ZIPCODE":"29687","PHONE":"864-552-2800","WEB":"http://www.greenville.k12.sc.us/eastside/","GRADERANGE":"9TH - 12TH SPED","RANGETYPE":"HIGH","SCHTYPE":"PUBLIC","OBJECTID":860}},{"type":"Feature","id":861,"geometry":{"type":"Point","coordinates":[-82.390180517375782,34.648293132651162]},"properties":{"NAME":"ELLEN WOODSIDE ELEMENTARY","ADDRESS":"9122 AUGUSTA RD","CITY":"","STATE":"","ZIPCODE":"29669","PHONE":"864-554-4900","WEB":"https://sites.google.com/a/greenvilleschools.us/ellenw/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":861}},{"type":"Feature","id":862,"geometry":{"type":"Point","coordinates":[-82.44346240752418,34.910447157540958]},"properties":{"NAME":"ENOREE CAREER CENTER","ADDRESS":"108 SCALYBARK RD","CITY":"","STATE":"","ZIPCODE":"29617","PHONE":"864-557-7400","WEB":"http://www.greenville.k12.sc.us/enoree/","GRADERANGE":"9TH - 12TH SPED","RANGETYPE":"MIDDLE - HIGH","SCHTYPE":"PUBLIC","OBJECTID":862}},{"type":"Feature","id":863,"geometry":{"type":"Point","coordinates":[-82.312211277213208,34.618119442830491]},"properties":{"NAME":"FORK SHOALS SCHOOL","ADDRESS":"916 MCKELVEY RD","CITY":"","STATE":"","ZIPCODE":"29669","PHONE":"864-555-5000","WEB":"http://www.greenville.k12.sc.us/forksh/","GRADERANGE":"K - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":863}},{"type":"Feature","id":864,"geometry":{"type":"Point","coordinates":[-82.2110078959834,34.692434103775966]},"properties":{"NAME":"FOUNTAIN INN ELEMENTARY","ADDRESS":"608 FAIRVIEW ST","CITY":"","STATE":"","ZIPCODE":"29644","PHONE":"864-555-5100","WEB":"https://www.greenville.k12.sc.us/ftinn/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":864}},{"type":"Feature","id":865,"geometry":{"type":"Point","coordinates":[-82.424606997373928,34.974011043246847]},"properties":{"NAME":"GATEWAY ELEMENTARY","ADDRESS":"200 HAWKINS RD","CITY":"","STATE":"","ZIPCODE":"29690","PHONE":"864-555-5200","WEB":"https://www.greenville.k12.sc.us/gateway/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":865}},{"type":"Feature","id":866,"geometry":{"type":"Point","coordinates":[-82.275595963998541,34.811258605704744]},"properties":{"NAME":"GOLDEN STRIP CAREER AND TECHNOLOGY CENTER","ADDRESS":"1120 EAST BUTLER RD","CITY":"","STATE":"","ZIPCODE":"29607","PHONE":"864-551-1050","WEB":"http://www.greenville.k12.sc.us/gstripcc/","GRADERANGE":"9TH - 12TH SPED","RANGETYPE":"HIGH","SCHTYPE":"PUBLIC","OBJECTID":866}},{"type":"Feature","id":867,"geometry":{"type":"Point","coordinates":[-82.301404756716764,34.855312507107037]},"properties":{"NAME":"GREEN CHARTER SCHOOL","ADDRESS":"1440 PELHAM RD","CITY":"","STATE":"","ZIPCODE":"29615","PHONE":"864-884-4134","WEB":"http://www.scgreencharter.org/","GRADERANGE":"PK - 11TH SPED","RANGETYPE":"ELEMENTARY - HIGH","SCHTYPE":"CHARTER","OBJECTID":867}},{"type":"Feature","id":868,"geometry":{"type":"Point","coordinates":[-82.300865666285048,34.759002982547514]},"properties":{"NAME":"GREENBRIER ELEMENTARY","ADDRESS":"853 LOG SHOALS RD","CITY":"","STATE":"","ZIPCODE":"29607","PHONE":"864-555-5300","WEB":"http://www.greenville.k12.sc.us/gbrier/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":868}},{"type":"Feature","id":869,"geometry":{"type":"Point","coordinates":[-82.369472970414435,34.858137482917513]},"properties":{"NAME":"GREENVILLE MIDDLE ACADEMY","ADDRESS":"339 LOWNDES AVE","CITY":"","STATE":"","ZIPCODE":"29607","PHONE":"864-555-5600","WEB":"https://www.greenville.k12.sc.us/gvillem/","GRADERANGE":"6TH - 8TH SPED","RANGETYPE":"MIDDLE","SCHTYPE":"PUBLIC","OBJECTID":869}},{"type":"Feature","id":870,"geometry":{"type":"Point","coordinates":[-82.408631934116315,34.840082588850244]},"properties":{"NAME":"GREENVILLE SENIOR HIGH ACADEMY","ADDRESS":"1 VARDRY ST","CITY":"","STATE":"","ZIPCODE":"29601","PHONE":"864-555-5500","WEB":"https://www.greenville.k12.sc.us/gvilleh/","GRADERANGE":"9TH - 12TH SPED","RANGETYPE":"HIGH","SCHTYPE":"PUBLIC","OBJECTID":870}},{"type":"Feature","id":871,"geometry":{"type":"Point","coordinates":[-82.3753057,34.8261267]},"properties":{"NAME":"GREENVILLE TECHNICAL CHARTER HIGH SCHOOL","ADDRESS":"506 SOUTH PLEASANTBURG DR SUITE 119","CITY":"","STATE":"","ZIPCODE":"29607","PHONE":"864-508-8949","WEB":"https://www.gtchs.org/","GRADERANGE":"9TH - 12TH SPED","RANGETYPE":"HIGH","SCHTYPE":"CHARTER","OBJECTID":871}},{"type":"Feature","id":872,"geometry":{"type":"Point","coordinates":[-82.231368078649169,34.982045184590397]},"properties":{"NAME":"GREER HIGH SCHOOL","ADDRESS":"3000 EAST GAP CREEK RD","CITY":"","STATE":"","ZIPCODE":"29651","PHONE":"864-555-5700","WEB":"http://www.greenville.k12.sc.us/greerhs/","GRADERANGE":"9TH - 12TH SPED","RANGETYPE":"HIGH","SCHTYPE":"PUBLIC","OBJECTID":872}},{"type":"Feature","id":873,"geometry":{"type":"Point","coordinates":[-82.234276161652076,34.983256805078966]},"properties":{"NAME":"GREER MIDDLE","ADDRESS":"3032 EAST GAP CREEK RD","CITY":"","STATE":"","ZIPCODE":"29651","PHONE":"864-555-5800","WEB":"http://www.greenville.k12.sc.us/greerms/","GRADERANGE":"6TH - 8TH SPED","RANGETYPE":"MIDDLE","SCHTYPE":"PUBLIC","OBJECTID":873}},{"type":"Feature","id":874,"geometry":{"type":"Point","coordinates":[-82.298768706307726,34.963869230212467]},"properties":{"NAME":"GREER MIDDLE COLLEGE CHARTER HIGH","ADDRESS":"138 WEST MCELHANEY RD","CITY":"","STATE":"","ZIPCODE":"29687","PHONE":"864-697-7571","WEB":"http://greermiddlecollege.org/","GRADERANGE":"9TH - 12TH SPED","RANGETYPE":"HIGH","SCHTYPE":"CHARTER","OBJECTID":874}},{"type":"Feature","id":875,"geometry":{"type":"Point","coordinates":[-82.415666464996164,34.758355461629925]},"properties":{"NAME":"GROVE ELEMENTARY","ADDRESS":"1220 OLD GROVE RD","CITY":"","STATE":"","ZIPCODE":"29673","PHONE":"864-555-5900","WEB":"https://www.greenville.k12.sc.us/grove/","GRADERANGE":"K - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":875}},{"type":"Feature","id":876,"geometry":{"type":"Point","coordinates":[-82.473731489321239,34.998136549429404]},"properties":{"NAME":"HERITAGE ELEMENTARY","ADDRESS":"1592 GEER HWY","CITY":"","STATE":"","ZIPCODE":"29690","PHONE":"864-556-6000","WEB":"https://www.greenville.k12.sc.us/heritage/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":876}},{"type":"Feature","id":877,"geometry":{"type":"Point","coordinates":[-82.24717666750368,34.713345408713664]},"properties":{"NAME":"HILLCREST HIGH SCHOOL","ADDRESS":"3665 SOUTH INDUSTRIAL DR","CITY":"","STATE":"","ZIPCODE":"29681","PHONE":"864-553-3500","WEB":"https://www.greenville.k12.sc.us/hillcrest/","GRADERANGE":"9TH - 12TH SPED","RANGETYPE":"HIGH","SCHTYPE":"PUBLIC","OBJECTID":877}},{"type":"Feature","id":878,"geometry":{"type":"Point","coordinates":[-82.256172353346642,34.753888757066875]},"properties":{"NAME":"HILLCREST MIDDLE","ADDRESS":"510 GARRISON RD","CITY":"","STATE":"","ZIPCODE":"29681","PHONE":"864-556-6100","WEB":"https://www.greenville.k12.sc.us/hms/","GRADERANGE":"6TH - 8TH SPED","RANGETYPE":"MIDDLE","SCHTYPE":"PUBLIC","OBJECTID":878}},{"type":"Feature","id":879,"geometry":{"type":"Point","coordinates":[-82.43009875094009,34.832561893450702]},"properties":{"NAME":"HOLLIS ACADEMY","ADDRESS":"200 GOODRICH ST","CITY":"","STATE":"","ZIPCODE":"29611","PHONE":"864-554-4800","WEB":"https://www.greenville.k12.sc.us/hollise/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":879}},{"type":"Feature","id":880,"geometry":{"type":"Point","coordinates":[-82.390021798752301,34.807601976695906]},"properties":{"NAME":"HUGHES ACADEMY OF SCIENCE AND TECHNOLOGY","ADDRESS":"122 DEOYLEY AVE","CITY":"","STATE":"","ZIPCODE":"29605","PHONE":"864-556-6200","WEB":"https://www.greenville.k12.sc.us/hughes/","GRADERANGE":"6TH - 8TH SPED","RANGETYPE":"MIDDLE","SCHTYPE":"PUBLIC","OBJECTID":880}},{"type":"Feature","id":881,"geometry":{"type":"Point","coordinates":[-82.225426796788028,34.945880473191387]},"properties":{"NAME":"J. HARLEY BONDS CAREER CENTER","ADDRESS":"505 NORTH MAIN ST","CITY":"","STATE":"","ZIPCODE":"29650","PHONE":"864-558-8080","WEB":"http://www.greenville.k12.sc.us/bonds","GRADERANGE":"9TH - 12TH SPED","RANGETYPE":"HIGH","SCHTYPE":"PUBLIC","OBJECTID":881}},{"type":"Feature","id":882,"geometry":{"type":"Point","coordinates":[-82.337024631977187,34.807123381031708]},"properties":{"NAME":"J. L. MANN HIGH ACADEMY","ADDRESS":"160 FAIRFOREST WAY","CITY":"","STATE":"","ZIPCODE":"29607","PHONE":"864-556-6300","WEB":"http://www.greenville.k12.sc.us/jlmann/","GRADERANGE":"9TH - 12TH SPED","RANGETYPE":"HIGH","SCHTYPE":"PUBLIC","OBJECTID":882}},{"type":"Feature","id":883,"geometry":{"type":"Point","coordinates":[-82.342707410122927,34.881489513639316]},"properties":{"NAME":"LAKE FOREST ELEMENTARY","ADDRESS":"16 BERKSHIRE AVE","CITY":"","STATE":"","ZIPCODE":"29615","PHONE":"864-554-4000","WEB":"https://www.greenville.k12.sc.us/lforest/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":883}},{"type":"Feature","id":884,"geometry":{"type":"Point","coordinates":[-82.432728397455421,34.888067037096725]},"properties":{"NAME":"LAKEVIEW MIDDLE","ADDRESS":"3801 OLD BUNCOMBE RD","CITY":"","STATE":"","ZIPCODE":"29617","PHONE":"864-556-6400","WEB":"https://www.greenville.k12.sc.us/lakeview/","GRADERANGE":"6TH - 8TH SPED","RANGETYPE":"MIDDLE","SCHTYPE":"PUBLIC","OBJECTID":884}},{"type":"Feature","id":885,"geometry":{"type":"Point","coordinates":[-82.262752159011598,34.818990460301393]},"properties":{"NAME":"LANGSTON CHARTER MIDDLE","ADDRESS":"1950 WOODRUFF RD","CITY":"","STATE":"","ZIPCODE":"29607","PHONE":"864-869-9700","WEB":"http://www.langstoncharter.org/","GRADERANGE":"6TH - 8TH SPED","RANGETYPE":"MIDDLE","SCHTYPE":"CHARTER","OBJECTID":885}},{"type":"Feature","id":886,"geometry":{"type":"Point","coordinates":[-82.352235017670608,34.783727384505106]},"properties":{"NAME":"LEAD ACADEMY","ADDRESS":"804 MAULDIN RD","CITY":"","STATE":"","ZIPCODE":"29607","PHONE":"864-161-1459","WEB":"http://myleadacademy.com/","GRADERANGE":"K - 8TH SPED","RANGETYPE":"ELEMENTARY - MIDDLE","SCHTYPE":"CHARTER","OBJECTID":886}},{"type":"Feature","id":887,"geometry":{"type":"Point","coordinates":[-82.372702354500731,34.880674624705428]},"properties":{"NAME":"LEAGUE ACADEMY","ADDRESS":"125 TWIN LAKE DR","CITY":"","STATE":"","ZIPCODE":"29609","PHONE":"864-558-8100","WEB":"http://www.greenville.k12.sc.us/league/","GRADERANGE":"6TH - 8TH SPED","RANGETYPE":"MIDDLE","SCHTYPE":"PUBLIC","OBJECTID":887}},{"type":"Feature","id":888,"geometry":{"type":"Point","coordinates":[-82.426860490577823,34.859016877645999]},"properties":{"NAME":"LEGACY EARLY COLLEGE","ADDRESS":"900 WOODSIDE AVE","CITY":"","STATE":"","ZIPCODE":"29611","PHONE":"864-480-0646","WEB":"http://www.legacycharterschool.com/index.php","GRADERANGE":"K - 12TH SPED","RANGETYPE":"ELEMENTARY - HIGH","SCHTYPE":"CHARTER","OBJECTID":888}},{"type":"Feature","id":889,"geometry":{"type":"Point","coordinates":[-82.274127402735502,34.807735842566679]},"properties":{"NAME":"MAULDIN ELEMENTARY","ADDRESS":"1194 HOLLAND RD","CITY":"","STATE":"","ZIPCODE":"29681","PHONE":"864-553-3700","WEB":"http://www.greenville.k12.sc.us/mauldine/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":889}},{"type":"Feature","id":890,"geometry":{"type":"Point","coordinates":[-82.288169637953644,34.793699235942334]},"properties":{"NAME":"MAULDIN HIGH SCHOOL","ADDRESS":"701 EAST BUTLER RD","CITY":"","STATE":"","ZIPCODE":"29662","PHONE":"864-556-6500","WEB":"https://www.greenville.k12.sc.us/mauldinh/","GRADERANGE":"9TH - 12TH SPED","RANGETYPE":"HIGH","SCHTYPE":"PUBLIC","OBJECTID":890}},{"type":"Feature","id":891,"geometry":{"type":"Point","coordinates":[-82.275136458851577,34.804205035952073]},"properties":{"NAME":"MAULDIN MIDDLE","ADDRESS":"1190 HOLLAND RD","CITY":"","STATE":"","ZIPCODE":"29681","PHONE":"864-556-6770","WEB":"https://www.greenville.k12.sc.us/mauldinm/","GRADERANGE":"6TH - 8TH SPED","RANGETYPE":"MIDDLE","SCHTYPE":"PUBLIC","OBJECTID":891}},{"type":"Feature","id":892,"geometry":{"type":"Point","coordinates":[-82.377446340931129,34.883180465131645]},"properties":{"NAME":"MEYER CENTER FOR SPECIAL CHILDREN","ADDRESS":"1132 RUTHERFORD RD","CITY":"","STATE":"","ZIPCODE":"29609","PHONE":"864-500-0005","WEB":"https://meyercenter.org/","GRADERANGE":"PK - 2ND SPED ","RANGETYPE":"ELEMENTARY","SCHTYPE":"CHARTER","OBJECTID":892}},{"type":"Feature","id":893,"geometry":{"type":"Point","coordinates":[-82.3195379173752,34.876577148737745]},"properties":{"NAME":"MITCHELL RD ELEMENTARY","ADDRESS":"4124 EAST NORTH STREET EXT","CITY":"","STATE":"","ZIPCODE":"29615","PHONE":"864-556-6700","WEB":"http://www.greenville.k12.sc.us/mitchell/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":893}},{"type":"Feature","id":894,"geometry":{"type":"Point","coordinates":[-82.241157131701186,34.80010586848622]},"properties":{"NAME":"MONARCH ELEMENTARY","ADDRESS":"224 FIVE FORKS RD","CITY":"","STATE":"","ZIPCODE":"29681","PHONE":"864-520-0600","WEB":"http://www.greenville.k12.sc.us/monarch/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":894}},{"type":"Feature","id":895,"geometry":{"type":"Point","coordinates":[-82.436971385875282,34.868897546614079]},"properties":{"NAME":"MONAVIEW ELEMENTARY","ADDRESS":"10 MONAVIEW ST","CITY":"","STATE":"","ZIPCODE":"29617","PHONE":"864-554-4300","WEB":"https://www.greenville.k12.sc.us/monaview/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":895}},{"type":"Feature","id":896,"geometry":{"type":"Point","coordinates":[-82.354509882182555,35.031248752716891]},"properties":{"NAME":"MOUNTAIN VIEW ELEMENTARY","ADDRESS":"6350 MOUNTAIN VIEW RD","CITY":"","STATE":"","ZIPCODE":"29687","PHONE":"864-556-6800","WEB":"https://www.greenville.k12.sc.us/mtnview/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":896}},{"type":"Feature","id":897,"geometry":{"type":"Point","coordinates":[-82.357972552134328,34.880140548737316]},"properties":{"NAME":"NEXT HIGH SCHOOL","ADDRESS":"2000 WADE HAMPTON BLVD","CITY":"","STATE":"","ZIPCODE":"29615","PHONE":"864-357-7260","WEB":"https://www.nexthighschool.org","GRADERANGE":"6TH -12TH SPED","RANGETYPE":"MIDDLE - HIGH","SCHTYPE":"CHARTER","OBJECTID":897}},{"type":"Feature","id":898,"geometry":{"type":"Point","coordinates":[-82.476646935139769,34.99908068862424]},"properties":{"NAME":"NORTHWEST MIDDLE","ADDRESS":"1606 GEER HWY","CITY":"","STATE":"","ZIPCODE":"29690","PHONE":"864-556-6900","WEB":"http://www.greenville.k12.sc.us/northwst/","GRADERANGE":"6TH - 8TH SPED","RANGETYPE":"MIDDLE","SCHTYPE":"PUBLIC","OBJECTID":898}},{"type":"Feature","id":899,"geometry":{"type":"Point","coordinates":[-82.314854186765061,34.892629749546074]},"properties":{"NAME":"NORTHWOOD MIDDLE","ADDRESS":"710 IKES RD","CITY":"","STATE":"","ZIPCODE":"29687","PHONE":"864-557-7000","WEB":"http://www.greenville.k12.sc.us/northwd/","GRADERANGE":"6TH - 8TH SPED","RANGETYPE":"MIDDLE","SCHTYPE":"PUBLIC","OBJECTID":899}},{"type":"Feature","id":900,"geometry":{"type":"Point","coordinates":[-82.232979879222299,34.826939435238678]},"properties":{"NAME":"OAKVIEW ELEMENTARY","ADDRESS":"515 GODFREY RD","CITY":"","STATE":"","ZIPCODE":"29681","PHONE":"864-557-7100","WEB":"http://www.greenville.k12.sc.us/oakview/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":900}},{"type":"Feature","id":901,"geometry":{"type":"Point","coordinates":[-82.362077463865731,34.906156875129895]},"properties":{"NAME":"PARIS ELEMENTARY","ADDRESS":"32 EAST BELVUE RD","CITY":"","STATE":"","ZIPCODE":"29609","PHONE":"864-554-4260","WEB":"http://www.greenville.k12.sc.us/parise/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":901}},{"type":"Feature","id":902,"geometry":{"type":"Point","coordinates":[-82.310743204051647,34.859106059807232]},"properties":{"NAME":"PELHAM RD ELEMENTARY","ADDRESS":"100 ALL STAR WAY","CITY":"","STATE":"","ZIPCODE":"29615","PHONE":"864-557-7600","WEB":"http://www.greenville.k12.sc.us/pelham/","GRADERANGE":"K - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":902}},{"type":"Feature","id":903,"geometry":{"type":"Point","coordinates":[-82.28305269573535,34.732150329915228]},"properties":{"NAME":"PLAIN ELEMENTARY","ADDRESS":"506 NEELY FERRY RD","CITY":"","STATE":"","ZIPCODE":"29680","PHONE":"864-557-7700","WEB":"https://www.greenville.k12.sc.us/plaine/","GRADERANGE":"K - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":903}},{"type":"Feature","id":904,"geometry":{"type":"Point","coordinates":[-82.384752060287042,34.788285255099638]},"properties":{"NAME":"QUEST LEADERSHIP ACADEMY","ADDRESS":"29 RIDGEWAY DR","CITY":"","STATE":"","ZIPCODE":"29605","PHONE":"864-777-7575","WEB":"http://www.questleadershipacademy.org/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"CHARTER","OBJECTID":904}},{"type":"Feature","id":905,"geometry":{"type":"Point","coordinates":[-82.300709481991774,34.639398196852355]},"properties":{"NAME":"RALPH CHANDLER MIDDLE","ADDRESS":"4231 FORK SHOALS RD","CITY":"","STATE":"","ZIPCODE":"29680","PHONE":"864-520-0300","WEB":"http://www.greenville.k12.sc.us/chandler/","GRADERANGE":"6TH - 8TH SPED","RANGETYPE":"MIDDLE","SCHTYPE":"PUBLIC","OBJECTID":905}},{"type":"Feature","id":906,"geometry":{"type":"Point","coordinates":[-82.255779576687971,34.903072497320423]},"properties":{"NAME":"RIVERSIDE HIGH SCHOOL","ADDRESS":"794 HAMMETT BRIDGE RD","CITY":"","STATE":"","ZIPCODE":"29650","PHONE":"864-557-7800","WEB":"https://www.greenville.k12.sc.us/riverside/","GRADERANGE":"9TH - 12TH SPED","RANGETYPE":"HIGH","SCHTYPE":"PUBLIC","OBJECTID":906}},{"type":"Feature","id":907,"geometry":{"type":"Point","coordinates":[-82.248921398024976,34.903718869659457]},"properties":{"NAME":"RIVERSIDE MIDDLE","ADDRESS":"615 HAMMETT BRIDGE RD","CITY":"","STATE":"","ZIPCODE":"29650","PHONE":"864-557-7900","WEB":"http://www.greenville.k12.sc.us/rms/","GRADERANGE":"6TH - 8TH SPED","RANGETYPE":"MIDDLE","SCHTYPE":"PUBLIC","OBJECTID":907}},{"type":"Feature","id":908,"geometry":{"type":"Point","coordinates":[-82.353115215861393,34.740379051166279]},"properties":{"NAME":"ROBERT E. CASHION ELEMENTARY","ADDRESS":"1500 FORK SHOALS RD","CITY":"","STATE":"","ZIPCODE":"29605","PHONE":"864-558-8000","WEB":"http://www.greenville.k12.sc.us/cashion/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":908}},{"type":"Feature","id":909,"geometry":{"type":"Point","coordinates":[-82.192623820117845,34.746849883985519]},"properties":{"NAME":"RULDOLPH G. GORDON SCHOOL AT JONES MILL","ADDRESS":"1507 SCUFFLETOWN RD","CITY":"","STATE":"","ZIPCODE":"29681","PHONE":"864-550-0200","WEB":"http://www.greenville.k12.sc.us/gordon/","GRADERANGE":"PK - 7TH SPED","RANGETYPE":"ELEMENTARY - MIDDLE","SCHTYPE":"PUBLIC","OBJECTID":909}},{"type":"Feature","id":910,"geometry":{"type":"Point","coordinates":[-82.365492121130316,34.814202492864347]},"properties":{"NAME":"SARA COLLINS ELEMENTARY","ADDRESS":"1200 PARKINS MILL RD","CITY":"","STATE":"","ZIPCODE":"29607","PHONE":"864-553-3200","WEB":"http://www.greenville.k12.sc.us/scollins/","GRADERANGE":"K - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":910}},{"type":"Feature","id":911,"geometry":{"type":"Point","coordinates":[-82.401900366761623,34.843100171640138]},"properties":{"NAME":"SC GOVERNOR'S SCHOOL FOR THE ARTS AND HUMANITIES","ADDRESS":"15 UNIVERSITY ST","CITY":"","STATE":"","ZIPCODE":"29601","PHONE":"864-823-3757","WEB":"https://www.scgsah.org/","GRADERANGE":"9TH - 12TH","RANGETYPE":"HIGH","SCHTYPE":"PUBLIC","OBJECTID":911}},{"type":"Feature","id":912,"geometry":{"type":"Point","coordinates":[-82.364588003632406,34.906808073466351]},"properties":{"NAME":"SEVIER MIDDLE","ADDRESS":"1000 PIEDMONT PARK RD","CITY":"","STATE":"","ZIPCODE":"29609","PHONE":"864-558-8200","WEB":"http://www.greenville.k12.sc.us/sevier/","GRADERANGE":"6TH - 8TH SPED","RANGETYPE":"MIDDLE","SCHTYPE":"PUBLIC","OBJECTID":912}},{"type":"Feature","id":913,"geometry":{"type":"Point","coordinates":[-82.270244603445491,34.744036029692836]},"properties":{"NAME":"SIMPSONVILLE ELEMENTARY","ADDRESS":"200 MORTON AVE","CITY":"","STATE":"","ZIPCODE":"29681","PHONE":"864-558-8300","WEB":"https://www.greenville.k12.sc.us/simville/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":913}},{"type":"Feature","id":914,"geometry":{"type":"Point","coordinates":[-82.265290304786575,35.045485719351518]},"properties":{"NAME":"SKYLAND ELEMENTARY","ADDRESS":"4221 HWY 14 N","CITY":"","STATE":"","ZIPCODE":"29651","PHONE":"864-557-7200","WEB":"http://www.greenville.k12.sc.us/skyland/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":914}},{"type":"Feature","id":915,"geometry":{"type":"Point","coordinates":[-82.496792557261259,35.022305978548957]},"properties":{"NAME":"SLATER MARIETTA ELEMENTARY","ADDRESS":"100 BAKER CIR","CITY":"","STATE":"","ZIPCODE":"29661","PHONE":"864-552-2000","WEB":"https://www.greenville.k12.sc.us/slaterma/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":915}},{"type":"Feature","id":916,"geometry":{"type":"Point","coordinates":[-82.403641907089764,34.796682869907784]},"properties":{"NAME":"SOUTHSIDE HIGH SCHOOL","ADDRESS":"6630 FRONTAGE RD","CITY":"","STATE":"","ZIPCODE":"29605","PHONE":"864-558-8700","WEB":"https://www.greenville.k12.sc.us/shs/","GRADERANGE":"9TH - 12TH SPED","RANGETYPE":"HIGH","SCHTYPE":"PUBLIC","OBJECTID":916}},{"type":"Feature","id":917,"geometry":{"type":"Point","coordinates":[-82.370272734943114,34.835352717164533]},"properties":{"NAME":"STERLING SCHOOL","ADDRESS":"99 JOHN MCCARROLL WAY","CITY":"","STATE":"","ZIPCODE":"29607","PHONE":"864-554-4480","WEB":"http://www.greenville.k12.sc.us/sterling/","GRADERANGE":"PK - 8TH SPED ","RANGETYPE":"ELEMENTARY / MIDDLE","SCHTYPE":"PUBLIC","OBJECTID":917}},{"type":"Feature","id":918,"geometry":{"type":"Point","coordinates":[-82.397654788905058,34.865426711706505]},"properties":{"NAME":"STONE ACADEMY","ADDRESS":"115 RANDALL ST","CITY":"","STATE":"","ZIPCODE":"29609","PHONE":"864-558-8400","WEB":"http://www.greenville.k12.sc.us/stone/","GRADERANGE":"K - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":918}},{"type":"Feature","id":919,"geometry":{"type":"Point","coordinates":[-82.413422088559543,34.692171306207655]},"properties":{"NAME":"SUE CLEVELAND ELEMENTARY","ADDRESS":"375 WOODMONT MIDDLE SCHOOL ROAD EXT","CITY":"","STATE":"","ZIPCODE":"29673","PHONE":"864-554-4200","WEB":"http://www.greenville.k12.sc.us/sueclev/","GRADERANGE":"K - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":919}},{"type":"Feature","id":920,"geometry":{"type":"Point","coordinates":[-82.381986913886649,34.875524282016542]},"properties":{"NAME":"SUMMIT DR ELEMENTARY","ADDRESS":"424 SUMMIT DR","CITY":"","STATE":"","ZIPCODE":"29609","PHONE":"864-558-8800","WEB":"https://www.greenville.k12.sc.us/sumDR/","GRADERANGE":"K - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":920}},{"type":"Feature","id":921,"geometry":{"type":"Point","coordinates":[-82.468934905704131,34.824072938808534]},"properties":{"NAME":"TANGLEWOOD MIDDLE","ADDRESS":"44 MERRIWOODS DR","CITY":"","STATE":"","ZIPCODE":"29611","PHONE":"864-554-4500","WEB":"https://www.greenville.k12.sc.us/twood/","GRADERANGE":"6TH - 8TH SPED","RANGETYPE":"MIDDLE","SCHTYPE":"PUBLIC","OBJECTID":921}},{"type":"Feature","id":922,"geometry":{"type":"Point","coordinates":[-82.330633613188127,34.932308155941257]},"properties":{"NAME":"TAYLORS ELEMENTARY","ADDRESS":"809 REID SCHOOL RD","CITY":"","STATE":"","ZIPCODE":"29687","PHONE":"864-557-7450","WEB":"http://www.greenville.k12.sc.us/taylors/","GRADERANGE":"K - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":922}},{"type":"Feature","id":923,"geometry":{"type":"Point","coordinates":[-82.408552390092225,34.794774329272265]},"properties":{"NAME":"THOMAS E. KERNS ELEMENTARY","ADDRESS":"6650 FRONTAGE RD","CITY":"","STATE":"","ZIPCODE":"29605","PHONE":"864-551-1300","WEB":"http://www.greenville.k12.sc.us/kerns/","GRADERANGE":"K - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":923}},{"type":"Feature","id":924,"geometry":{"type":"Point","coordinates":[-82.368128616534449,35.074030055847594]},"properties":{"NAME":"TIGERVILLE ELEMENTARY","ADDRESS":"25 TIGERVILLE ELEMENTARY SCHOOL RD","CITY":"","STATE":"","ZIPCODE":"29687","PHONE":"864-554-4600","WEB":"https://www.greenville.k12.sc.us/tigervil/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":924}},{"type":"Feature","id":925,"geometry":{"type":"Point","coordinates":[-82.449481053241215,34.970609271271321]},"properties":{"NAME":"TRAVELERS REST HIGH SCHOOL","ADDRESS":"301 NORTH MAIN ST","CITY":"","STATE":"","ZIPCODE":"29690","PHONE":"864-550-0000","WEB":"https://www.greenville.k12.sc.us/trest/","GRADERANGE":"9TH - 12TH SPED","RANGETYPE":"HIGH","SCHTYPE":"PUBLIC","OBJECTID":925}},{"type":"Feature","id":926,"geometry":{"type":"Point","coordinates":[-82.355736155481594,34.88623395691932]},"properties":{"NAME":"WADE HAMPTON HIGH SCHOOL","ADDRESS":"100 PINE KNOLL DR","CITY":"","STATE":"","ZIPCODE":"29609","PHONE":"864-550-0100","WEB":"http://www.greenville.k12.sc.us/whhs/","GRADERANGE":"9TH - 12TH SPED","RANGETYPE":"HIGH","SCHTYPE":"PUBLIC","OBJECTID":926}},{"type":"Feature","id":927,"geometry":{"type":"Point","coordinates":[-82.366913458217283,34.814202442794453]},"properties":{"NAME":"WASHINGTON CENTER","ADDRESS":"2 BETTY SPENCER DR","CITY":"","STATE":"","ZIPCODE":"29607","PHONE":"864-550-0250","WEB":"http://www.greenville.k12.sc.us/washctr/","GRADERANGE":"PK - 12TH SPED ","RANGETYPE":"ELEMENTARY - HIGH","SCHTYPE":"PUBLIC","OBJECTID":927}},{"type":"Feature","id":928,"geometry":{"type":"Point","coordinates":[-82.443973392520945,34.820848062300414]},"properties":{"NAME":"WELCOME ELEMENTARY","ADDRESS":"36 EAST WELCOME RD","CITY":"","STATE":"","ZIPCODE":"29611","PHONE":"864-553-3900","WEB":"https://www.greenville.k12.sc.us/welcome/","GRADERANGE":"K - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":928}},{"type":"Feature","id":929,"geometry":{"type":"Point","coordinates":[-82.466010642381676,34.864396180001151]},"properties":{"NAME":"WESTCLIFFE ELEMENTARY","ADDRESS":"105 EASTBOURNE RD","CITY":"","STATE":"","ZIPCODE":"29611","PHONE":"864-550-0300","WEB":"http://www.greenville.k12.sc.us/westclif/","GRADERANGE":"PK - 5TH SPED","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":929}},{"type":"Feature","id":930,"geometry":{"type":"Point","coordinates":[-82.246352275759847,34.897665365201561]},"properties":{"NAME":"WOODLAND ELEMENTARY","ADDRESS":"1730 GIBB SHOALS RD","CITY":"","STATE":"","ZIPCODE":"29650","PHONE":"864-550-0400","WEB":"http://www.greenville.k12.sc.us/woodland/","GRADERANGE":"PK - 5TH SPED ","RANGETYPE":"ELEMENTARY","SCHTYPE":"PUBLIC","OBJECTID":930}},{"type":"Feature","id":931,"geometry":{"type":"Point","coordinates":[-82.358833119763304,34.68866220954866]},"properties":{"NAME":"WOODMONT HIGH SCHOOL","ADDRESS":"2831 WEST GEORGIA RD","CITY":"","STATE":"","ZIPCODE":"29673","PHONE":"864-558-8600","WEB":"https://www.greenville.k12.sc.us/wdmonth/","GRADERANGE":"9TH - 12TH SPED","RANGETYPE":"HIGH","SCHTYPE":"PUBLIC","OBJECTID":931}},{"type":"Feature","id":932,"geometry":{"type":"Point","coordinates":[-82.407686305811225,34.693021159461047]},"properties":{"NAME":"WOODMONT MIDDLE","ADDRESS":"325 NORTH FLAT ROCK RD","CITY":"","STATE":"","ZIPCODE":"29673","PHONE":"864-558-8500","WEB":"http://www.greenville.k12.sc.us/wdmontm/","GRADERANGE":"6TH - 8TH SPED","RANGETYPE":"MIDDLE","SCHTYPE":"PUBLIC","OBJECTID":932}},{"type":"Feature","id":933,"geometry":{"type":"Point","coordinates":[-82.322988230501537,34.816152300808149]},"properties":{"NAME":"GREENVILLE TECHNICA; COLLEGE CENTER FOR MANUFACTURING INNOVATION","ADDRESS":"575 MELLENNIUM BLVD","CITY":"","STATE":"","ZIPCODE":"29607","PHONE":"864-250-8000","WEB":"https://www.cmigreenville.com","GRADERANGE":"HIGHER EDUCATION","RANGETYPE":"COLLEGE / UNIVERSITY","SCHTYPE":"PUBLIC","OBJECTID":933}},{"type":"Feature","id":934,"geometry":{"type":"Point","coordinates":[-82.352768,34.8570134]},"properties":{"NAME":"LIMESTONE COLLEGE - GREENVILLE CAMPUS","ADDRESS":"25 WOODS LAKE RD SUITE 601","CITY":"","STATE":"","ZIPCODE":"29607","PHONE":"864-298-8621","WEB":"http://www.limestone.edu/","GRADERANGE":"HIGHER EDUCATION","RANGETYPE":"COLLEGE / UNIVERSITY","SCHTYPE":"PRIVATE","OBJECTID":934}},{"type":"Feature","id":935,"geometry":{"type":"Point","coordinates":[-82.254918842823528,34.940758962431282]},"properties":{"NAME":"NORTH GREENVILLE UNIVERSITY ADULT AND GRADUATE STUDIES","ADDRESS":"405 LANCASTER AVE","CITY":"","STATE":"","ZIPCODE":"29650","PHONE":"864-877-3052","WEB":"https://www.ngu.edu/","GRADERANGE":"HIGHER EDUCATION","RANGETYPE":"COLLEGE / UNIVERSITY","SCHTYPE":"PRIVATE","OBJECTID":935}},{"type":"Feature","id":936,"geometry":{"type":"Point","coordinates":[-82.363173145995418,34.873988818784866]},"properties":{"NAME":"BOB JONES UNIVERSITY","ADDRESS":"1700 WADE HAMPTON BLVD","CITY":"","STATE":"","ZIPCODE":"29614","PHONE":"864-242-5100","WEB":"https://www.bju.edu","GRADERANGE":"HIGHER EDUCATION","RANGETYPE":"COLLEGE / UNIVERSITY","SCHTYPE":"PRIVATE","OBJECTID":936}},{"type":"Feature","id":937,"geometry":{"type":"Point","coordinates":[-82.399139729328155,34.851005476604158]},"properties":{"NAME":"CLEMSON MBA","ADDRESS":"1 N MAIN ST","CITY":"","STATE":"","ZIPCODE":"29601","PHONE":"864-656-5802","WEB":"http://www.clemson.edu/business/departments/mba/index.html","GRADERANGE":"HIGHER EDUCATION","RANGETYPE":"COLLEGE / UNIVERSITY","SCHTYPE":"PUBLIC","OBJECTID":937}},{"type":"Feature","id":938,"geometry":{"type":"Point","coordinates":[-82.3172776,34.8436162]},"properties":{"NAME":"ECPI UNIVERSITY - GREENVILLE","ADDRESS":"1001 KEYS DR #100","CITY":"","STATE":"","ZIPCODE":"29615","PHONE":"864-438-5018","WEB":"https://www.ecpi.edu/locations/greenville-sc","GRADERANGE":"HIGHER EDUCATION","RANGETYPE":"COLLEGE / UNIVERSITY","SCHTYPE":"PRIVATE","OBJECTID":938}},{"type":"Feature","id":939,"geometry":{"type":"Point","coordinates":[-82.434319403961567,34.926435514682751]},"properties":{"NAME":"FURMAN UNIVERSITY","ADDRESS":"3300 POINSETT HWY","CITY":"","STATE":"","ZIPCODE":"29613","PHONE":"864-294-2000","WEB":"https://www.furman.edu/","GRADERANGE":"HIGHER EDUCATION","RANGETYPE":"COLLEGE / UNIVERSITY","SCHTYPE":"PRIVATE","OBJECTID":939}},{"type":"Feature","id":940,"geometry":{"type":"Point","coordinates":[-82.302752885401418,34.920129940194563]},"properties":{"NAME":"GREENVILLE PRESBYTERIAN THEOLOGICAL SEMINARY","ADDRESS":"200 E MAIN ST","CITY":"","STATE":"","ZIPCODE":"29687","PHONE":"864-322-2717","WEB":"https://gpts.edu","GRADERANGE":"HIGHER EDUCATION","RANGETYPE":"COLLEGE / UNIVERSITY","SCHTYPE":"PRIVATE","OBJECTID":940}},{"type":"Feature","id":941,"geometry":{"type":"Point","coordinates":[-82.376720133668172,34.825670032767036]},"properties":{"NAME":"GREENVILLE TECHNICAL COLLEGE - BARTON CAMPUS","ADDRESS":"506 S PLEASANTBURG DR","CITY":"","STATE":"","ZIPCODE":"29607","PHONE":"864-250-8000","WEB":"https://www.gvltec.edu/","GRADERANGE":"HIGHER EDUCATION","RANGETYPE":"COLLEGE / UNIVERSITY","SCHTYPE":"PUBLIC","OBJECTID":941}},{"type":"Feature","id":942,"geometry":{"type":"Point","coordinates":[-82.301360993634859,34.960995214342589]},"properties":{"NAME":"GREENVILLE TECHNICAL COLLEGE - BENSON CAMPUS","ADDRESS":"2522 LOCUST HILL RD","CITY":"","STATE":"","ZIPCODE":"29687","PHONE":"864-558-8500","WEB":"https://www.gvltec.edu/","GRADERANGE":"HIGHER EDUCATION","RANGETYPE":"COLLEGE / UNIVERSITY","SCHTYPE":"PUBLIC","OBJECTID":942}},{"type":"Feature","id":943,"geometry":{"type":"Point","coordinates":[-82.311341383950477,34.710664599821335]},"properties":{"NAME":"GREENVILLE TECHNICAL COLLEGE - BRASHIER CAMPUS","ADDRESS":"1830 W GEORGIA RD","CITY":"","STATE":"","ZIPCODE":"29680","PHONE":"864-558-8500","WEB":"https://www.gvltec.edu/","GRADERANGE":"HIGHER EDUCATION","RANGETYPE":"COLLEGE / UNIVERSITY","SCHTYPE":"PUBLIC","OBJECTID":943}},{"type":"Feature","id":944,"geometry":{"type":"Point","coordinates":[-82.472123202884219,34.899970167467714]},"properties":{"NAME":"GREENVILLE TECHNICAL COLLEGE - NORTHWEST CAMPUS","ADDRESS":"8109 WHITE HORSE RD","CITY":"","STATE":"","ZIPCODE":"29617","PHONE":"864-558-8500","WEB":"https://www.gvltec.edu/","GRADERANGE":"HIGHER EDUCATION","RANGETYPE":"COLLEGE / UNIVERSITY","SCHTYPE":"PUBLIC","OBJECTID":944}},{"type":"Feature","id":945,"geometry":{"type":"Point","coordinates":[-82.361379553867536,34.849822790703463]},"properties":{"NAME":"GREENVILLE TECHNICAL COLLEGE - MCKINNEY REGIONAL AUTOMOTIVE CENTER","ADDRESS":"227 N PLEASANTBURG DR","CITY":"","STATE":"","ZIPCODE":"29607","PHONE":"864-558-8500","WEB":"https://www.gvltec.edu/","GRADERANGE":"HIGHER EDUCATION","RANGETYPE":"COLLEGE / UNIVERSITY","SCHTYPE":"PUBLIC","OBJECTID":945}},{"type":"Feature","id":946,"geometry":{"type":"Point","coordinates":[-82.373413482217472,34.769417928049322]},"properties":{"NAME":"GREENVILLE TECHNICAL COLLEGE - TRANSPORTATION HUB AT SCTAC","ADDRESS":"915 PERIMETER RD","CITY":"","STATE":"","ZIPCODE":"29605","PHONE":"864-558-8500","WEB":"https://www.gvltec.edu/","GRADERANGE":"HIGHER EDUCATION","RANGETYPE":"COLLEGE / UNIVERSITY","SCHTYPE":"PUBLIC","OBJECTID":946}},{"type":"Feature","id":947,"geometry":{"type":"Point","coordinates":[-82.432773373983139,34.910218674814999]},"properties":{"NAME":"HOLMES BIBLE COLLEGE","ADDRESS":"4901 OLD BUNCOMBE RD","CITY":"","STATE":"","ZIPCODE":"29617","PHONE":"864-246-3566","WEB":"http://holmescollege.publishpath.com/","GRADERANGE":"HIGHER EDUCATION","RANGETYPE":"COLLEGE / UNIVERSITY","SCHTYPE":"PRIVATE","OBJECTID":947}},{"type":"Feature","id":948,"geometry":{"type":"Point","coordinates":[-82.3726205,35.0691604]},"properties":{"NAME":"NORTH GREENVILLE UNIVERSITY","ADDRESS":"7801 N TIGERVILLE RD","CITY":"","STATE":"","ZIPCODE":"29688","PHONE":"864-977-7000","WEB":"https://www.ngu.edu/","GRADERANGE":"HIGHER EDUCATION","RANGETYPE":"COLLEGE / UNIVERSITY","SCHTYPE":"PRIVATE","OBJECTID":948}},{"type":"Feature","id":949,"geometry":{"type":"Point","coordinates":[-82.336709390022691,34.82002324719366]},"properties":{"NAME":"WEBSTER UNIVSEITY - GREENVILLE","ADDRESS":"124 VERDAE BLVD SUITE 400","CITY":"","STATE":"","ZIPCODE":"29607","PHONE":"864-676-9002","WEB":"http://www.webster.edu/greenville/","GRADERANGE":"HIGHER EDUCATION","RANGETYPE":"COLLEGE / UNIVERSITY","SCHTYPE":"PRIVATE","OBJECTID":949}},{"type":"Feature","id":950,"geometry":{"type":"Point","coordinates":[-82.36341537020192,34.838402309021888]},"properties":{"NAME":"UNIVERSITY CENTER","ADDRESS":"225 S PLEASANTBURG DR","CITY":"","STATE":"","ZIPCODE":"29607","PHONE":"864-250-1111","WEB":"https://greenville.org/","GRADERANGE":"HIGHER EDUCATION","RANGETYPE":"COLLEGE / UNIVERSITY","SCHTYPE":"PUBLIC","OBJECTID":950}},{"type":"Feature","id":951,"geometry":{"type":"Point","coordinates":[-82.35914002660212,34.855226931779434]},"properties":{"NAME":"STRAYER UNIVERSITY - GREENVILLE","ADDRESS":"777 LOWNDES HILL RD","CITY":"","STATE":"","ZIPCODE":"29607","PHONE":"864-250-7000","WEB":"https://www.strayer.edu/campus-locations/south-carolina/greenville","GRADERANGE":"HIGHER EDUCATION","RANGETYPE":"COLLEGE / UNIVERSITY","SCHTYPE":"PRIVATE","OBJECTID":951}},{"type":"Feature","id":952,"geometry":{"type":"Point","coordinates":[-82.447308670073724,34.828042710282389]},"properties":{"NAME":"TABERNACLE BAPTIST COLLEGE","ADDRESS":"3931 WHITE HORSE RD","CITY":"","STATE":"","ZIPCODE":"29611","PHONE":"864-269-2760","WEB":"https://tabernaclebaptistcollege.org/","GRADERANGE":"HIGHER EDUCATION","RANGETYPE":"COLLEGE / UNIVERSITY","SCHTYPE":"PRIVATE","OBJECTID":952}},{"type":"Feature","id":953,"geometry":{"type":"Point","coordinates":[-82.411369389437581,34.821391835042249]},"properties":{"NAME":"UNIVERSITY OF SOUTH CAROLINA SCHOOL OF MEDICINE","ADDRESS":"607 GROVE RD","CITY":"","STATE":"","ZIPCODE":"29605","PHONE":"864-455-7992","WEB":"https://sc.edu/study/colleges_schools/medicine_greenville/index.php","GRADERANGE":"HIGHER EDUCATION","RANGETYPE":"COLLEGE / UNIVERSITY","SCHTYPE":"PUBLIC","OBJECTID":953}},{"type":"Feature","id":954,"geometry":{"type":"Point","coordinates":[-82.212227,34.9426071]},"properties":{"NAME":"DUNBAR CHILD DEVELOPMENT CENTER","ADDRESS":"200 MORGAN ST","CITY":"","STATE":"","ZIPCODE":"29651","PHONE":"864-355-2270","WEB":"https://www.greenville.k12.sc.us/child/main.asp?titleid=dunbar","GRADERANGE":"4K - PRE SPED","RANGETYPE":"CDC","SCHTYPE":"PUBLIC","OBJECTID":954}},{"type":"Feature","id":955,"geometry":{"type":"Point","coordinates":[-82.426087193412243,34.805037151779416]},"properties":{"NAME":"GREENVIEW CHILD DEVELOPMENT CENTER","ADDRESS":"625 OLD PIEDMONT HWY","CITY":"","STATE":"","ZIPCODE":"29605","PHONE":"864-452-0448","WEB":"https://www.greenville.k12.sc.us/child/main.asp?titleid=greenview","GRADERANGE":"4K - PRE SPED","RANGETYPE":"CDC","SCHTYPE":"PUBLIC","OBJECTID":955}},{"type":"Feature","id":956,"geometry":{"type":"Point","coordinates":[-82.217199742681004,34.715307872611902]},"properties":{"NAME":"GOLDEN STRIP CHILD DEVELOPMENT CENTER","ADDRESS":"1200 HOWARD DR","CITY":"","STATE":"","ZIPCODE":"29681","PHONE":"864-355-5070","WEB":"https://www.greenville.k12.sc.us/child/main.asp?titleid=goldenstrip","GRADERANGE":"4K - PRE SPED","RANGETYPE":"CDC","SCHTYPE":"PUBLIC","OBJECTID":956}},{"type":"Feature","id":957,"geometry":{"type":"Point","coordinates":[-82.423601936188703,34.892007454566823]},"properties":{"NAME":"NORTHWEST CRESECENT CHILD DEVELOPMENT CENTER","ADDRESS":"927 N FRANKLIN RD","CITY":"","STATE":"","ZIPCODE":"29617","PHONE":"864-355-4080","WEB":"https://www.greenville.k12.sc.us/child/main.asp?titleid=northwest","GRADERANGE":"4K - PRE SPED","RANGETYPE":"CDC","SCHTYPE":"PUBLIC","OBJECTID":957}},{"type":"Feature","id":958,"geometry":{"type":"Point","coordinates":[-82.380141830535436,34.853115867137042]},"properties":{"NAME":"OVERBROOK CHILD DEVELOPMENT CENTER","ADDRESS":"111 LAURENS RD","CITY":"","STATE":"","ZIPCODE":"29607","PHONE":"864-355-7350","WEB":"https://www.greenville.k12.sc.us/child/main.asp?titleid=overbrook","GRADERANGE":"4K - PRE SPED","RANGETYPE":"CDC","SCHTYPE":"PUBLIC","OBJECTID":958}},{"type":"Feature","id":959,"geometry":{"type":"Point","coordinates":[-82.388894349877518,34.646858284685891]},"properties":{"NAME":"RILEY CHILD DEVELOPMENT CENTER","ADDRESS":"9130 AUGUSTA RD","CITY":"","STATE":"","ZIPCODE":"29669","PHONE":"864-355-3400","WEB":"https://www.greenville.k12.sc.us/child/main.asp?titleid=riley","GRADERANGE":"4K - PRE SPED","RANGETYPE":"CDC","SCHTYPE":"PUBLIC","OBJECTID":959}}]} diff --git a/storage/app/geojson/schools-ib-k12.geojson b/storage/app/geojson/schools-ib-k12.geojson new file mode 100644 index 00000000..2daf9ea7 --- /dev/null +++ b/storage/app/geojson/schools-ib-k12.geojson @@ -0,0 +1,209 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.236548, + 34.955186 + ] + }, + "properties": { + "title": "Chandler Creek Elementary", + "group": "Northeast Cluster", + "program": "International Baccalaureate", + "address": "301 Chandler Road, Greer, SC 29651", + "school_website": "https:\/\/www.greenville.k12.sc.us\/ccreek\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.23462, + 34.981658 + ] + }, + "properties": { + "title": "Greer Middle", + "group": "Northeast Cluster", + "program": "International Baccalaureate", + "address": "3032 E. Gap Creek Road, Greer, SC 29651", + "school_website": "https:\/\/www.greenville.k12.sc.us\/greerms\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.231521, + 34.982087 + ] + }, + "properties": { + "title": "Greer High", + "group": "Northeast Cluster", + "program": "International Baccalaureate", + "address": "3000 East Gap Creek Dr., Greer, SC 29651", + "school_website": "https:\/\/www.greenville.k12.sc.us\/greerhs\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.473687, + 34.998838 + ] + }, + "properties": { + "title": "Heritage Elementary", + "group": "Northwest Cluster", + "program": "International Baccalaureate", + "address": "1592 Geer Highway, Travelers Rest, SC 29690", + "school_website": "https:\/\/www.greenville.k12.sc.us\/heritage\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.476696, + 34.999178 + ] + }, + "properties": { + "title": "Northwest Middle", + "group": "Northwest Cluster", + "program": "International Baccalaureate", + "address": "1606 Geer Highway, Travelers Rest, SC 29690", + "school_website": "https:\/\/www.greenville.k12.sc.us\/northwst\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.450826, + 34.970955 + ] + }, + "properties": { + "title": "Travelers Rest High", + "group": "Northwest Cluster", + "program": "International Baccalaureate", + "address": "301 North Main St., Travelers Rest, SC 29690", + "school_website": "https:\/\/www.greenville.k12.sc.us\/trest\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.312187, + 34.618182 + ] + }, + "properties": { + "title": "Fork Shoals Elementary", + "group": "Southern Cluster", + "program": "International Baccalaureate", + "address": "916 McKelvey Road, Pelzer, SC 29669", + "school_website": "https:\/\/www.greenville.k12.sc.us\/forksh\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.407782, + 34.692933 + ] + }, + "properties": { + "title": "Woodmont Middle", + "group": "Southern Cluster", + "program": "International Baccalaureate", + "address": "325 North Flat Rock Road, Piedmont, SC 29673", + "school_website": "https:\/\/www.greenville.k12.sc.us\/wdmontm\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.359031, + 34.688531 + ] + }, + "properties": { + "title": "Woodmont High", + "group": "Southern Cluster", + "program": "International Baccalaureate", + "address": "2831 West Georgia Road, Piedmont, SC 29673", + "school_website": "https:\/\/www.greenville.k12.sc.us\/wdmonth\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.364903, + 34.814888 + ] + }, + "properties": { + "title": "Sara Collins Elementary", + "group": "Central Cluster", + "program": "International Baccalaureate", + "address": "1200 Parkins Mill Road, Greenville, SC 29607", + "school_website": "https:\/\/www.greenville.k12.sc.us\/scollins\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.321817, + 34.837731 + ] + }, + "properties": { + "title": "Beck Academy (Middle)", + "group": "Central Cluster", + "program": "International Baccalaureate", + "address": "901 Woodruff Road, Greenville, SC 29607", + "school_website": "https:\/\/www.greenville.k12.sc.us\/beck\/" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.404247, + 34.796676 + ] + }, + "properties": { + "title": "Southside High", + "group": "Central Cluster", + "program": "International Baccalaureate", + "address": "6630 Frontage at White Horse Rd., Greenville, SC 29605", + "school_website": "https:\/\/www.greenville.k12.sc.us\/shs\/" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/solid-waste.geojson b/storage/app/geojson/solid-waste.geojson new file mode 100644 index 00000000..b3e043d0 --- /dev/null +++ b/storage/app/geojson/solid-waste.geojson @@ -0,0 +1,305 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.354274, + 35.02984 + ] + }, + "properties": { + "title": "Mountain View Elementary", + "notes": "Non-Staffed", + "property3": null + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 35.052285, + 35.052285 + ] + }, + "properties": { + "title": "Echo Valley Convenience Center", + "notes": "Staffed", + "property3": null + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.484053, + 34.914178 + ] + }, + "properties": { + "title": "Blackberry Valley Convenience Center", + "notes": "Staffed", + "property3": null + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.427019, + 34.973435 + ] + }, + "properties": { + "title": "Gateway Plaza", + "notes": "non-staffed", + "property3": null + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.274701, + 35.013239 + ] + }, + "properties": { + "title": "O'Neal Convenience Center", + "notes": "Staffed", + "property3": null + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.286416, + 35.040167 + ] + }, + "properties": { + "title": "Blue Ridge High School", + "notes": "non-staffed", + "property3": null + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.275211, + 34.773549 + ] + }, + "properties": { + "title": "Brookwood Church", + "notes": "non-staffed", + "property3": null + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.313068, + 34.84195 + ] + }, + "properties": { + "title": "Roper Mountain @ I-385", + "notes": "non-staffed", + "property3": null + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.385705, + 34.856309 + ] + }, + "properties": { + "title": "City of Greenville Recycling Center", + "notes": "non-staffed", + "property3": null + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.313194, + 34.539863 + ] + }, + "properties": { + "title": "Twin Chimney's Landfill", + "notes": "non-staffed", + "property3": null + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.235495, + 34.928016 + ] + }, + "properties": { + "title": "City of Greer Reycling Center", + "notes": "non-staffed", + "property3": null + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.300991, + 34.88697 + ] + }, + "properties": { + "title": "Hudson Corner Shopping Center", + "notes": "non-staffed", + "property3": null + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.328174, + 34.874625 + ] + }, + "properties": { + "title": "Bi-Lo", + "notes": "non-staffed", + "property3": null + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.225685, + 34.946005 + ] + }, + "properties": { + "title": "J Harley Bonds Career Center", + "notes": "non-staffed", + "property3": null + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.423327, + 34.678059 + ] + }, + "properties": { + "title": "Piedmont Convenience Center", + "notes": "staffed", + "property3": null + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.188841, + 34.806093 + ] + }, + "properties": { + "title": "Enoree Convenience Center", + "notes": "staffed", + "property3": null + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.540228, + 34.788257 + ] + }, + "properties": { + "title": "Mauldin Public Works", + "notes": "non-staffed", + "property3": null + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.251117, + 34.739182 + ] + }, + "properties": { + "title": "Simpsonville City Park", + "notes": "non-staffed", + "property3": null + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.211302, + 34.692843 + ] + }, + "properties": { + "title": "Fountain Inn Elementary", + "notes": "non-staffed", + "property3": null + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2828, + 34.685275 + ] + }, + "properties": { + "title": "Simpsonville Convenience Center", + "notes": "staffed", + "property3": null + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/swamp-rabbit-trail-entrances.geojson b/storage/app/geojson/swamp-rabbit-trail-entrances.geojson new file mode 100644 index 00000000..28c1cc92 --- /dev/null +++ b/storage/app/geojson/swamp-rabbit-trail-entrances.geojson @@ -0,0 +1,789 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.464128, + 34.991772 + ] + }, + "properties": { + "title": "Tate Road", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.464944, + 34.987568 + ] + }, + "properties": { + "title": "rock Quarry Road", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.459135, + 34.979549 + ] + }, + "properties": { + "title": "Corner of Church & Bridwell", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.449497, + 34.974993 + ] + }, + "properties": { + "title": "Across from Deeco Metals", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.447877, + 34.973525 + ] + }, + "properties": { + "title": "Tolar Road", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.445752, + 34.970479 + ] + }, + "properties": { + "title": "Henderson Dr.", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.443666, + 34.967534 + ] + }, + "properties": { + "title": "Tandem", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.442448, + 34.965819 + ] + }, + "properties": { + "title": "Marthas Hardware", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.44175, + 34.964773 + ] + }, + "properties": { + "title": "TR Methodist", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.440963, + 34.962706 + ] + }, + "properties": { + "title": "Old Bumcombe", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.440465, + 34.960719 + ] + }, + "properties": { + "title": "Roe Rd", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.440529, + 34.956885 + ] + }, + "properties": { + "title": "Old Buncombe 2", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.440652, + 34.953097 + ] + }, + "properties": { + "title": "TR History Museum", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.441996, + 34.947909 + ] + }, + "properties": { + "title": "Old Buncomb 3", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.444358, + 34.941094 + ] + }, + "properties": { + "title": "Foothills Rd", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.442245, + 34.936973 + ] + }, + "properties": { + "title": "Roe Ford", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.442266, + 34.934124 + ] + }, + "properties": { + "title": "Carl Kort", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.443838, + 34.925438 + ] + }, + "properties": { + "title": "Furman", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.445557, + 34.921729 + ] + }, + "properties": { + "title": "Furman 2", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.446099, + 34.920394 + ] + }, + "properties": { + "title": "Duncan Chapel", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.446338, + 34.915729 + ] + }, + "properties": { + "title": "Engel", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.447518, + 34.911486 + ] + }, + "properties": { + "title": "Watkins Bridge", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.44034, + 34.893813 + ] + }, + "properties": { + "title": "Sulfer Springs", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.42853, + 34.878206 + ] + }, + "properties": { + "title": "West Blue Ridge", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.426121, + 34.876412 + ] + }, + "properties": { + "title": "Franklin Secret", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.421597, + 34.870019 + ] + }, + "properties": { + "title": "Swamp Rabbit Cafe", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.42128, + 34.868998 + ] + }, + "properties": { + "title": "Hampton", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.421178, + 34.866146 + ] + }, + "properties": { + "title": "Greenville Mille", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.420962, + 34.860523 + ] + }, + "properties": { + "title": "Railroad Crossing", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.416374, + 34.854526 + ] + }, + "properties": { + "title": "Swamp Rabbit Crossfit", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.414013, + 34.852384 + ] + }, + "properties": { + "title": "Mayberry Park", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.410225, + 34.849646 + ] + }, + "properties": { + "title": "Hudson St", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.406996, + 34.848263 + ] + }, + "properties": { + "title": "Westfield", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.403825, + 34.848913 + ] + }, + "properties": { + "title": "Linky Stone Park", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40323, + 34.8482 + ] + }, + "properties": { + "title": "River Street", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.401744, + 34.844827 + ] + }, + "properties": { + "title": "Falls Park", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.392945, + 34.841185 + ] + }, + "properties": { + "title": "Cleveland Park", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.391374, + 34.840296 + ] + }, + "properties": { + "title": "Woodland Way", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.388178, + 34.843638 + ] + }, + "properties": { + "title": "Woodland Way Cir", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.384686, + 34.848392 + ] + }, + "properties": { + "title": "Cleveland Park North", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.384954, + 34.84119 + ] + }, + "properties": { + "title": "Cleveland Park East", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.381551, + 34.837274 + ] + }, + "properties": { + "title": "Baxter", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.386299, + 34.836147 + ] + }, + "properties": { + "title": "Mothers Morning Out", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.385435, + 34.8345 + ] + }, + "properties": { + "title": "34.834500, -82.385435 Greenville ARP", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.378863, + 34.83498 + ] + }, + "properties": { + "title": "Alemeda St", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.380965, + 34.83056 + ] + }, + "properties": { + "title": "East Faris", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.379913, + 34.828734 + ] + }, + "properties": { + "title": "Riverbend Apartment", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.378504, + 34.82653 + ] + }, + "properties": { + "title": "McAlister Rd", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.375474, + 34.824089 + ] + }, + "properties": { + "title": "Cleveland Ct", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.373374, + 34.821811 + ] + }, + "properties": { + "title": "State Credit Union", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.371223, + 34.820435 + ] + }, + "properties": { + "title": "Winterberry", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.364214, + 34.801615 + ] + }, + "properties": { + "title": "Parkins Mill Rd @ 85", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.364321, + 34.798735 + ] + }, + "properties": { + "title": "Mauldin Rd", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.36576, + 34.783433 + ] + }, + "properties": { + "title": "Churchhill St", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.36017, + 34.778049 + ] + }, + "properties": { + "title": "Conestee", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.34919, + 34.769826 + ] + }, + "properties": { + "title": "Conestee Stouth", + "notes": "" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/swamp-rabbit-trail-mile-markers.geojson b/storage/app/geojson/swamp-rabbit-trail-mile-markers.geojson new file mode 100644 index 00000000..9e74a860 --- /dev/null +++ b/storage/app/geojson/swamp-rabbit-trail-mile-markers.geojson @@ -0,0 +1,187 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40321, + 34.848204 + ] + }, + "properties": { + "title": "GHS Swamp Rabbit Trail", + "mile_marker": "33 1\/2" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4119, + 34.85065 + ] + }, + "properties": { + "title": "GHS Swamp Rabbit Trail", + "mile_marker": "33" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.416776, + 34.854951 + ] + }, + "properties": { + "title": "GHS Swamp Rabbit Trail", + "mile_marker": "32 1\/2" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4219708, + 34.8681185 + ] + }, + "properties": { + "title": "GHS Swamp Rabbit Trail", + "mile_marker": "31 1\/2" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.423886, + 34.8743511 + ] + }, + "properties": { + "title": "GHS Swamp Rabbit Trail", + "mile_marker": "31" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4296, + 34.8775 + ] + }, + "properties": { + "title": "GHS Swamp Rabbit Trail", + "mile_marker": "30 1\/2" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4419, + 34.8984 + ] + }, + "properties": { + "title": "GHS Swamp Rabbit Trail", + "mile_marker": "29" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4445, + 34.9052 + ] + }, + "properties": { + "title": "GHS Swamp Rabbit Trail", + "mile_marker": "28 1\/2" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4475, + 34.912 + ] + }, + "properties": { + "title": "GHS Swamp Rabbit Trail", + "mile_marker": "28" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4456, + 34.919 + ] + }, + "properties": { + "title": "GHS Swamp Rabbit Trail", + "mile_marker": "27 1\/2" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4435, + 34.9259 + ] + }, + "properties": { + "title": "GHS Swamp Rabbit Trail", + "mile_marker": "27" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4424, + 34.9331 + ] + }, + "properties": { + "title": "GHS Swamp Rabbit Trail", + "mile_marker": "26 1\/2" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4208, + 34.8615 + ] + }, + "properties": { + "title": "GHS Swamp Rabbit Trail", + "mile_marker": "32" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/swamp-rabbit-trail-parking.geojson b/storage/app/geojson/swamp-rabbit-trail-parking.geojson new file mode 100644 index 00000000..d3bf79ff --- /dev/null +++ b/storage/app/geojson/swamp-rabbit-trail-parking.geojson @@ -0,0 +1,135 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.385029, + 34.847668 + ] + }, + "properties": { + "title_(property_1)": "Greenville Zoo Lot #1" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.387196, + 34.846112 + ] + }, + "properties": { + "title_(property_1)": "Greenville Zoo Lot #2" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.386504, + 34.842595 + ] + }, + "properties": { + "title_(property_1)": "Lakehurst Lot" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.378859, + 34.831632 + ] + }, + "properties": { + "title_(property_1)": "Lower Church Lot" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.379212, + 34.831234 + ] + }, + "properties": { + "title_(property_1)": "Upper Church Lot" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.370814, + 34.820579 + ] + }, + "properties": { + "title_(property_1)": "Starlanes Lot" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.409854, + 34.849176 + ] + }, + "properties": { + "title_(property_1)": "Hudson St. Lot" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.42167, + 34.870017 + ] + }, + "properties": { + "title_(property_1)": "Swamp Rabbit Cafe and Grocer" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.446169, + 34.920362 + ] + }, + "properties": { + "title_(property_1)": "Furman lot" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.456537, + 34.97799 + ] + }, + "properties": { + "title_(property_1)": "Grandview lot" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/swamp-rabbit-trail-path.geojson b/storage/app/geojson/swamp-rabbit-trail-path.geojson new file mode 100644 index 00000000..0a7c323d --- /dev/null +++ b/storage/app/geojson/swamp-rabbit-trail-path.geojson @@ -0,0 +1,4 @@ +{ + "type": "FeatureCollection", + "features": [] +} \ No newline at end of file diff --git a/storage/app/geojson/swamp-rabbit-trail-water-fountains.geojson b/storage/app/geojson/swamp-rabbit-trail-water-fountains.geojson new file mode 100644 index 00000000..4ba3bc53 --- /dev/null +++ b/storage/app/geojson/swamp-rabbit-trail-water-fountains.geojson @@ -0,0 +1,201 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.44012669, + 34.89329634 + ] + }, + "properties": { + "title": "Swamp Rabbit Station", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.442482, + 34.926968 + ] + }, + "properties": { + "title": "Furman", + "notes": "Furman trail offshoot" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.44100007, + 34.96278007 + ] + }, + "properties": { + "title": "Travelers Rest", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.44578193, + 34.92047276 + ] + }, + "properties": { + "title": "Train Car", + "notes": "Slightly off the trail" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.41413652, + 34.8524958 + ] + }, + "properties": { + "title": "Baseball Fields 1", + "notes": "Slightly off the trail" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.38555556, + 34.84138889 + ] + }, + "properties": { + "title": "Playground 2", + "notes": "Near Volleyball Court" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.38638889, + 34.84055556 + ] + }, + "properties": { + "title": "Dog-Park", + "notes": "Inside Location of Old Dog-Park" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.38777778, + 34.84555556 + ] + }, + "properties": { + "title": "Memorial", + "notes": "Near Memorial Monuments" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.38583333, + 34.84722222 + ] + }, + "properties": { + "title": "Playground 1b", + "notes": "Near Large Playground at Entrance" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.38277778, + 34.84916667 + ] + }, + "properties": { + "title": "Baseball Fields 2", + "notes": "Cleveland Park Baseball Field" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.38416667, + 34.84722222 + ] + }, + "properties": { + "title": "Tennis Court 1", + "notes": "Cleveland Park Tennis Court" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.38416667, + 34.84805556 + ] + }, + "properties": { + "title": "Tennis Court 2", + "notes": "Cleveland Park Tennis Court" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.385, + 34.84805556 + ] + }, + "properties": { + "title": "Playground 1a", + "notes": "Near Large Playground at Entrance" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.38733482, + 34.84476005 + ] + }, + "properties": { + "title": "Intramural Fields", + "notes": "Near Excercise Stations on Trail" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/tent-camping.geojson b/storage/app/geojson/tent-camping.geojson new file mode 100644 index 00000000..aa1908f1 --- /dev/null +++ b/storage/app/geojson/tent-camping.geojson @@ -0,0 +1,277 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.118484, + 34.968854 + ] + }, + "properties": { + "title": "Burrells Ford Campground", + "notes": "Campground River", + "hours_of_operation": "24 hours a day, 7 days a week", + "prices": "Free" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.621565, + 34.106768 + ] + }, + "properties": { + "title": "Calhoun Falls State Park", + "notes": "Surrounding Lake", + "hours_of_operation": "24 hours a day, 7 days a week", + "prices": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -79.90262, + 34.639608 + ] + }, + "properties": { + "title": "Cheraw State Park", + "notes": "Golf Course\nCampground Lake", + "hours_of_operation": "7 AM - 9 PM (7 days a week)", + "prices": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.871544, + 34.881882 + ] + }, + "properties": { + "title": "Croft State Park", + "notes": "Equestrian Facilities", + "hours_of_operation": "7 AM - 9 PM (7 days a week)", + "prices": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.952287, + 34.954965 + ] + }, + "properties": { + "title": "Devils Fork Camp Site", + "notes": "Campground Lake", + "hours_of_operation": "7 AM - 9 PM (7 days a week)", + "prices": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.3029, + 32.510754 + ] + }, + "properties": { + "title": "Edisto Beach State Park", + "notes": "Hiking and Biking Trails", + "hours_of_operation": "8 AM - 6 PM (Mon - Fri)", + "prices": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.430923, + 33.878594 + ] + }, + "properties": { + "title": "Hickory Knob State Park", + "notes": "Resort and Campground", + "hours_of_operation": "24 hours a day, 7 days a week", + "prices": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.446277, + 32.368973 + ] + }, + "properties": { + "title": "Hunting Island State Park", + "notes": "Publicly Open Lighthouse", + "hours_of_operation": "6 AM - 6 PM (All days EST)\n6 AM - 9 PM (All days EDT)", + "prices": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.889309, + 34.93257 + ] + }, + "properties": { + "title": "Keowee-Toxaway State Park", + "notes": "Tent Circle", + "hours_of_operation": "9 AM - 6 PM (Sat - Thu EST)\n9 AM - 8 PM (Friday EST)\n9 AM - 9 PM (All days EDT)", + "prices": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.37717, + 35.140577 + ] + }, + "properties": { + "title": "Kings Mountain State Park", + "notes": "Visitor's Center", + "hours_of_operation": "7 AM - 6 PM (7 days a week)", + "prices": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.948227, + 34.195206 + ] + }, + "properties": { + "title": "Lake GreenWood State Park", + "notes": "Boating and Bass Fishing\nAnnual Triathlon", + "hours_of_operation": "6 AM - 6 PM (All days EST)\n6 AM - 10 PM (All days EDT)", + "prices": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.864081, + 34.436289 + ] + }, + "properties": { + "title": "Lake Wateree State Park", + "notes": "Boating and Fishing\nHiking and Biking Trails", + "hours_of_operation": "7 AM - 7 PM (7 days a week)", + "prices": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.10972, + 34.86376 + ] + }, + "properties": { + "title": "Oconee State Park", + "notes": "Campground Lake", + "hours_of_operation": "7 AM - 7 PM (Sun - Thu)\n7 AM - 9 PM (Fri - Sat)", + "prices": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3754, + 34.924881 + ] + }, + "properties": { + "title": "Paris Mountain State Park", + "notes": "Campground", + "hours_of_operation": "8 AM - 9 PM (7 days a week)", + "prices": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.824876, + 34.423859 + ] + }, + "properties": { + "title": "Sadlers Creek State Park", + "notes": "Campground Lake", + "hours_of_operation": "7 AM - 6 PM (7 days a week)", + "prices": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.691957, + 35.019408 + ] + }, + "properties": { + "title": "Table Rock State Park", + "notes": "Mountain Backdrop\nTwo Campground Lakes", + "hours_of_operation": "7 AM - 7 PM (Sun - Thu)\n7 AM - 9 PM (Fri - Sat)", + "prices": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.853287, + 34.626959 + ] + }, + "properties": { + "title": "Twin Lake State Park", + "notes": "Campground Lake", + "hours_of_operation": "8 AM - 10 PM (7 days a week)", + "prices": "" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/tree-planting-sites.geojson b/storage/app/geojson/tree-planting-sites.geojson new file mode 100644 index 00000000..0580f729 --- /dev/null +++ b/storage/app/geojson/tree-planting-sites.geojson @@ -0,0 +1,4527 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.458346, + 34.873733 + ] + }, + "properties": { + "site": "4 Lora Ct", + "planting_partner": "", + "trees": "4", + "species": "nuttall oak, Forest Pansy redbud, October Glory red maple, Bracken's Brown Beauty magnolia", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.463199, + 34.910539 + ] + }, + "properties": { + "site": "A Childs Haven", + "planting_partner": "Certus Bank", + "trees": "18", + "species": "Carolina sapphire, Autumn Flame red maple, October Glory red maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4095, + 34.8484 + ] + }, + "properties": { + "site": "A.J. Whittenberg Elementary School", + "planting_partner": "GE, Greenville Council of Garden Clubs", + "trees": "27", + "species": "hiromi cherry, pawpaw, serviceberry, persimmon, pear, autumnalis cherry, mulberry, baldcypress, redbud, Forest Pansy redbud, fringetree, gingko", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.30544522, + 34.91390426 + ] + }, + "properties": { + "site": "Abigail Springs", + "planting_partner": "AFL", + "trees": "21", + "species": "gingko, Chinese pistache, redbud, crabapple, Little Gem magnolia, Autumn Blaze maple, Red Sunset red maple, Wildfire blackgum, Carolina sapphire, persimmon", + "program": "2018 ReLEAF Day, Presented by: Duke Energy, BMW, Schneider Tree Care, Fluor, Greenville Journal, Forum Benefits, Earth Design, Christopher Trucks, Community Tap, AFL, Keys Innovative Solutions, GE, Johnson Controls, Robert M Rogers MD PA, LS3P, KPMG, the McSharry Family, SynTerra" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.43927, + 34.85611 + ] + }, + "properties": { + "site": "Alexander Elementary School", + "planting_partner": "", + "trees": "5", + "species": "nuttall oak, Gumdrop blackgum", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.38929, + 34.83401 + ] + }, + "properties": { + "site": "Alta Vista", + "planting_partner": "", + "trees": "32", + "species": "white oak, baldcypress, Teddy Bear magnolia, October Glory maple, Cherokee Princess dogwood, Autumn Blaze maple, ginkgo, serviceberry, Forest Pansy redbud, Little Gem magnolia, nuttall oak, Japanese snowbell", + "program": "2019 ReLEAF Day, Presented by: Duke Energy, Greenville Journal, Schneider Tree Care, Fluor, BMW, Forum Benefits, Earth Design, Christopher Trucks, Pintail Capitol Partners, Community Tap, Robert M Rogers MD PA, Becky & Bobby Hartness, AFL, Keys Innovative Solutions, Southern Management Corporation, Johnson Controls, Colliers International, Carolina Crafted Construction LLC, DP3 Architects, Arrowood & Arrowood, Harper General Contractors, KPMG, Sunstore Solar Energy Solutions, Furman University, the McSharry Family, McMillan Pazden Smith Architecture, Mary Lou & Lewis Jones, Eric Krichbaum" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.381725, + 34.91971 + ] + }, + "properties": { + "site": "Altamont Neighborhood", + "planting_partner": "", + "trees": "18", + "species": "forest pansy redbud, Nellie Stevens holly, teddy bear magnolia, Bracken's Brown Beauty magnolia, little gem magnolia, serviceberry", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.002582, + 34.881586 + ] + }, + "properties": { + "site": "Anderson Mill Elementary School", + "planting_partner": "Noble Tree Foundation", + "trees": "62", + "species": "overcup oak, hophornbeam, swamp white oak, Emerald City tulip poplar, Forest Pansy redbud, Duraheat river birch, baldcypress, tulip poplar, red maple, baldcypress, nuttall oak, Brodie cedar, Burkii cedar, trident maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.379497, + 34.835363 + ] + }, + "properties": { + "site": "Annies House", + "planting_partner": "GE, The Orvis Company", + "trees": "98", + "species": "Chickasaw plum, American plum, Kieffer pear, persimmon, serviceberry, pawpaw, elderberry, pomegranate, hazelnut, black willow, alder, Fuyu persimmon", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.461892, + 34.904644 + ] + }, + "properties": { + "site": "Armstrong Elementary School", + "planting_partner": "Greenville Council of Garden Clubs", + "trees": "7", + "species": "Autumn Blaze maple, Red Sunset red maple, nuttall oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.272883, + 34.920416 + ] + }, + "properties": { + "site": "As-Sabeel School", + "planting_partner": "", + "trees": "35", + "species": "Peggy Clarke apricot, crape myrtle, Bracken's Brown Beauty magnolia", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3946, + 34.8203 + ] + }, + "properties": { + "site": "Augusta Circle Elementary School", + "planting_partner": "Greenville Council of Garden Clubs", + "trees": "3", + "species": "fringetree, hornbeam, white oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.291, + 34.852 + ] + }, + "properties": { + "site": "Bells Crossing Elementary School", + "planting_partner": "Greenville Council of Garden Clubs", + "trees": "1", + "species": "willow oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4558, + 34.8806 + ] + }, + "properties": { + "site": "Berea Elementary School", + "planting_partner": "Berea Lions Club", + "trees": "24", + "species": "red maple, shumard oak, nuttall oak, swamp white oak, October Glory red maple, American hornbeam, hophornbeam", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.454923, + 34.914813 + ] + }, + "properties": { + "site": "Berea Middle School", + "planting_partner": "", + "trees": "18", + "species": "ginkgo, American hornbeam, nuttall oak, white oak, Prairifire crabapple, Emerald arborvitae", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.940571, + 34.938574 + ] + }, + "properties": { + "site": "Bethlehem Center", + "planting_partner": "", + "trees": "2", + "species": "\"Santa Rosa\" plum", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.31164, + 35.03796 + ] + }, + "properties": { + "site": "Blue Ridge Middle School", + "planting_partner": "Greer CPW", + "trees": "11", + "species": "overcup oak, Shawnee Brave baldcypress, Emerald City tulip poplar", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.16766619, + 34.89293287 + ] + }, + "properties": { + "site": "BMW Training Facility", + "planting_partner": "BMW", + "trees": "106", + "species": "Eastern red cedar, tulip poplar, loblolly pine, swamp white oak, overcup oak, nuttall oak, winged elm, American hornbeam", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.983917, + 35.039097 + ] + }, + "properties": { + "site": "Boiling Springs Elementary", + "planting_partner": "Noble Tree Foundation; BSA", + "trees": "8", + "species": "Allee elm", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.975414, + 35.050317 + ] + }, + "properties": { + "site": "Boiling Springs High School", + "planting_partner": "Noble Tree Foundation", + "trees": "2", + "species": "American hornbeam", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.006154, + 35.066647 + ] + }, + "properties": { + "site": "Boiling Springs Middle School", + "planting_partner": "Noble Tree Foundation, BMW", + "trees": "31", + "species": "Natchez crepe myrtle, nuttall oak, overcup oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.309, + 34.910532 + ] + }, + "properties": { + "site": "Brook Glenn Elementary School", + "planting_partner": "GE", + "trees": "29", + "species": "blackgum, sugar maple, tulip poplar, London planetree, Bracken's Brown Beauty magnolia, American hornbeam, river birch, Eastern redbud, willow oak, European hornbeam", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.297036, + 34.892276 + ] + }, + "properties": { + "site": "Brushy Creek Elementary School", + "planting_partner": "Greenville Council of Garden Clubs", + "trees": "1", + "species": "ginkgo", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4032, + 34.8713 + ] + }, + "properties": { + "site": "Brutontown Neighborhood", + "planting_partner": "TD Bank, Greenville News, Leadership Greenville, CEMEX, Schneider Tree Care, Bank of America, Hayne Hipp Foundation, Hollingsworth Funds, Duke Energy, Home Depot Foundation, Alliance for Community Trees", + "trees": "395", + "species": "red maple, Pink Velour crape myrtle, Sioux crape myrtle, Natchez crape myrtle, redbud, dogwood, sawtooth oak, serviceberry, trident maple, willow oak, cherry, red oak, Nellie Stevens holly, nuttall oak, fig, white dogwood, hiromi cherry, October Glory red maple, fringetree, Forest Pansy redbud, Muskogee crape myrtle, Eastern red cedar, plum, Armstrong maple, Prairifire crabapple, Autumn Blaze maple, scarlet oak, white oak, sweetbay magnolia, overcup oak, cryptomeria, carolina sapphire, Emerald City tulip poplar, pawpaw", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.25132, + 34.71593 + ] + }, + "properties": { + "site": "Bryson Middle School", + "planting_partner": "", + "trees": "9", + "species": "American hornbeam, Bracken's Brown Beauty magnolia, white oak, tulip poplar", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.266889, + 34.886584 + ] + }, + "properties": { + "site": "Buena Vista Elementary School", + "planting_partner": "", + "trees": "27", + "species": "red maple, serviceberry, blackgum, willow oak, Eastern red cedar, Little Gem magnolia", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.38434, + 34.837816 + ] + }, + "properties": { + "site": "Caine Halter YMCA", + "planting_partner": "", + "trees": "13", + "species": "Eastern redbud, Carolina silverbell, American holly, American hornbeam, tulip poplar, serviceberry, American beech, Wildfire blackgum", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.341956, + 34.827102 + ] + }, + "properties": { + "site": "Camperdown Academy", + "planting_partner": "", + "trees": "41", + "species": "loblolly pine, eastern redbud", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.398284, + 34.840735 + ] + }, + "properties": { + "site": "Cancer Survivors Park", + "planting_partner": "Johnson Controls", + "trees": "100", + "species": "blackgum, Carolina silverbell, serviceberry, witch hazel, Eastern red cedar, American holly, pawpaw, eastern redbud, pignut hickory, sugarberry, sweetgum, tulip poplar, sycamore, white oak, chinquapin oak, swamp chestnut oak, Bracken's Brown Beauty magnolia, river birch, Autumn Blaze maple, sassafras, Forest Pansy redbud, fringetree, Red Sunset red maple, American hornbeam, American beech", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.863729, + 35.011742 + ] + }, + "properties": { + "site": "Cannons Elementary School", + "planting_partner": "Noble Tree Foundation", + "trees": "21", + "species": "nutall oak, trident maple, tulip poplar, baldcypress, Eastern redbud, American hornbeam, Red Pointe red maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.398174, + 34.691229 + ] + }, + "properties": { + "site": "Canterbury Neighborhood", + "planting_partner": "", + "trees": "42", + "species": "American holly, Peggy Clarke apricot, Little Gem magnolia, Carolina sapphire", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.198174, + 34.937939 + ] + }, + "properties": { + "site": "Canyon Ridge Neighborhood", + "planting_partner": "Greer Centennial Lions Club, Greer CPW", + "trees": "29", + "species": "Carolina sapphire, Forest Pansy redbud, baldcypress, Teddy Bear magnolia, tulip poplar, Little Gem magnolia, white oak, Brackens Brown Beauty magnolia, cryptomeria, fringetree", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.288688, + 34.865518 + ] + }, + "properties": { + "site": "Carlyle Pointe Neighborhood", + "planting_partner": "", + "trees": "37", + "species": "okame cherry, river birch, Forest Pansy redbud, October Glory maple, Eastern red cedar, Little Gem magnolia, Carolina sapphire, serviceberry, Autumn Blaze maple, nuttall oak, Nellie Stevens holly, Green Giant arborvitae", + "program": "2019 ReLEAF Day, Presented by: Duke Energy, Greenville Journal, Schneider Tree Care, Fluor, BMW, Forum Benefits, Earth Design, Christopher Trucks, Pintail Capitol Partners, Community Tap, Robert M Rogers MD PA, Becky & Bobby Hartness, AFL, Keys Innovative Solutions, Southern Management Corporation, Johnson Controls, Colliers International, Carolina Crafted Construction LLC, DP3 Architects, Arrowood & Arrowood, Harper General Contractors, KPMG, Sunstore Solar Energy Solutions, Furman University, the McSharry Family, McMillan Pazden Smith Architecture, Mary Lou & Lewis Jones, Eric Krichbaum" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.442792, + 34.813546 + ] + }, + "properties": { + "site": "Carolina High School", + "planting_partner": "", + "trees": "19", + "species": "nuttall oak, tulip poplar, London planetree, Forest Pansy redbud, Nellie Stevens holly, blackgum", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.41801717, + 34.8699474 + ] + }, + "properties": { + "site": "Cedar Lane Road Screen", + "planting_partner": "", + "trees": "34", + "species": "Nellie Stevens holly, Carolina sapphire, Eastern red cedar, Bracken's Brown Beauty magnolia, Forest Pansy redbud", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2403, + 34.9292 + ] + }, + "properties": { + "site": "Century Park", + "planting_partner": "Wildwater, BMW", + "trees": "75", + "species": "blackgum, serviceberry, sawtooth oak, trident maple, red maple, baldcypress, Eastern red cedar, American holly, nuttall oak, Carolina sapphire, Bracken's Brown Beauty magnolia, Nellie Stevens holly", + "program": "2018 ReLEAF Day, Presented by: Duke Energy, BMW, Schneider Tree Care, Fluor, Greenville Journal, Forum Benefits, Earth Design, Christopher Trucks, Community Tap, AFL, Keys Innovative Solutions, GE, Johnson Controls, Robert M Rogers MD PA, LS3P, KPMG, the McSharry Family, SynTerra" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.235201, + 34.955038 + ] + }, + "properties": { + "site": "Chandler Creek Elementary School", + "planting_partner": "Greer CPW, ScanSource", + "trees": "30", + "species": "tulip poplar, London planetree, red maple, blackgum, river birch, willow oak, nuttall oak, baldcypress, American hornbeam", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.40291009, + 34.80130271 + ] + }, + "properties": { + "site": "Chanticleer Neighborhood", + "planting_partner": "", + "trees": "8", + "species": "gingko, dogwood, blackgum, white oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.874977, + 35.146348 + ] + }, + "properties": { + "site": "Chesnee Elementary", + "planting_partner": "Noble Tree Foundation", + "trees": "16", + "species": "Brackens Brown Beauty' magnolia, American elm, 'Red Rage' blackgum, 'Emerald City' tulip poplar, 'Gold Rush' dawn redwood, 'Exclamation' London planetree", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4007, + 34.8554 + ] + }, + "properties": { + "site": "Childrens Museum of the Upstate", + "planting_partner": "", + "trees": "2", + "species": "red maple, deodar cedar", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.395629, + 34.849629 + ] + }, + "properties": { + "site": "Christ Church Episcopal Preschool", + "planting_partner": "", + "trees": "19", + "species": "Eastern redbud, red maple, nuttall oak, trident maple, serviceberry", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3486, + 34.7952 + ] + }, + "properties": { + "site": "Christ Church Upper School", + "planting_partner": "", + "trees": "1", + "species": "", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.210335, + 34.692023 + ] + }, + "properties": { + "site": "City of Fountain Inn", + "planting_partner": "", + "trees": "1", + "species": "white oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.795659, + 34.678342 + ] + }, + "properties": { + "site": "Clemson Downs Retirement Community", + "planting_partner": "", + "trees": "20", + "species": "October Glory red maples, tulip poplar, baldcypress, cryptomeria, river birch, Forest Pansy redbud", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.795667, + 34.687403 + ] + }, + "properties": { + "site": "Clemson Elementary School", + "planting_partner": "", + "trees": "55", + "species": "Southern catalpa, red maple, American hornbeam, pignut hickory, sweetbay magnolia, blackgum, swamp white oak, burr oak, sawtooth oak, white oak, overcup oak, Blue Point juniper", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.853968, + 34.678077 + ] + }, + "properties": { + "site": "Clemson University Gymnastics", + "planting_partner": "Clemson University Athletics", + "trees": "50", + "species": "pignut hickory, Eastern redbud, Eastern red cedar, hophornbeam, swamp white oak, overcup oak, American elm, tulip poplar", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.949373, + 34.957734 + ] + }, + "properties": { + "site": "Cleveland Academy", + "planting_partner": "Noble Tree Foundation", + "trees": "11", + "species": "sweetbay magnolia", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.489807, + 34.78169 + ] + }, + "properties": { + "site": "Concrete Primary School", + "planting_partner": "Michelin", + "trees": "12", + "species": "Autumn Blaze maple, white oak, nuttall oak, tulip poplar", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.352769, + 34.768988 + ] + }, + "properties": { + "site": "Conestee Streetscape", + "planting_partner": "TD Bank", + "trees": "150", + "species": "nuttall oak, Little Gem magnolia, fringetree, October Glory red maple, Autumn Blaze maple, serviceberry, trident maple, Carolina sapphire, Nellie Stevens holly, Forest Pansy redbud, Emerald City tulip poplar, blackgum, beacon oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.976548, + 35.149798 + ] + }, + "properties": { + "site": "Cooley Springs-Fingerville Elementary School", + "planting_partner": "Noble Tree Foundation", + "trees": "24", + "species": "Little Gem magnolia, Bracken's Brown Beauty magnolia, river birch, white oak, nuttall oak, baldcypress, trident maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.285789, + 34.914148 + ] + }, + "properties": { + "site": "Corey Burns Park", + "planting_partner": "Southwest Airlines", + "trees": "10", + "species": "swamp white oak, pecan, burr oak, magnolia, Eastern red cedar", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.819329, + 35.025596 + ] + }, + "properties": { + "site": "Cowpens Elementary", + "planting_partner": "Noble Tree Foundation", + "trees": "4", + "species": "nuttall oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.200114, + 34.94435 + ] + }, + "properties": { + "site": "Creekside Neighborhood", + "planting_partner": "", + "trees": "133", + "species": "Carolina sapphire, serviceberry, swamp white oak, Eastern redbud, American hornbeam, yellowwood, Emerald City tulip poplar, Brodie cedar, October Glory red maple, Bracken Brown's Beauty magnolia, baldcypress, hophornbeam, Little Gem magnolia, Teddy Bear magnolia, Santa Rose plum, Pink Lady apple, Methley plum, Fuyu persimmon, Brown Turkey fig", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.222442, + 34.962209 + ] + }, + "properties": { + "site": "Crestview Elementary School", + "planting_partner": "", + "trees": "9", + "species": "white oak, nuttall oak, willow oak, tulip poplar", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.312, + 35.053 + ] + }, + "properties": { + "site": "David Jackson Park", + "planting_partner": "", + "trees": "24", + "species": "red maple, nuttall oak, Eastern redbud, yoshino cherry, dogwood, willow oak, baldcypress, Little Gem magnolia", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.296507, + 34.884613 + ] + }, + "properties": { + "site": "Del Norte Neighborhood Floodplain Reforestation", + "planting_partner": "Brasfield & Gorrie, Pintail Capital Partners, BMW", + "trees": "308", + "species": "white oak, American holly, baldcypress, blackgum, serviceberry, dogwood, red maple, zelkova, pignut hickory, shagbark hickory, sweetbay magnolia, American beech, tulip poplar, swamp white oak, overcup oak, nuttall oak, cherrybark oak, chestnut oak, river birch, scarlet oak, Eastern red cedar", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.42733344, + 35.12793708 + ] + }, + "properties": { + "site": "Dividing Waters Road North Saluda Reforestation", + "planting_partner": "Save Our Saluda, Greenville Water", + "trees": "850", + "species": "red maple, river birch, fringetree, tulip poplar, blackgum, sycamore, swamp white oak, overcup oak, swamp chestnut oak, cherrybark oak, American elm, pawpaw", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.968424, + 34.847232 + ] + }, + "properties": { + "site": "Dorman High School", + "planting_partner": "Noble Tree Foundation, BMW", + "trees": "100", + "species": "river birch, sycamore, overcup oak, basswood, tulip poplar, fringetree, dogwood, white oak, pignut hickory, shagbark hickory, swamp white oak, bur oak, nuttall oak, swamp chestnut oak, blackgum, shumard oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.974323, + 34.855169 + ] + }, + "properties": { + "site": "Dorman High School Freshman Campus", + "planting_partner": "Noble Tree Foundation", + "trees": "109", + "species": "Brodie' cedar, 'Burkii' cedar, Eastern red cedar, loblolly pine, hophornbeam, nuttall oak, river birch, 'Emerald City' tulip poplar, 'Gold Rush' dawn redwood, 'Beacon' oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.899238, + 34.974428 + ] + }, + "properties": { + "site": "Drayton Mills Elementary School", + "planting_partner": "Noble Tree Foundation", + "trees": "8", + "species": "Halka ginkgo, Afterburner black tupelo, swamp white oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4191, + 34.8245 + ] + }, + "properties": { + "site": "Dunean Neighborhood", + "planting_partner": "", + "trees": "57", + "species": "Carolina silverbell, persimmon, October Glory red maple, Brandywine red maple, Forest Pansy redbud, hiromi cherry, trident maple, red maple, willow oak, fringetree, Red Sunset red maple, sawtooth oak, Alta magnolia, Little Gem magnolia, American holly, Eastern redbud", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.371132, + 34.857772 + ] + }, + "properties": { + "site": "East North Street Academy", + "planting_partner": "Michelin, Greenville Council of Garden Clubs", + "trees": "41", + "species": "fringetree, Eastern redbud, yoshino cherry, serviceberry, baldcypress, blackgum, trident maple, okame cherry, Granny Smith apple, Methley plum, Gala apple, Santa Rosa plum, dogwood, overcup oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.261737, + 34.906086 + ] + }, + "properties": { + "site": "East Riverside Park", + "planting_partner": "BMW", + "trees": "49", + "species": "nuttall oak, Autumn Blaze maple, willow oak, river birch, American hornbeam, Nellie Stevens holly, Carolina silverbell, tulip poplar", + "program": "2019 ReLEAF Day, Presented by: Duke Energy, Greenville Journal, Schneider Tree Care, Fluor, BMW, Forum Benefits, Earth Design, Christopher Trucks, Pintail Capitol Partners, Community Tap, Robert M Rogers MD PA, Becky & Bobby Hartness, AFL, Keys Innovative Solutions, Southern Management Corporation, Johnson Controls, Colliers International, Carolina Crafted Construction LLC, DP3 Architects, Arrowood & Arrowood, Harper General Contractors, KPMG, Sunstore Solar Energy Solutions, Furman University, the McSharry Family, McMillan Pazden Smith Architecture, Mary Lou & Lewis Jones, Eric Krichbaum" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.389017, + 34.64884 + ] + }, + "properties": { + "site": "Ellen Woodside Elementary School", + "planting_partner": "Michelin", + "trees": "48", + "species": "serviceberry, redbud, fringetree, Peggy Clarke apricot, trident maple, nuttall oak, apple, plum, okame cherry, Eastern red cedar, crape myrtle, Little Gem magnolia, nuttall oak, tulip poplar", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.902937, + 34.9121 + ] + }, + "properties": { + "site": "EP Todd Elementary School", + "planting_partner": "Noble Tree Foundation", + "trees": "4", + "species": "nuttall oak, bald cypress", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.011769, + 34.948842 + ] + }, + "properties": { + "site": "Fairforest Middle", + "planting_partner": "Noble Tree Foundation", + "trees": "18", + "species": "swamp white oak, 'Red Rage' blackgum, 'Emerald City' tulip poplar, hophornbeam, nuttall oak, eastern redbud, 'Brackens Brown Beauty' magnolia, cryptomeria", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3578, + 34.8861 + ] + }, + "properties": { + "site": "Fine Arts Center", + "planting_partner": "", + "trees": "24", + "species": "overcup oak, trident maple, autumnalis cherry, fringetree", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.346601, + 34.882388 + ] + }, + "properties": { + "site": "First Christian Church of Greenville", + "planting_partner": "", + "trees": "5", + "species": "tulip poplar, blackgum, riverbirch", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.371091, + 34.849279 + ] + }, + "properties": { + "site": "Flying Rabbit Adventures", + "planting_partner": "Flying Rabbit Adventure Park", + "trees": "94", + "species": "riverbirch, pignut hickory, shagbark hickory, fringetree, dogwood, white ash, green ash, blackgum, sycamore, white oak, swamp white oak, bur oak, swamp chestnut oak, nuttall oak, cherrybark oak, shumard oak, basswood, white oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.312034, + 34.618631 + ] + }, + "properties": { + "site": "Fork Shoals Elementary School", + "planting_partner": "", + "trees": "12", + "species": "blackgum, nuttall oak, red maple, Tupelo Tower blackgum, tulip poplar, nuttall oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.200226, + 34.693054 + ] + }, + "properties": { + "site": "Fountain Inn Downtown", + "planting_partner": "", + "trees": "37", + "species": "Princeton elm, fringetree, shumard oak, Bosque elm, willow oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.211, + 34.693 + ] + }, + "properties": { + "site": "Fountain Inn Elementary School", + "planting_partner": "Greenville County", + "trees": "91", + "species": "overcup oak, blackgum, dogwood, serviceberry, purple smoke tree, Carolina sapphire, Eastern red cedar, sourwood, 'Little Gem' magnolia, Eastern redbud, 'Duraheat' river birch, tulip poplar, American hornbeam, nuttall oak, baldcypress", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.221678, + 34.702084 + ] + }, + "properties": { + "site": "Fountain Inn Municipal Cemetary", + "planting_partner": "", + "trees": "41", + "species": "hiromi cherry, red maple, tulip poplar, Bracken's Brown Beauty magnolia, ginkgo, allee elm", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.439436, + 34.84551 + ] + }, + "properties": { + "site": "Freetown Neighborhood", + "planting_partner": "Home Depot Foundation, Alliance for Community Trees, Hollingsworth Funds", + "trees": "98", + "species": "fig, plum, Bartlett pear, pin oak, red maple, redbud, Pink Velour crape myrtle, European hornbeam, willow oak, trident maple, serviceberry, hiromi cherry, overcup oak, October Glory red maple, Forest Pansy redbud, Peggy Clarke apricot, okame cherry, fringetree, autumn blaze maple, Carolina sapphire, dogwood, pecan, Carolina silverbell, ginkgo, Prairifire crabapple, Teddy Bear magnolia, blackgum, Little Gem magnolia", + "program": "2018 ReLEAF Day, Presented by: Duke Energy, BMW, Schneider Tree Care, Fluor, Greenville Journal, Forum Benefits, Earth Design, Christopher Trucks, Community Tap, AFL, Keys Innovative Solutions, GE, Johnson Controls, Robert M Rogers MD PA, LS3P, KPMG, the McSharry Family, SynTerra" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.445328, + 34.918943 + ] + }, + "properties": { + "site": "Furman Child Development Center", + "planting_partner": "", + "trees": "2", + "species": "Little Gem magnolia, Eastern redbud", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.438252, + 34.921505 + ] + }, + "properties": { + "site": "Furman University", + "planting_partner": "Furman Greenbelt students", + "trees": "103", + "species": "kousa dogwood, Autumn Blaze maple, overcup oak, burr oak, American beech, Legacy sugar maple, Brandywine red maple, October Glory red maple, crimson spire oak, nuttall oak, American dogwood, Acoma crape myrtle, cherry, Japanese snowbell, weeping cherry, shumard oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.94593, + 34.8558 + ] + }, + "properties": { + "site": "Gable Middle School", + "planting_partner": "Noble Tree Foundation", + "trees": "23", + "species": "Eastern red cedar, cryptomeria, Afterburner blackgum, Emerald City tulip poplar, white oak, nuttall oak, Duraheat river birch", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4249, + 34.9739 + ] + }, + "properties": { + "site": "Gateway Elementary School", + "planting_partner": "", + "trees": "24", + "species": "nuttall oak, trident maple, red maple, blackgum, tulip poplar, willow oak, red maple, blackgum, London planetree, Skinny Genes oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.422, + 34.97 + ] + }, + "properties": { + "site": "Gateway Park", + "planting_partner": "Hollingsworth Funds", + "trees": "20", + "species": "willow oak, red maple, red oak, Natchez crape myrtle", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3791, + 34.8616 + ] + }, + "properties": { + "site": "Genesis Homes Neighborhood", + "planting_partner": "", + "trees": "12", + "species": "overcup oak, Eastern redbud, fringetree, nuttall oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4628, + 34.9645 + ] + }, + "properties": { + "site": "George I Theisen YMCA", + "planting_partner": "Johnson Controls", + "trees": "47", + "species": "October Glory red maple, deodar cedar, zelkova, peach, native cherry, apple, plum, fig, Red Sunset red maple, Autumn Blaze maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.359997, + 34.85818 + ] + }, + "properties": { + "site": "Green Charter Middle School", + "planting_partner": "", + "trees": "3", + "species": "2 Eastern redbud, 1 October Glory red maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.301648, + 34.855246 + ] + }, + "properties": { + "site": "Green Charter School", + "planting_partner": "Greenville Council of Garden Clubs", + "trees": "8", + "species": "hiromi cherry, purple-leaf plum, Forest Pansy redbud, American hornbeam", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.807505, + 34.684305 + ] + }, + "properties": { + "site": "Green Crescent Trail", + "planting_partner": "Friends of Green Crescent", + "trees": "25", + "species": "overcup oak, tulip poplar, American hornbeam, hophornbeam", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.300111, + 34.758982 + ] + }, + "properties": { + "site": "Greenbriar Elementary School", + "planting_partner": "Greenville Council of Garden Clubs", + "trees": "3", + "species": "nuttall oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4018, + 34.8848 + ] + }, + "properties": { + "site": "Greenville County Animal Care", + "planting_partner": "Greenville County Public Works, Brasfield & Gorrie", + "trees": "55", + "species": "willow oak, cherry, red maple, holly, magnolia, redbud, tulip poplar, Little Gem magnolia, basswood, nuttall oak, October Glory red maple, Red Rage blackgum, nuttall oak, swamp white oak", + "program": "Legacy Tree Memorials" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4071, + 34.8399 + ] + }, + "properties": { + "site": "Greenville High School", + "planting_partner": "", + "trees": "23", + "species": "serviceberry, Eastern redbud, fringetree, white oak, baldcypress", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.369425, + 34.858344 + ] + }, + "properties": { + "site": "Greenville Middle Academy", + "planting_partner": "", + "trees": "3", + "species": "nuttall oak, Bracken's Brown Beauty magnolia, Forest Pansy redbud", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.34428, + 34.864435 + ] + }, + "properties": { + "site": "Greenville Montessouri", + "planting_partner": "Greenville Council of Garden Clubs", + "trees": "4", + "species": "red maple, sugar maple, okame cherry, autumnalis cherry", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.474758, + 34.900451 + ] + }, + "properties": { + "site": "Greenville Tech Northwest", + "planting_partner": "", + "trees": "1008", + "species": "loblolly pine, shortleaf pine, pawpaw, chestnut", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.388366, + 34.846288 + ] + }, + "properties": { + "site": "Greenville Zoo", + "planting_partner": "", + "trees": "33", + "species": "Eastern red cedar, Eastern redbud, red maple, Madison dogwood, blackgum, winged elm, spruce pine, Virginia pine, sycamore, swamp white oak, red buckeye, basswood", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.230872, + 34.983223 + ] + }, + "properties": { + "site": "Greer High School", + "planting_partner": "", + "trees": "12", + "species": "Eastern redbud, tulip poplar, ginkgo", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.299053, + 34.964088 + ] + }, + "properties": { + "site": "Greer Middle College Charter High School", + "planting_partner": "", + "trees": "30", + "species": "October Glory red maple, tulip poplar, Eastern red cedar, deodar cedar, Forest Pansy redbud, Bracken's Brown Beauty magnolia, white oak, ginkgo, nuttall oak, baldcypress", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2345, + 34.9819 + ] + }, + "properties": { + "site": "Greer Middle School", + "planting_partner": "", + "trees": "26", + "species": "Eastern red cedar, blackgum, serviceberry, Forest Pansy redbud, Red Sunset red maple, fringetree", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.414944, + 34.758326 + ] + }, + "properties": { + "site": "Grove Elementary School", + "planting_partner": "", + "trees": "29", + "species": "trident maple, Eastern redbud, serviceberry, October Glory red maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4191, + 34.8722 + ] + }, + "properties": { + "site": "Habitat 4 Humanity", + "planting_partner": "", + "trees": "3", + "species": "crabapple, nuttall oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.722522, + 34.925297 + ] + }, + "properties": { + "site": "Hagood Mill", + "planting_partner": "", + "trees": "13", + "species": "American hornbeam, blackgum, overcup oak, river birch, red maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3456661, + 35.0019194 + ] + }, + "properties": { + "site": "Heidelberg Materials", + "planting_partner": "Heidelberg Materials", + "trees": "450", + "species": "nutall oak, red maple, blackgum, Eatsern redbud, witch hazel, American hornbeam, perisiman, Eastern red cedar, American holly, water oak, willow oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.005728, + 35.005267 + ] + }, + "properties": { + "site": "Hendrix Elementary School (replacement)", + "planting_partner": "", + "trees": "1", + "species": "Autumn Blaze' red maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.373917, + 34.89736 + ] + }, + "properties": { + "site": "Herdklotz Park", + "planting_partner": "AFL", + "trees": "26", + "species": "October Glory red maple, blackgum, Legacy sugar maple, Autumn Flame red maple, Emerald City tulip poplar", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.373755, + 34.8373 + ] + }, + "properties": { + "site": "Heritage Community", + "planting_partner": "Southern Management Corporation (SMC)", + "trees": "23", + "species": "shumard oak, American hornbeam, Eastern redbud, Prairifire crabapple, Presidential Gold ginkgo, nuttall oak, serviceberry", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.942363, + 34.937328 + ] + }, + "properties": { + "site": "Highland Neighborhood", + "planting_partner": "AKA", + "trees": "1", + "species": "serviceberry", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.023823, + 34.985998 + ] + }, + "properties": { + "site": "High Point Academy", + "planting_partner": "Noble Tree Foundation", + "trees": "30", + "species": "overcup oak, nuttall oak, swamp white oak, red maple, blackgum, baldcypress", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.255065, + 34.754533 + ] + }, + "properties": { + "site": "Hillcrest Middle School", + "planting_partner": "Fluor", + "trees": "26", + "species": "Forest Pansy redbud, shumard, willow oak, gingko, tulip poplar, blackgum", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.430137, + 34.832503 + ] + }, + "properties": { + "site": "Hollis Academy", + "planting_partner": "Fluor", + "trees": "20", + "species": "nuttall oak, Autumn Blaze maple, tulip poplar, Little Gem magnolia, London planetree, overcup oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.752169, + 34.97237 + ] + }, + "properties": { + "site": "Holly Springs Center", + "planting_partner": "", + "trees": "12", + "species": "American hornbeam, blackgum, overcup oak, red maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.36795718, + 34.8801436 + ] + }, + "properties": { + "site": "Holmes Park", + "planting_partner": "Fluor", + "trees": "41", + "species": "Forest Pansy' redbud, 'Little Gem' magnolia, nuttall oak, Eastern red cedar, tulip poplar, 'Afterburner' blackgum, serviceberry, American hornbeam, white oak, shumard oak, swamp white oak, river birch", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.943036, + 34.95595 + ] + }, + "properties": { + "site": "Hub City Farmers Market", + "planting_partner": "", + "trees": "2", + "species": "Little Gem magnolia", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.390555, + 34.807575 + ] + }, + "properties": { + "site": "Hughes Academy", + "planting_partner": "AFL, BDO, Hughes PTA", + "trees": "29", + "species": "ginkgo, nuttall oak, Bracken's Brown Beauty magnolia, European hornbeam, London planetree, yoshino cherry, American hornbeam", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.239, + 34.705 + ] + }, + "properties": { + "site": "I-385 and Harrison Bridge Road", + "planting_partner": "Spinx, Prisma Health", + "trees": "50", + "species": "Nellie Stevens holly, willow oak, white oak, tulip poplar, red maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.356, + 34.72 + ] + }, + "properties": { + "site": "Idlewild Park", + "planting_partner": "Hollingsworth Funds", + "trees": "29", + "species": "tulip poplar, willow oak, Natchez crape myrtle", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.005728, + 35.005267 + ] + }, + "properties": { + "site": "James H Hendrix Elementary School", + "planting_partner": "Noble Tree Foundation", + "trees": "24", + "species": "Autumn Blaze maple, river birch, tulip poplar, Bracken's Brown Beauty magnolia, nuttall oak, American hornbeam", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.980848, + 34.94648 + ] + }, + "properties": { + "site": "Jessie S Bobo Elementary School", + "planting_partner": "Noble Tree Foundation", + "trees": "31", + "species": "Shawnee Brave baldcypress, American hornbeam, Emerald City tulip poplar, Autumn Blaze maple, Legacy sugar maple, trident maple, Bracken's Brown Beauty magnolia, Little Gem magnolia, Princeton elm, Eastern red cedar", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.336, + 34.807 + ] + }, + "properties": { + "site": "JL Mann High School", + "planting_partner": "McMillan Pazdan Smith, Cemex, Triangle Construction, JL Mann Student Council", + "trees": "108", + "species": "red maple, river birch, sugar maple, white pine, serviceberry, trident maple, overcup oak, nuttall oak, willow oak, Eastern redbud, purple smoke tree, Little Gem magnolia, red maple, white oak, baldcypress, Chinese fringetree, red oak, Bracken's Brown Beauty magnolia", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.407912, + 34.83642 + ] + }, + "properties": { + "site": "Juanita Butler Community Center", + "planting_partner": "including Reedy River Rotary Club and MOCOM", + "trees": "16", + "species": "Forest Pansy' redbud, black tupelo, hophornbeam, shumard oak, 'Little Gem' magnolia, cryptomeria", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.239693, + 34.928841 + ] + }, + "properties": { + "site": "Kids Planet Century Park", + "planting_partner": "ScanSource", + "trees": "32", + "species": "trident maple, swamp white oak, blackgum, American hornbeam, eastern redbud, tulip poplar, yellowwood, sassafras, hophornbeam, Emerald City' tulip poplar", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3983, + 34.8571 + ] + }, + "properties": { + "site": "Kilgore Lewis House", + "planting_partner": "", + "trees": "1", + "species": "red maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.347701, + 34.773228 + ] + }, + "properties": { + "site": "Lake Conestee Nature Park", + "planting_partner": "", + "trees": "624", + "species": "river birch, sugarberry, redbud, dogwood, Eastern red cedar, tulip poplar, blackgum, cherrybark oak, persimmon, black walnut, swamp tupelo, sycamore, wild black cherry, swamp chestnut oak, basswood, fringetree, hornbeam, hophornbeam, white oak, Northern red oak, pignut hickory, shagbark hickory, serviceberry, water tupelo, scarlet oak, sassafras, baldcypress, red maple, sawtooth oak, American beech, buttonbush, elderberry, shagbark hickory, black walnut, willow oak, cherrybark oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.358937, + 34.787556 + ] + }, + "properties": { + "site": "Lake Conestee Nature Preserve", + "planting_partner": "Conestee Nature Preserve", + "trees": "100", + "species": "river birch, American hornbeam, sycamore, overcup oak, swamp chestnut oak, nuttall oak, baldcypress, basswood, winged elm", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.344555, + 34.881624 + ] + }, + "properties": { + "site": "Lake Forest Elementary School", + "planting_partner": "Greenville Council of Garden Clubs", + "trees": "2", + "species": "red maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.887062, + 34.932068 + ] + }, + "properties": { + "site": "Lake Keowee Toxaway State Park", + "planting_partner": "", + "trees": "6", + "species": "white oak, swamp white oak, nuttall oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.430695, + 34.773513 + ] + }, + "properties": { + "site": "Lakeside Park", + "planting_partner": "TD Bank, Amazon", + "trees": "144", + "species": "Eastern red cedar, scarlet oak, pin oak, Autumn Blaze red maple, American persimmon, trident maple, Carolina silverbell, American chestnut, Afterburner blackgum, nuttall oak, willow oak, shumard oak, Bracken's Brown Beauty magnolia, tulip poplar, Forest Pansy redbud, swamp white oak, Carolina sapphire, Amber Glow dawn redwood, Little Gem magnolia, baldcypress, swamp white oak, white oak, hornbeam, river birch", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.431076, + 34.771002 + ] + }, + "properties": { + "site": "Lakeside Park Bike Trail", + "planting_partner": "UGATA", + "trees": "11", + "species": "serviceberry, Forest Pansy redbud, hophornbeam, tulip poplar, swamp white oak, October Glory maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.432008, + 34.887325 + ] + }, + "properties": { + "site": "Lakeview Middle School", + "planting_partner": "Foster Victor, Forum Benefits", + "trees": "23", + "species": "tulip poplar, baldcypress, Prairifire crabapple, October Glory red maple, white oak, Bracken's Brown Beauty magnolia, blackgum", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.205662, + 34.815927 + ] + }, + "properties": { + "site": "Laurel Grove Neighborhood", + "planting_partner": "", + "trees": "37", + "species": "Bosque elm, allee elm, basswood", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.353178, + 34.784427 + ] + }, + "properties": { + "site": "LEAD Academy", + "planting_partner": "Sharpescape", + "trees": "29", + "species": "Prairifire crabapple, Teddy Bear magnolia, Little Gem magnolia, October Glory red maple, white oak, nuttall oak, river birch, baldcypress, American hornbeam", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.373, + 34.881 + ] + }, + "properties": { + "site": "League Academy Middle School", + "planting_partner": "SCFC, Earth Design", + "trees": "15", + "species": "dogwood, river birch, Eastern redbud, sweetbay magnolia, blackgum, serviceberry, red cedar, yaupon holly, baldcypress, Washington hawthorne, October Glory red maple, fringetree", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.408244, + 34.853917 + ] + }, + "properties": { + "site": "Legacy Charter Elementary School", + "planting_partner": "Leadership Greenville", + "trees": "36", + "species": "trident maple, Natchez crape myrtle, Little Gem magnolia, Eastern red cedar, nuttall oak, Eastern redbud, October Glory red maple, overcup oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.426065, + 34.858878 + ] + }, + "properties": { + "site": "Legacy Charter Parker School", + "planting_partner": "", + "trees": "30", + "species": "overcup oak, Savannah holly, Bracken's Brown Beauty magnolia, Emerald arborvitae, beacon oak, Little Gem magnolia, white oak, Prairifire crabapple, Forest Pansy redbud, willow oak, Shawnee Brave baldcypress", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.304, + 34.954 + ] + }, + "properties": { + "site": "Lincoln Park", + "planting_partner": "Hollingsworth Funds", + "trees": "18", + "species": "tulip poplar, willow oak, red maple, deodar cedar, baldcypress", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.97169, + 34.98886 + ] + }, + "properties": { + "site": "Lone Oak Elementary School", + "planting_partner": "Noble Tree Foundation, Sage Automotive Interiors", + "trees": "24", + "species": "white oak, nuttall oak, swamp white oak, American hornbeam, hophornbeam, Afterburner blackgum, Little Gem magnolia, river birch", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.412052, + 34.834021 + ] + }, + "properties": { + "site": "Long Branch Baptist Church", + "planting_partner": "", + "trees": "25", + "species": "sycamore, black tupelo, river birch, baldcypress, deodar cedar", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.014616, + 34.961903 + ] + }, + "properties": { + "site": "Master Skills Center", + "planting_partner": "Noble Tree Foundation", + "trees": "15", + "species": "Carolina saphire, Little Gem Magnolia", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3056, + 34.7794 + ] + }, + "properties": { + "site": "Mauldin Cultural Center", + "planting_partner": "Trees SC", + "trees": "3", + "species": "ginkgo", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.275125, + 34.804175 + ] + }, + "properties": { + "site": "Mauldin Middle School", + "planting_partner": "Michelin", + "trees": "18", + "species": "baldcypress, Legacy sugar maple, overcup oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.300883, + 34.781574 + ] + }, + "properties": { + "site": "Mauldin Montessori", + "planting_partner": "Greenville Council of Garden Clubs", + "trees": "6", + "species": "Bracken's Brown Beauty magnolia, Autumn Blaze red maple, nuttall oak, Natchez crape myrtle, Forest Pansy redbud, sugar maple, willow oak, red maple, okame cherry, Peggy Clark apricot", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.274787, + 34.792343 + ] + }, + "properties": { + "site": "Mauldin Streetscape", + "planting_partner": "", + "trees": "11", + "species": "willow oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.856006, + 35.08679 + ] + }, + "properties": { + "site": "Mayo Elementary School", + "planting_partner": "Noble Tree Foundation", + "trees": "33", + "species": "Brackens Brown Beauty magnolia, swamp white oak, hophornbeam, serviceberry, Emerald City tulip poplar, Carolina sapphire, Afterburner blackgum", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.312174, + 34.709407 + ] + }, + "properties": { + "site": "McCall Hospice House", + "planting_partner": "Hessie Morah Garden Club", + "trees": "7", + "species": "tulip poplar, shumard oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.897338, + 34.956727 + ] + }, + "properties": { + "site": "McCracken Middle School", + "planting_partner": "Noble Tree Foundation", + "trees": "12", + "species": "Forest Pansy redbud, Burkii cedar, Brodie cedar, Carolina sapphire, fringetree, Kwanzan cherry, Aeryn trident maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.394232, + 34.857209 + ] + }, + "properties": { + "site": "McPherson Park", + "planting_partner": "City of Greenville", + "trees": "50", + "species": "Eastern redbud, dogwood", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.193067, + 34.810442 + ] + }, + "properties": { + "site": "MESA Soccer Complex", + "planting_partner": "Johnson Controls, Generations Youth", + "trees": "53", + "species": "overcup oak, shumard oak, blackgum, nuttall oak, blackgum, sawtooth oak, Peggy Clarke apricot, Autumn Blaze red maple, London planetree, tulip poplar, nuttall oak, Wildfire blackgum", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.377497, + 34.882798 + ] + }, + "properties": { + "site": "Meyer Center", + "planting_partner": "", + "trees": "4", + "species": "red maple, allee elm", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5311127, + 35.0503955 + ] + }, + "properties": { + "site": "Middle Saluda River Reforestation at Tilly Road", + "planting_partner": "Save Our Saluda", + "trees": "471", + "species": "red maple, smooth alder, black gum, American hornbeam, fringetree, cottonwood, willow oak, American elm, cherrybark oak, honeylocust, shumard oak, pawpaw", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.319918, + 34.876805 + ] + }, + "properties": { + "site": "Mitchell Rd Elementary School", + "planting_partner": "", + "trees": "17", + "species": "American hornbeam, October Glory red maple, nuttall oak, Bracken's Brown Beauty magnolia, Autumn Blaze maple, chestnut oak, tulip poplar", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.425887, + 34.867275 + ] + }, + "properties": { + "site": "Monaghan Neighborhood", + "planting_partner": "Fluor, TD Bank", + "trees": "190", + "species": "Autumn Blaze maple, fringetree, October Glory red maple, Nellie Stevens holly, Carolina silverbell, okame cherry, Eastern redbud, trident maple, fig, Carolina sapphire, hiromi cherry, Forest Pansy redbud, Peggy Clarke apricot, plum, autumnalis cherry, red maple, nuttall oak, ginkgo, crabapple, Eastern red cedar, American holly, Red Sunset maple, Little Gem magnolia, shumard oak, serviceberry, blackgum, Catawba crape myrtle, Japanese snowbell, Emerald arborvitae, Prairifire crabapple, dogwood", + "program": "2018 ReLEAF Day, Presented by: Duke Energy, BMW, Schneider Tree Care, Fluor, Greenville Journal, Forum Benefits, Earth Design, Christopher Trucks, Community Tap, AFL, Keys Innovative Solutions, GE, Johnson Controls, Robert M Rogers MD PA, LS3P, KPMG, the McSharry Family, SynTerra" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.426206, + 34.867487 + ] + }, + "properties": { + "site": "Monaghan Textile Heritage Park", + "planting_partner": "Southern Management Corporation, Fluor", + "trees": "38", + "species": "allee elm, overcup oak, shumard oak, serviceberry, swamp white oak, baldcypress, redbud, trident maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2412, + 34.8002 + ] + }, + "properties": { + "site": "Monarch Elementary School", + "planting_partner": "", + "trees": "44", + "species": "Green Giant arborvitae, October Glory red maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.436377, + 34.868257 + ] + }, + "properties": { + "site": "Monaview Elementary School", + "planting_partner": "Southern Management Corporation, Arbor Day Foundation, Meritage Homes", + "trees": "64", + "species": "tulip poplar, willow oak, blackgum, Prairifire crabapple, Forest Pansy redbud, Bracken's Brown Beauty magnolia, Red Sunset red maple, nuttall oak, London planetree, river birch, serviceberry, Little Gem magnolia, Emerald City tulip poplar, serviceberry, swamp white oak, Afterburner blackgum", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.392523, + 34.775782 + ] + }, + "properties": { + "site": "Mount Pleasant Community Center", + "planting_partner": "", + "trees": "8", + "species": "white oak, nuttall oak, American hornbeam, serviceberry", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.344989, + 34.84853 + ] + }, + "properties": { + "site": "Mountain Goat Climbing Gym", + "planting_partner": "", + "trees": "2", + "species": "crape myrtle", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.345176, + 34.993654 + ] + }, + "properties": { + "site": "Mountain View Elementary School", + "planting_partner": "Greenville Council of Garden Clubs", + "trees": "52", + "species": "serviceberry, blackgum, Oklahoma redbud, Sun Valley red maple, baldcypress, Green Giant arborvitae, overcup oak, Heritage river birch, nuttall oak, October Glory red maple, Red Sunset red maple, tulip poplar, London planetree, blackgum, red maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2399, + 34.9456 + ] + }, + "properties": { + "site": "Needmore Neighborhood", + "planting_partner": "Home Depot", + "trees": "69", + "species": "pomegranite, Atago Asian pear, 20th Century Asian pear, American plum, pawpaw, Verns Brown Turkey fig, wilson pawpaw, Mango pawpaw, Wells pawpaw, Eastern redbud, serviceberry, red maple, trident maple, yoshino cherry, overcup oak, Japanese maple, hiromi cherry, red maple, Natchez crape myrtle, Tuscarora crape myrtle, Muskogee crape myrtle, plum, Peggy Clarke apricot, hiromi cherry, trident maple, apple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.282591, + 34.701833 + ] + }, + "properties": { + "site": "Neely Farms Neighborhood", + "planting_partner": "", + "trees": "36", + "species": "allee elm, autumn blaze red maple, blackgum, nuttall oak, London planetree, redbud, baldcypress, sycamore, chestnut oak, serviceberry, Bracken's Brown Beauty magnolia, Princeton Sentry ginkgo, Merlot redbud", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.288211, + 34.769849 + ] + }, + "properties": { + "site": "New Hope Baptist Church", + "planting_partner": "", + "trees": "37", + "species": "nuttall oak, Forest Pansy redbud, sericeberry, Carolina sapphire, Red Sunset red maple, leyland cypress", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.415747, + 34.856591 + ] + }, + "properties": { + "site": "Newtown Park", + "planting_partner": "Prisma", + "trees": "12", + "species": "hophornbeam, tulip poplar, swamp white oak, serviceberry, blackgum", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.396758, + 34.866761 + ] + }, + "properties": { + "site": "North Main Nature Trail", + "planting_partner": "", + "trees": "25", + "species": "tulip poplar, red maple, white oak, red oak, chestnut oak, sycamore, Forest Pansy redbud, American hornbeam, hophornbeam, Bracken's Brown Beauty magnolia, Eastern red cedar, American holly", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.385733, + 34.873043 + ] + }, + "properties": { + "site": "North Main Neighborhood", + "planting_partner": "ScanSource", + "trees": "34", + "species": "white oak, Carolina silverbell, October Glory red maple, ginkgo, willow oak, autumn blaze maple, Japanese snowbell, Rising Sun redbud, overcup oak, Nellie Stevens holly, serviceberry, Forest Pansy redbud, baldcypress, fringetree, Teddy Bear magnolia, Little Gem magnolia", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.464977, + 35.036287 + ] + }, + "properties": { + "site": "North Saluda Reforestation at Bates Crossing", + "planting_partner": "Save Our Saluda", + "trees": "23", + "species": "red maple, river birch, cherrybark oak, swamp chestnut oak, willow oak, American Elm", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.360569, + 34.885655 + ] + }, + "properties": { + "site": "Northside Circle Reforestation", + "planting_partner": "BMW", + "trees": "100", + "species": "overcup oak, American elm, swamp chestnut oak, sycamore, river birch, red maple, sweetbay magnolia, swamp white oak, bald cypress", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.423256, + 34.892403 + ] + }, + "properties": { + "site": "Northwest Crescent Child Center", + "planting_partner": "", + "trees": "5", + "species": "October Glory red maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.475913, + 34.997776 + ] + }, + "properties": { + "site": "Northwest Middle School", + "planting_partner": "Johnson Controls", + "trees": "21", + "species": "London planetree, nuttall oak, Prairifire crabapple, tulip poplar, Bracken's Brown Beauty magnolia, deodar cedar", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.473825, + 34.902607 + ] + }, + "properties": { + "site": "Northwest Park", + "planting_partner": "TD Bank", + "trees": "75", + "species": "tulip poplar, American hornbeam, white oak, sweetbay magnolia, allee elm, Forest Pansy redbud, Autumn Blaze maple, serviceberry, shumard oak, American yellowwood, willow oak, beacon oak, Green Gable blackgum, Little Gem magnolia", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.285704, + 34.84454 + ] + }, + "properties": { + "site": "Oak Grove Lake Park", + "planting_partner": "Johnson Controls", + "trees": "79", + "species": "weeping willow, baldcypress, nuttall oak, overcup oak, Forest Pansy redbud, American hornbeam, white oak, sassafras, Eastern red cedar, swamp white oak, 'Afterburner' blackgum, tulip poplar, blackgum, river birch, shumard oak, serviceberry, Eastern hophornbeam, redbud", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.232715, + 34.826862 + ] + }, + "properties": { + "site": "Oakview Elementary School", + "planting_partner": "Greenville Council of Garden Clubs", + "trees": "38", + "species": "red maple, sugar maple, Chinquapin oak, overcup oak, Autumn Blaze maple, witch hazel, sourwood, swamp chestnut oak, swamp white oak, tulip poplar, Forest Pansy, redbud, American beech, blackgum, sugarberry, scarlet oak, baldcypress, sweetbay magnolia", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.76801, + 34.903715 + ] + }, + "properties": { + "site": "Pacolet Elementary", + "planting_partner": "Noble Tree Foundation", + "trees": "4", + "species": "eastern redbud, nuttall oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.362844, + 34.906733 + ] + }, + "properties": { + "site": "Paris Elementary", + "planting_partner": "", + "trees": "6", + "species": "Brackens Brown Beauty' magnolia, American hornbeam, nuttall oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.36401, + 34.908732 + ] + }, + "properties": { + "site": "Paris Elementary School", + "planting_partner": "GE", + "trees": "26", + "species": "red maple, nuttall oak, American beech, tulip poplar, sourwood, blackgum, witch hazel, American holly, Eastern red cedar", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.368137, + 34.927614 + ] + }, + "properties": { + "site": "Paris Mountain State Park", + "planting_partner": "", + "trees": "4", + "species": "American chestnut", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.862496, + 34.825357 + ] + }, + "properties": { + "site": "Pauline-Glenn Springs Elementary School", + "planting_partner": "Noble Tree Foundation", + "trees": "50", + "species": "white oak, baldcypress, hophornbeam, nuttall oak, river birch, 'Bracken's Brown Beauty' magnolia, blackgum, tulip poplar, ginkgo, 'Red Rage' blackgum, 'Little Gem' magnolia, shumard oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2992, + 34.885 + ] + }, + "properties": { + "site": "Pavilion Recreation Complex", + "planting_partner": "GE", + "trees": "58", + "species": "October Glory red maple, tulip poplar, Brown Turkey fig, nuttall oak, willow oak, Chinese pistache, overcup oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.31473, + 34.854998 + ] + }, + "properties": { + "site": "Pelham Road Baptist Church", + "planting_partner": "", + "trees": "6", + "species": "white oak, Forest Pansy redbud", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.311589, + 34.857117 + ] + }, + "properties": { + "site": "Pelham Road Elementary School", + "planting_partner": "Johnson Controls", + "trees": "31", + "species": "Prairifire crabapple, October Glory red maple, nuttall oak, American hornbeam, Little Gem magnolia, Eastern redbud", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2331, + 34.852931 + ] + }, + "properties": { + "site": "Perrins Park", + "planting_partner": "", + "trees": "11", + "species": "Carolina silverbell, blackgum, okame cherry, serviceberry", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4068, + 34.6902 + ] + }, + "properties": { + "site": "Piedmont Athletic Complex", + "planting_partner": "", + "trees": "19", + "species": "willow oak, red maple, Eastern redbud", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.465474, + 34.698977 + ] + }, + "properties": { + "site": "Piedmont Neighborhood", + "planting_partner": "", + "trees": "40", + "species": "American hornbeam, Bracken Brown's Beauty magnolia, Burkii cedar, Carolina Sapphire, Radicans cryptomeria, ginkgo, Little Gem magnolia, nuttall oak, October Glory red maple, Eastern redbud, serviceberry, Teddy Bear magnolia, tulip poplar, yellowwood", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.909537, + 34.944258 + ] + }, + "properties": { + "site": "Pine Street Elementary School", + "planting_partner": "Noble Tree Foundation", + "trees": "4", + "species": "Halka ginkgo, Afterburner blackgum, Eastern hophornbeam", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3909, + 34.8877 + ] + }, + "properties": { + "site": "Piney Mountain Park", + "planting_partner": "", + "trees": "20", + "species": "October Glory red maple, nuttall oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.290582, + 34.851731 + ] + }, + "properties": { + "site": "Pittman Park", + "planting_partner": "Hollingsworth Funds", + "trees": "47", + "species": "crape myrtle, red maple, willow oak, red oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2824, + 34.7319 + ] + }, + "properties": { + "site": "Plain Elementary School", + "planting_partner": "", + "trees": "54", + "species": "Autumnalis cherry, fig, pecan, Autumn Blaze maple, October Glory maple, Eastern red cedar, plum, pawpaw, Stuart pecan, Candy pecan, American hornbeam", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4114, + 34.8691 + ] + }, + "properties": { + "site": "Poe Mill Neighborhood", + "planting_partner": "", + "trees": "149", + "species": "Oklahoma redbud, serviceberry, dogwood, trident maple, Carolina silverbell, frinegtree, Autumn Blaze maple, shumard oak, Forest Pansy redbud, Little Gem magnolia, Peggy Clarke apricot, Emerald Green arborvitae, hophornbeam, Teddy Bear magnolia, Natchex crepe myrtle, October Glory maple, Eastern redbud, tulip poplar", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.437, + 34.95 + ] + }, + "properties": { + "site": "Poinsett Park", + "planting_partner": "Hollingsworth Funds", + "trees": "20", + "species": "willow oak, red maple, shumard oak, crape myrtle", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.488418, + 34.797874 + ] + }, + "properties": { + "site": "Powdersville Schools", + "planting_partner": "", + "trees": "39", + "species": "Allee elm, Princeton Sentry ginkgo, Prairifire crabapple, nuttall oak, London planetree, Red Sunset red maple, blackgum", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.493047, + 35.018008 + ] + }, + "properties": { + "site": "Railroad Creek Reforestation", + "planting_partner": "Save Our Saluda, Entercom", + "trees": "281", + "species": "pawpaw, river birch, sugarberry, Eastern redbud, persimmon, sycamore, cottonwood, overcup oak, swamp chestnut oak, cherrybark oak, mockernut hickory, blackgum, basswood, catalpa, hazel alder, water hickory, swamp tupelo, American elm, red maple, tulip poplar, swamp white oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2991, + 34.6398 + ] + }, + "properties": { + "site": "Ralph Chandler Middle School", + "planting_partner": "", + "trees": "19", + "species": "red maple, Eastern redbud, Little Gem magnolia", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.996308, + 34.836145 + ] + }, + "properties": { + "site": "RD Anderson Applied Tech Center", + "planting_partner": "Noble Tree Foundation", + "trees": "28", + "species": "Aeryn trident maple, Forest Pansy redbud, Emerald City tulip poplar, hophornbeam, 6 October Glory red maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.54571, + 35.115673 + ] + }, + "properties": { + "site": "River Falls Rd", + "planting_partner": "Save Our Saluda", + "trees": "87", + "species": "pawpaw, redbud, fringetree, American beech, willow oak, shumard oak, American elm", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3518, + 34.7407 + ] + }, + "properties": { + "site": "Robert E. Cashion Elementary School", + "planting_partner": "GE, Farm Bureau*, ThinkUp Consulting", + "trees": "78", + "species": "red maple, Eastern redbud, Little Gem magnolia, blackgum, serviceberry, nuttall oak, Peggy Clarke apricot, Red Sunset red maple, London planetree, deodar cedar, European hornbeam, tulip poplar, ginkgo, Prairifire crabapple, Forest Pansy redbud, Chinese pistache, baldcypress, swamp white oak, Duraheat river birch, October Glory maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.622277, + 34.509037 + ] + }, + "properties": { + "site": "Rocky River Nature Park", + "planting_partner": "Anderson University, Upstate Forever", + "trees": "450", + "species": "red maple, river birch, willow oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.95942, + 34.87592 + ] + }, + "properties": { + "site": "Roebuck Elementary School", + "planting_partner": "Noble Tree Foundation", + "trees": "43", + "species": "Afterburner blackgum, baldcypress, Emerald City tulip poplar, Eastern red cedar, Bracken's Brown Beauty magnolia, white oak, shumard oak, river birch, trident maple, October Glory red maple, Natchez crepe myrtle", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.31283, + 34.841314 + ] + }, + "properties": { + "site": "Roper Mountain Science Center", + "planting_partner": "Greenville Council of Garden Clubs, Trees SC, Clemson Extension", + "trees": "71", + "species": "Eastern redbud, serviceberry, American chestnut, chestnut oak, willow oak, red oak, nuttall oak, October Glory red maple, Red Sunset red maple, red maple, pawpaw, sugarberry, American beech, shagbark hickory, dogwood, persimmon, fringetree, tulip poplar, blackgum, white oak, shumard oak, baldcypress, basswood, American hornbeam", + "program": "Tree Keepers" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.209, + 34.774 + ] + }, + "properties": { + "site": "Rudolph Gordon Elementary School", + "planting_partner": "Greenville Council of Garden Clubs", + "trees": "34", + "species": "willow oak, red maple, American hornbeam, Prairifire crabapple, October Glory red maple, nuttall oak, Shawnee Brave baldcypress, Forest Pansy redbud, Bracken's Brown Beauty magnolia", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.944418, + 34.961874 + ] + }, + "properties": { + "site": "Ruth's Gleanings", + "planting_partner": "", + "trees": "3", + "species": "Gold plum", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.457337, + 34.838473 + ] + }, + "properties": { + "site": "Saluda Bluffs Neighborhood", + "planting_partner": "", + "trees": "19", + "species": "Prairifire crabapple, Forest Pansy redbud, Carolina sapphire, October Glory red maple, Tuscarora crape myrtle, European hornbeam, allee elm", + "program": "2018 ReLEAF Day, Presented by: Duke Energy, BMW, Schneider Tree Care, Fluor, Greenville Journal, Forum Benefits, Earth Design, Christopher Trucks, Community Tap, AFL, Keys Innovative Solutions, GE, Johnson Controls, Robert M Rogers MD PA, LS3P, KPMG, the McSharry Family, SynTerra" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.415999, + 34.887347 + ] + }, + "properties": { + "site": "Sans Souci Community Garden", + "planting_partner": "", + "trees": "29", + "species": "pawpaw, persimmon, fig, black cherry, apple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.415882, + 34.883856 + ] + }, + "properties": { + "site": "Sans Souci Neighborhood", + "planting_partner": "", + "trees": "21", + "species": "fringetree, American hornbeam, Cherokee Princess dogwood, Teddy Bear magnolia, Forest Pansy redbud, Autumn Blaze maple, river birch, serviceberry, Little Gem magnolia, Bracken's Brown Beauty magnolia, Eastern red cedar, Japanese snowbell, Carolina silverbell, overcup oak", + "program": "2019 ReLEAF Day, Presented by: Duke Energy, Greenville Journal, Schneider Tree Care, Fluor, BMW, Forum Benefits, Earth Design, Christopher Trucks, Pintail Capitol Partners, Community Tap, Robert M Rogers MD PA, Becky & Bobby Hartness, AFL, Keys Innovative Solutions, Southern Management Corporation, Johnson Controls, Colliers International, Carolina Crafted Construction LLC, DP3 Architects, Arrowood & Arrowood, Harper General Contractors, KPMG, Sunstore Solar Energy Solutions, Furman University, the McSharry Family, McMillan Pazden Smith Architecture, Mary Lou & Lewis Jones, Eric Krichbaum" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.415714, + 34.89267 + ] + }, + "properties": { + "site": "Sans Souci Neighborhood Floodplain Reforestation", + "planting_partner": "SummitMedia, Bank of America", + "trees": "6", + "species": "blackgum, winged elm, overcup oak, nuttall oak, river birch, American elm, pignut hickory, sweetbay magnolia, sugarberry, baldcypress", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3649, + 34.8139 + ] + }, + "properties": { + "site": "Sara Collins Elementary School", + "planting_partner": "Greenville Council of Garden Clubs", + "trees": "3", + "species": "red maple, October Glory red maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.365, + 34.907 + ] + }, + "properties": { + "site": "Sevier Middle School", + "planting_partner": "", + "trees": "15", + "species": "fringetree, American holly, Eastern red cedar, pear, plum", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.310527, + 34.855171 + ] + }, + "properties": { + "site": "Shadow Way Neighborhood", + "planting_partner": "", + "trees": "29", + "species": "fringetree, serviceberry, Nellie Stevens holly, Cherokee Brave dogwood, Autumn Blaze maple, October Glory maple, Forest Pansy redbud", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.401881, + 34.782187 + ] + }, + "properties": { + "site": "Shady Oak Baptist Church", + "planting_partner": "", + "trees": "1", + "species": "nuttall oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.952068, + 35.028584 + ] + }, + "properties": { + "site": "Shoally Creek Elementary School", + "planting_partner": "Noble Tree Foundation", + "trees": "10", + "species": "Afterburner blackgum, nuttall oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.27, + 34.744 + ] + }, + "properties": { + "site": "Simpsonville Elementary School", + "planting_partner": "", + "trees": "9", + "species": "white oak, red oak, sugar maple, willow oak, chinquapin oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2656, + 35.0448 + ] + }, + "properties": { + "site": "Skyland Elementary School", + "planting_partner": "BMW, Greer Centennial Lions Club, Taylors Lions Club, Blue Ridge Lions Club", + "trees": "56", + "species": "red maple, October Glory red maple, hiromi cherry, Forest Pansy redbud, nuttall oak, Emerald City tulip poplar, overcup oak, blackgum, Tuscarora crape myrtle, Peggy Clark apricot, sourwood, Carolina silverbell, white oak, American hornbeam, baldcypress", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.497626, + 35.023057 + ] + }, + "properties": { + "site": "Slater-Marietta Elementary School", + "planting_partner": "", + "trees": "25", + "species": "nuttall oak, kousa dogwood, Brandywine red maple, Legacy sugar maple, serviceberry, tulip poplar, river birch, blackgum, hiromi cherry, willow oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.368879, + 34.852972 + ] + }, + "properties": { + "site": "Solutions Residential Center", + "planting_partner": "", + "trees": "6", + "species": "European hornbeam", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.41175285, + 34.86315243 + ] + }, + "properties": { + "site": "Southernside Neighborhood", + "planting_partner": "TD Bank", + "trees": "57", + "species": "redbud, American hornbeam, serviceberry, blackgum, Brodie cedar, baldcypress, overcup oak, hophornbeam, tulip poplar, nuttall oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.876999, + 34.978367 + ] + }, + "properties": { + "site": "Spartanburg High School", + "planting_partner": "Noble Tree Foundation", + "trees": "46", + "species": "Amber Glow dawn redwood, American hornbeam, blackgum, Exclamation London planetree, Princeton elm, Emerald City tulip poplar, October Glory red maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.441588, + 34.962348 + ] + }, + "properties": { + "site": "Spring Park Inn", + "planting_partner": "Foothills Rotary Club", + "trees": "27", + "species": "Carolina silverbell, catalpa, sassafras, white oak, October Glory red maple, flowering dogwood, yellowwood, Eastern red cedar, American hornbeam, serviceberry, shumard oak, fringetree, Autumn Blaze maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.417803, + 34.847752 + ] + }, + "properties": { + "site": "St Anthony's Catholic Church", + "planting_partner": "", + "trees": "24", + "species": "Red Sunset red maple, tulip poplar, allee elm, fringetree, plum, kousa dogwood, Red Point red maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4247, + 34.842 + ] + }, + "properties": { + "site": "St Francis Community Garden", + "planting_partner": "", + "trees": "16", + "species": "hiromi cherry, pawpaw, serviceberry, persimmon, pear, autumnalis cherry, mulberry, baldcypress, redbud, Forest Pansy redbud, fringetree, gingko", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.381, + 34.898 + ] + }, + "properties": { + "site": "St. James Episcopal Church", + "planting_partner": "", + "trees": "1", + "species": "Red Sunset red maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.44281001, + 34.80490201 + ] + }, + "properties": { + "site": "Staunton Bridge Community Center", + "planting_partner": "", + "trees": "12", + "species": "Princeton elm, nuttall oak, allee elm", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.42, + 34.8352 + ] + }, + "properties": { + "site": "Sterling Neighborhood", + "planting_partner": "", + "trees": "19", + "species": "pear, persimmon, fig, pomegranate, trident maple, crape myrtle, deodar cedar, serviceberry", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.418863, + 34.841922 + ] + }, + "properties": { + "site": "Sterling \/ West End Neighborhood", + "planting_partner": "", + "trees": "33", + "species": "American hornbeam, baldcypress, Forest Pansy redbud, hophornbeam, Little Gem magnolia, Natchez crepe myrtle, nuttall oak, October Glory red maple, Radicans cryptomeria, Eastern redbud, river birch, serviceberry, swamp white oak, Teddy Bear magnolia, yellowwood", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.370283, + 34.836585 + ] + }, + "properties": { + "site": "Sterling School Charles Townes Gifted Center", + "planting_partner": "Sage Automotive Interiors", + "trees": "28", + "species": "white oak, red oak, red maple, trident maple, Forest Pansy redbud, okame cherry, tulip poplar", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.396965, + 34.864854 + ] + }, + "properties": { + "site": "Stone Academy", + "planting_partner": "Jacobs", + "trees": "4", + "species": "Forest Pansy redbud", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.41, + 34.693 + ] + }, + "properties": { + "site": "Sue Cleveland Elementary School", + "planting_partner": "Greenville Council of Garden Clubs", + "trees": "2", + "species": "red maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.017414, + 35.051264 + ] + }, + "properties": { + "site": "Sugar Ridge Elementary School", + "planting_partner": "Noble Tree Foundation", + "trees": "8", + "species": "Emerald City tulip poplar, swamp white oak, Afterburner blackgum", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.406911, + 34.831924 + ] + }, + "properties": { + "site": "Sullivan Neighborwoods", + "planting_partner": "", + "trees": "21", + "species": "red maple, redbud, Peggy Clarke apricot, blackgum, sawtooth oak, nuttall oak, ginkgo", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.383284, + 34.875504 + ] + }, + "properties": { + "site": "Summit Drive Elementary School", + "planting_partner": "", + "trees": "4", + "species": "nuttall oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.427197, + 34.877316 + ] + }, + "properties": { + "site": "Swamp Rabbit Trail Blue Ridge", + "planting_partner": "Timberlab", + "trees": "10", + "species": "5 Autumn Blaze red maple, 5 Duraheat river birch", + "program": "Shade the Rabbit" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.378786, + 34.833079 + ] + }, + "properties": { + "site": "Swamp Rabbit Trail First Baptist", + "planting_partner": "NAI Earle Furman, Friends of the Reedy River", + "trees": "132", + "species": "hophornbeam, pawpaw, 'Red Sunset' red maple, 'Autumn Blaze' maple, sassafras, Carolina silverbell, witch hazel, London planetree, shumard oak, blackgum, dogwood, river birch, redbud, serviceberry, fringetree, swamp chestnut oak, sugarberry, cherrybark oak, American beech, American elm, red maple, pignut hickory, overcup oak, 'October Glory' red maple", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.442619, + 34.938486 + ] + }, + "properties": { + "site": "Swamp Rabbit Trail Furman (Duncan Chapel)", + "planting_partner": "The Furman Co", + "trees": "9", + "species": "allee elm", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.444904, + 34.923938 + ] + }, + "properties": { + "site": "Swamp Rabbit Trail Furman Facilities (Duncan Chapel)", + "planting_partner": "Nexus", + "trees": "46", + "species": "hophornbeam, redbud, Carolina sapphire, 'Little Gem' magnolia, cryptomeria, 'Burkii' cedar, 'October Glory' red maple, American hornbeam", + "program": "Shade the Rabbit" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.356686, + 34.844831 + ] + }, + "properties": { + "site": "Swamp Rabbit Trail Keith Drive", + "planting_partner": "Soda City Spas, Meritage Homes, Arbor Day Foundation", + "trees": "35", + "species": "overcup oak, European hornbeam, Forest Pansy redbud, nuttall oak", + "program": "Shade the Rabbit" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.438472, + 34.888667 + ] + }, + "properties": { + "site": "Swamp Rabbit Trail Lakeview Link", + "planting_partner": "Foothills Rotary Club, Bike Walk Greenville", + "trees": "24", + "species": "American hornbeam, baldcypress, fringetree, serviceberry, sweetbay magnolia, silky dogwood, Forest Pansy redbud", + "program": "Shade the Rabbit" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.421904, + 34.868302 + ] + }, + "properties": { + "site": "Swamp Rabbit Trail Monaghan Mill", + "planting_partner": "GE, Prisma Health, ScanSource", + "trees": "90", + "species": "October Glory red maple, scarlet oak, American beech, witch hazel, European hornbeam, yellowwood, blackgum, ginkgo, baldcypress, nuttall oak, Autumn Blaze maple, serviceberry", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.44, + 34.8932 + ] + }, + "properties": { + "site": "Swamp Rabbit Trail Railcar", + "planting_partner": "Leadership Greenville, TD Bank, FUEL, Sage Automotive Interiors, ScanSource", + "trees": "175", + "species": "Natchez crape myrtle, nuttall oak, October Glory red maple, witch hazel, blackgum, serviceberry, redbud, red maple, Forest Pansy redbud, hazlenut, Peggy Clarke apricot, purple leaf plum, China Snow fringetree, Arnolds Promise witch hazel, pawpaw, Autumn Blaze maple, American hornbeam, sweetbay magnolia, baldcypress, fringetree, silky dogwood", + "program": "Shade the Rabbit" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.442818, + 34.944723 + ] + }, + "properties": { + "site": "Swamp Rabbit Trail Reedy River Baptist Church", + "planting_partner": "", + "trees": "6", + "species": "October Glory red maple", + "program": "Shade the Rabbit" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.421047, + 34.863209 + ] + }, + "properties": { + "site": "Swamp Rabbit Trail Republic Locomotive", + "planting_partner": "AFL", + "trees": "29", + "species": "Bracken Brown's Beauty magnolia, Red Sunset red maple, American witch hazel, tulip poplar, European hornbeam, Legacy sugar maple, Eastern red cedar, persimmon, pear, plum, fig", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.446359, + 34.97137 + ] + }, + "properties": { + "site": "Swamp Rabbit Trail TR", + "planting_partner": "Foothills Rotary Club, Johnson Controls", + "trees": "71", + "species": "serviceberry, Carolina silverbell, beacon oak, Golden Desert ash, overcup oak, blackgum, tulip poplar, scarlet oak, crabapple, Princeton elm, serviceberry, American hornbeam, Forest Pansy redbud, Wildfire blackgum", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.443134, + 34.902054 + ] + }, + "properties": { + "site": "Swamp Rabbit Trail Watkins Bridge Rd", + "planting_partner": "Fluor", + "trees": "22", + "species": "swamp white oak, tulip poplar, American hornbeam, red maple", + "program": "Shade the Rabbit" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.442619, + 34.938486 + ] + }, + "properties": { + "site": "Swamp Rabbitt Trail Roe Ford Rd", + "planting_partner": "AFL", + "trees": "55", + "species": "Natchez crape myrtle", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.328007, + 34.931649 + ] + }, + "properties": { + "site": "Taylors Elementary School", + "planting_partner": "", + "trees": "31", + "species": "red maple, blackgum, fringetree, serviceberry, nuttall, Autumn Blaze maple, river birch, trident maple, bald cypress, tulip poplar, swamp white oak, Eastern redbud", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.281354, + 34.919806 + ] + }, + "properties": { + "site": "Taylors Mill", + "planting_partner": "", + "trees": "25", + "species": "serviceberry, American holly, Autumn Blaze maple, fringetree", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.446163, + 35.126483 + ] + }, + "properties": { + "site": "Terry Creek Reforestation", + "planting_partner": "Save Our Saluda", + "trees": "110", + "species": "red maple, river birch, swamp chestnut oak, willow, American elm, hazel alder, elderberry, American snowbell", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.444188, + 35.123022 + ] + }, + "properties": { + "site": "Terry Creek Reforestation", + "planting_partner": "Save Our Saluda", + "trees": "310", + "species": "red maple, river birch, fringetree, tulip poplar, blackgum, sycamore, swamp white oak, overcup oak, swamp chestnut oak, cherrbark oak, shumard oak, American elm, pawpaw, water oak, willow oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.442774, + 35.121516 + ] + }, + "properties": { + "site": "Terry Creek Reforestation", + "planting_partner": "Save Our Saluda", + "trees": "229", + "species": "pawpaw, shumard oak, red maple, smooth alder, blackgum, American hornbeam, fringetree, cottonwood, cherrybark oak, willow oak, American elm", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.408631, + 34.794386 + ] + }, + "properties": { + "site": "Thomas Kerns Elementary School", + "planting_partner": "", + "trees": "33", + "species": "white oak, red oak, ginkgo, blackgum, Little Gem magnolia, sawtooth oak, shumard oak, October Glory red maple, Bracken's Brown Beauty magnolia, nuttall oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.445429, + 34.954695 + ] + }, + "properties": { + "site": "Trailblazer Park", + "planting_partner": "TD Bank", + "trees": "90", + "species": "serviceberry, nuttall oak, Eastern red cedar, Autumn Blaze maple, Tupelo Tower blackgum, hophornbeam", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4502, + 34.9711 + ] + }, + "properties": { + "site": "Travelers Rest High School", + "planting_partner": "GE", + "trees": "45", + "species": "fringetree, blackgum, serviceberry, redbud, green ash, Eastern red cedar, deodar cedar, Shawnee Brave baldcypress, Bracken's Brown Beauty magnolia, nuttall oak, tulip poplar, ginkgo, pawpaw, Forest Pansy redbud", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.403807, + 34.861857 + ] + }, + "properties": { + "site": "Triune Mercy Center", + "planting_partner": "", + "trees": "3", + "species": "fig", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.106613, + 34.872311 + ] + }, + "properties": { + "site": "Tyger River Park", + "planting_partner": "Trees SC, Clemson Extension", + "trees": "", + "species": "", + "program": "Tree Keepers" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.38652, + 34.797404 + ] + }, + "properties": { + "site": "Unique Kidz at Davis Academy", + "planting_partner": "GE", + "trees": "9", + "species": "fringetree, serviceberry, October Glory red maple, Teddy Bear magnolia, American hornbeam", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.284458, + 34.788156 + ] + }, + "properties": { + "site": "Upstate Circle of Friends", + "planting_partner": "GE", + "trees": "20", + "species": "fig, nuttall oak, overcup oak, blackgum, sassafras, Carolina silverbell, American holly", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.455248, + 35.107368 + ] + }, + "properties": { + "site": "Upstate Forever Memorial Property", + "planting_partner": "", + "trees": "", + "species": "nuttall oak, swamp white oak, red maple, tulip poplar", + "program": "Legacy Tree Memorials" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.97155, + 34.999199 + ] + }, + "properties": { + "site": "USC Upstate", + "planting_partner": "", + "trees": "6", + "species": "chinkapin oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.389335, + 34.904184 + ] + }, + "properties": { + "site": "UU World of Children", + "planting_partner": "", + "trees": "12", + "species": "Eastern redbud, Chinese pistache, American hornbeam, persimmon, pawpaw", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.970061, + 35.057973 + ] + }, + "properties": { + "site": "Vadumar Park", + "planting_partner": "BMW", + "trees": "39", + "species": "American hornbeam, 'Autumn Brilliance' serviceberry, Carolina sapphire, swamp white oak, 'Gold Rush' dawn redwood, 'Afterburner' blackgum, 'October Glory' red maple, shumard oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.277579, + 34.696403 + ] + }, + "properties": { + "site": "Verdmont Neighborhood", + "planting_partner": "", + "trees": "21", + "species": "autumnalis cherry, Eastern redbud, American holly, red maple, zelkova", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.223163, + 34.934956 + ] + }, + "properties": { + "site": "Victor Park", + "planting_partner": "AFL, Greer CPW", + "trees": "21", + "species": "October Glory red maple, Natchez crape myrtle", + "program": "2019 ReLEAF Day, Presented by: Duke Energy, Greenville Journal, Schneider Tree Care, Fluor, BMW, Forum Benefits, Earth Design, Christopher Trucks, Pintail Capitol Partners, Community Tap, Robert M Rogers MD PA, Becky & Bobby Hartness, AFL, Keys Innovative Solutions, Southern Management Corporation, Johnson Controls, Colliers International, Carolina Crafted Construction LLC, DP3 Architects, Arrowood & Arrowood, Harper General Contractors, KPMG, Sunstore Solar Energy Solutions, Furman University, the McSharry Family, McMillan Pazden Smith Architecture, Mary Lou & Lewis Jones, Eric Krichbaum" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.44232, + 34.903727 + ] + }, + "properties": { + "site": "Vinson and Plano Dr", + "planting_partner": "", + "trees": "100", + "species": "overcup oak, American elm, swamp chestnut oak, sycamore, river birch, red maple, sweetbay magnolia, swamp white oak, bald cypress", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.367338, + 34.814104 + ] + }, + "properties": { + "site": "Washington Center", + "planting_partner": "Fluor", + "trees": "56", + "species": "Tuscarora crape myrtle, Forest Pansy redbud, fringetree, Red Sunset red maple, nuttall oak, serviceberry, chestnut oak, tulip poplar, Autumn Blaze maple, hophornbeam, Bracken's Brown Beauty magnolia, Muskogee crape myrtle", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.397918, + 34.879435 + ] + }, + "properties": { + "site": "Washington Heights Neighborhood", + "planting_partner": "", + "trees": "42", + "species": "Little Gem magnolia, Red Sunset red maple, serviceberry, Peggy Clarke apricot, fringetree, Nellie Stevens holly", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.443787, + 34.828993 + ] + }, + "properties": { + "site": "Welcome Park", + "planting_partner": "TD Bank", + "trees": "95", + "species": "pawpaw, blackgum, American holly, sourwood, Forest Pansy redbud, serviceberry, fringetree, red oak, sycamore, baldcypress, American hornbeam, shumard oak, Wildfire blackgum, nuttall oak, white oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.423339, + 34.849744 + ] + }, + "properties": { + "site": "West Greenville Neighborhood", + "planting_partner": "TD Bank, Meritage Homes, Arbor Day Foundation, BMW, Reedy River Rotary, Enterprise Mobility", + "trees": "153", + "species": "serviceberry, Eastern redbud, American hornbeam, Bracken Brown's Beauty magnolia, fringetree, yellowwood, Teddy Bear magnolia, nuttall oak, Little Gem magnolia, Afterburner blackgum, October Glory red maple, Emerald City tulip poplar, Forest Pansy redbud, baldcypress, hophornbeam, cryptomeria, ginkgo, sweetbay magnolia, Natchez crepe myrtle", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.003727, + 34.925763 + ] + }, + "properties": { + "site": "West View Elementary School", + "planting_partner": "SAGE, Noble Tree Foundation", + "trees": "31", + "species": "white oak, overcup oak, scarlet oak, Emerald City tulip poplar, Kay magnolia, Little Gem magnolia, Eastern red cedar, American hornbeam", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.447592, + 34.942174 + ] + }, + "properties": { + "site": "White Horse Academy", + "planting_partner": "", + "trees": "20", + "species": "fig, pawpaw, Asian persimmon, hazelnut, plum", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.91642, + 34.998385 + ] + }, + "properties": { + "site": "Whitlock Flexible Learning Center", + "planting_partner": "Noble Tree Foundation", + "trees": "4", + "species": "Eastern hophornbeam, ginkgo, Red Rage blackgum, yellowwood", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.246, + 34.8976 + ] + }, + "properties": { + "site": "Woodland Elementary School", + "planting_partner": "GE", + "trees": "23", + "species": "red maple, blackgum, okame cherry, Peggy Clark apricot, trident maple, Forest Pansy redbud, Little Gem magnolia, serviceberry", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.964988, + 34.930079 + ] + }, + "properties": { + "site": "Woodland Heights Elementary School", + "planting_partner": "Noble Tree Foundation", + "trees": "12", + "species": "Aeryn trident maple, Emerald City tulip poplar, Kindred Spirit oak, bur oak, basswood, Persian ironwood", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.407355, + 34.693466 + ] + }, + "properties": { + "site": "Woodmont Middle School", + "planting_partner": "", + "trees": "35", + "species": "Red Sunset red maple, Little Gem magnolia, chestnut oak, American hornbeam, willow oak, Bracken's Brown Beauty magnolia", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.016107, + 34.731235 + ] + }, + "properties": { + "site": "Woodruff Elementary School", + "planting_partner": "Noble Tree Foundation", + "trees": "8", + "species": "yellowwood, baldcypress, Emerald City tulip poplar, swamp white oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.012579, + 34.731992 + ] + }, + "properties": { + "site": "Woodruff Primary School", + "planting_partner": "Noble Tree Foundation", + "trees": "8", + "species": "swamp white oak, hophornbeam, nuttall oak", + "program": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.094513, + 34.678532 + ] + }, + "properties": { + "site": "Yousef Mefleh Memorial Fields", + "planting_partner": "", + "trees": "20", + "species": "Natchez crepe myrtle, hophornbeam, American hornbeam, swamp white oak, tulip poplar", + "program": "" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/walking-trails.geojson b/storage/app/geojson/walking-trails.geojson new file mode 100644 index 00000000..1c2655f3 --- /dev/null +++ b/storage/app/geojson/walking-trails.geojson @@ -0,0 +1,260 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.338838, + 34.8690004 + ] + }, + "properties": { + "title": "Butler Springs Park", + "address": "301 Butler Springs Road Greenville, SC 29615", + "region": "Central Greenville County" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3049986, + 34.611611 + ] + }, + "properties": { + "title": "Cedar Falls", + "address": "201 Cedar Falls Road Fountain Inn, SC 29644", + "region": "Southern Greenville County" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.446626, + 34.9549224 + ] + }, + "properties": { + "title": "Chico Bolin Park", + "address": "115 Wilhelm Winter Street Travelers Rest, SC 29690", + "region": "Northern Greenville County" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3518508, + 34.778249 + ] + }, + "properties": { + "title": "Conestee Park", + "address": "840 Mauldin Road Greenville, SC 29607", + "region": "Southern Greenville County" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.314413, + 35.0524914 + ] + }, + "properties": { + "title": "David Jackson Park", + "address": "25 Fowler Road Taylors, SC 29687", + "region": "Northern Greenville County" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.293435, + 34.8515616 + ] + }, + "properties": { + "title": "Gary L. Pittman Memorial Park", + "address": "420 Blacks Road Greenville, SC 29615", + "region": "Central Greenville County" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3669106, + 34.7745492 + ] + }, + "properties": { + "title": "Lake Conestee Nature Park", + "address": "601 Fork Shoals Road Greenville, SC 29605", + "region": "Southern Greenville County" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.431183, + 34.7724243 + ] + }, + "properties": { + "title": "Lakeside Park", + "address": "1500 Piedmont Highway Piedmont, SC 29673", + "region": "Southern Greenville County" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.306089, + 34.9542584 + ] + }, + "properties": { + "title": "Lincoln Park", + "address": "169 Harnitha Lane Taylors, SC 29687", + "region": "Northern Greenville County" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.351222, + 34.5920894 + ] + }, + "properties": { + "title": "Loretta C. Wood Park", + "address": "10270 Augusta Road Pelzer, SC 29699", + "region": "Southern Greenville County" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.1969969, + 34.8130879 + ] + }, + "properties": { + "title": "Mesa Soccer Complex", + "address": "1020 Anderson Ridge Road Greer, SC 29651", + "region": "Central Greenville County" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2289375, + 34.8567698 + ] + }, + "properties": { + "title": "Pelham Mill Park", + "address": "2770 E Phillips Road Greenville, SC 29615", + "region": "Central Greenville County" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.403943, + 34.6898954 + ] + }, + "properties": { + "title": "Piedmont Athletic Complex", + "address": "150 Woodmont School Road Piedmont, SC 29673", + "region": "Southern Greenville County" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3924219, + 34.8882364 + ] + }, + "properties": { + "title": "Piney Mountain Park", + "address": "501 Worley Road Greenville, SC 29609", + "region": "Northern Greenville County" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4817148, + 35.084658 + ] + }, + "properties": { + "title": "Pleasant Ridge Park", + "address": "4232 Hwy. 11 Marietta, SC 29661", + "region": "Northern Greenville County" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4438995, + 34.9487551 + ] + }, + "properties": { + "title": "Poinsett Park", + "address": "5 Pine Forest Road Travelers Rest, SC 29690", + "region": "Northern Greenville County" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4744728, + 34.9317921 + ] + }, + "properties": { + "title": "Riverbend Equestrian Park", + "address": "175 Riverbend Road Greenville, SC 29617", + "region": "Northern Greenville County" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/wall-murals.geojson b/storage/app/geojson/wall-murals.geojson new file mode 100644 index 00000000..3d650e1e --- /dev/null +++ b/storage/app/geojson/wall-murals.geojson @@ -0,0 +1,159 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4296, + 34.8475 + ] + }, + "properties": { + "title": "The Anchorage", + "notes": "Corner of Perry Ave. & Lois Ave." + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3655262, + 34.8440809 + ] + }, + "properties": { + "title": "The Great Wave off Kanagawa", + "notes": "Behind Half-Moon Outfitters" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3944979, + 34.8616144 + ] + }, + "properties": { + "title": "Southern Sounds (Josh White & Russ Morin)", + "notes": "Corner of W Stone Ave & Main St" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.390538, + 34.8605321 + ] + }, + "properties": { + "title": "Office Suites", + "notes": "On side of building" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3996311, + 34.8620737 + ] + }, + "properties": { + "title": "Be the Change You Want to See in the Neighborhood!", + "notes": "painted by Calista Bockenstette" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4038063, + 34.8682255 + ] + }, + "properties": { + "title": "Expressions Unlimited", + "notes": "On side of building" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4073314, + 34.8436432 + ] + }, + "properties": { + "title": "Old Cigar Warehouse (Drink Coca-Cola)", + "notes": "On side of building" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4101713, + 34.8665497 + ] + }, + "properties": { + "title": "Poe Mill Village", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3940603, + 34.8621919 + ] + }, + "properties": { + "title": "Park Scene", + "notes": "On side of Rite Aid building" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3994275, + 34.8464517 + ] + }, + "properties": { + "title": "Textile Mills Tribute", + "notes": "" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4035377, + 34.8463698 + ] + }, + "properties": { + "title": "Greenville: Textile Center of the World", + "notes": "" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/geojson/waterfalls.geojson b/storage/app/geojson/waterfalls.geojson new file mode 100644 index 00000000..16d397fd --- /dev/null +++ b/storage/app/geojson/waterfalls.geojson @@ -0,0 +1,275 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.403, + 34.8437 + ] + }, + "properties": { + "name": "Arboretum Falls", + "fall_height": "10 Feet", + "distance_from_road": "0.1 Mile" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5988, + 35.12308 + ] + }, + "properties": { + "name": "Ben's Sluice", + "fall_height": "10 Feet", + "distance_from_road": "1.5 Miles" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2985, + 34.61156 + ] + }, + "properties": { + "name": "Cedar Shoals", + "fall_height": "12 Feet", + "distance_from_road": "roadside" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.6322, + 35.09327 + ] + }, + "properties": { + "name": "Confusion Falls", + "fall_height": "20 Feet", + "distance_from_road": "2.9 miles" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.6269, + 35.12183 + ] + }, + "properties": { + "name": "Dargans Cascade", + "fall_height": "25 Feet", + "distance_from_road": "3.9 Miles" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5377, + 35.13964 + ] + }, + "properties": { + "name": "Falls Creek Falls", + "fall_height": "100 Feet", + "distance_from_road": "1.2 Miles" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.594, + 35.1246 + ] + }, + "properties": { + "name": "Jones Gap Falls", + "fall_height": "50 Feet", + "distance_from_road": "1.1 Miles" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4, + 34.844 + ] + }, + "properties": { + "name": "Lower Reedy River Falls", + "fall_height": "15 Feet", + "distance_from_road": "0.1 Mile" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.597, + 35.07365 + ] + }, + "properties": { + "name": "Lower Wildcat Falls", + "fall_height": "20 Feet", + "distance_from_road": "roadside" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.6315, + 35.09488 + ] + }, + "properties": { + "name": "Moonshine Falls", + "fall_height": "40 Feet", + "distance_from_road": "2.8 Miles" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5883, + 35.13257 + ] + }, + "properties": { + "name": "Rainbow Falls", + "fall_height": "100 Feet", + "distance_from_road": "0.5 Mile" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.661, + 35.10492 + ] + }, + "properties": { + "name": "Raven Cliff Falls", + "fall_height": "400 Feet", + "distance_from_road": "2.0 Miles" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.4013, + 34.84468 + ] + }, + "properties": { + "name": "Reedy River Falls", + "fall_height": "40 Feet", + "distance_from_road": "0.1 Mile" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3931, + 34.84312 + ] + }, + "properties": { + "name": "Rock Quarry Falls", + "fall_height": "10 Feet", + "distance_from_road": "roadside" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.6057, + 35.08283 + ] + }, + "properties": { + "name": "Slickum Falls", + "fall_height": "75 Feet", + "distance_from_road": "0.2 Mile" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.6085, + 35.1231 + ] + }, + "properties": { + "name": "Toll Road Falls", + "fall_height": "12 Feet", + "distance_from_road": "1.9 Miles" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5966, + 35.07895 + ] + }, + "properties": { + "name": "Upper Wildcat Falls", + "fall_height": "100 Feet", + "distance_from_road": "0.4 Mile" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.597, + 35.07368 + ] + }, + "properties": { + "name": "Wildcat Branch Falls", + "fall_height": "", + "distance_from_road": "" + } + } + ] +} \ No newline at end of file diff --git a/storage/app/scribe/collection.json b/storage/app/scribe/collection.json index d7831f5d..ff9e33eb 100644 --- a/storage/app/scribe/collection.json +++ b/storage/app/scribe/collection.json @@ -348,6 +348,121 @@ "name": "" } ] + }, + { + "name": "Map Layers API v1", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/v1\/map-layers", + "query": [ + { + "key": "per_page", + "value": "50", + "description": "The number of items to show per page. Must be at least 1. Must not be greater than 100.", + "disabled": false + }, + { + "key": "page", + "value": "1", + "description": "The current page of items to display. Must be at least 1.", + "disabled": false + }, + { + "key": "title", + "value": "", + "description": "Filter map layers by title. Must not be greater than 255 characters.", + "disabled": true + }, + { + "key": "sort_by", + "value": "title", + "description": "", + "disabled": false + }, + { + "key": "sort_direction", + "value": "asc", + "description": "", + "disabled": false + } + ], + "raw": "{{baseUrl}}\/api\/v1\/map-layers?per_page=50&page=1&title=&sort_by=title&sort_direction=asc" + }, + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "This API provides access to community-curated map layer data for the Greenville, SC area.\n\nEach map layer represents a collection of geographic features (e.g. breweries, parks, trails)\nsourced from community-maintained Google Spreadsheets and served as GeoJSON.", + "auth": { + "type": "noauth" + } + }, + "response": [ + { + "header": [], + "code": 200, + "body": "{\"data\":[{\"id\":123,\"title\":\"architecto eius et\",\"slug\":\"quos-velit-et-fugiat-sunt-nihil-accusantium-harum\",\"description\":\"Modi deserunt aut ab provident perspiciatis.\",\"center_latitude\":34.8507,\"center_longitude\":-82.3985,\"zoom_level\":10,\"geojson_link\":\"http:\\\/\\\/www.cruickshank.com\\\/adipisci-quidem-nostrum-qui-commodi-incidunt-iure\",\"geojson_url\":\"http:\\\/\\\/localhost:8000\\\/api\\\/v1\\\/map-layers\\\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum\\\/geojson\",\"contribute_link\":\"https:\\\/\\\/mclaughlin.com\\\/ipsum-nostrum-omnis-autem-et-consequatur-aut-dolores-enim.html\",\"raw_data_link\":\"http:\\\/\\\/vonrueden.com\\\/\",\"maintainers\":[{\"name\":\"Vesta Glover\"}],\"created_at\":\"2025-01-01T17:00:00.000000Z\",\"updated_at\":\"2025-01-01T17:00:00.000000Z\"}]}", + "name": "" + } + ] + }, + { + "name": "Map Layer GeoJSON", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/v1\/map-layers\/:mapLayer_slug\/geojson", + "query": [], + "raw": "{{baseUrl}}\/api\/v1\/map-layers\/:mapLayer_slug\/geojson", + "variable": [ + { + "id": "mapLayer_slug", + "key": "mapLayer_slug", + "value": "breweries", + "description": "The slug of the map layer." + } + ] + }, + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "Returns the raw GeoJSON FeatureCollection for a specific map layer.\n\nThe response is suitable for direct use with mapping libraries like Leaflet, Mapbox, or Google Maps.", + "auth": { + "type": "noauth" + } + }, + "response": [ + { + "header": [], + "code": 200, + "body": "{\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-82.398500,34.850700]},\"properties\":{\"title\":\"Example Location\"}}]}", + "name": "Success" + }, + { + "header": [], + "code": 404, + "body": "{\"message\":\"GeoJSON data not found for this map layer.\"}", + "name": "Not found" + } + ] } ] } diff --git a/storage/app/scribe/openapi.yaml b/storage/app/scribe/openapi.yaml index fcfd2c9b..f6083bbe 100644 --- a/storage/app/scribe/openapi.yaml +++ b/storage/app/scribe/openapi.yaml @@ -871,3 +871,264 @@ paths: tags: - Endpoints security: [] + /api/v1/map-layers: + get: + summary: 'Map Layers API v1' + operationId: mapLayersAPIV1 + description: "This API provides access to community-curated map layer data for the Greenville, SC area.\n\nEach map layer represents a collection of geographic features (e.g. breweries, parks, trails)\nsourced from community-maintained Google Spreadsheets and served as GeoJSON." + parameters: + - + in: query + name: per_page + description: 'The number of items to show per page. Must be at least 1. Must not be greater than 100.' + example: 50 + required: false + schema: + type: integer + description: 'The number of items to show per page. Must be at least 1. Must not be greater than 100.' + example: 50 + nullable: true + - + in: query + name: page + description: 'The current page of items to display. Must be at least 1.' + example: 1 + required: false + schema: + type: integer + description: 'The current page of items to display. Must be at least 1.' + example: 1 + nullable: true + - + in: query + name: title + description: 'Filter map layers by title. Must not be greater than 255 characters.' + example: null + required: false + schema: + type: string + description: 'Filter map layers by title. Must not be greater than 255 characters.' + example: null + nullable: true + - + in: query + name: sort_by + description: '' + example: title + required: false + schema: + type: string + description: '' + example: title + enum: + - title + - updated_at + - created_at + nullable: true + - + in: query + name: sort_direction + description: '' + example: asc + required: false + schema: + type: string + description: '' + example: asc + enum: + - asc + - desc + nullable: true + responses: + 200: + description: '' + content: + application/json: + schema: + type: object + example: + data: + - + id: 123 + title: 'architecto eius et' + slug: quos-velit-et-fugiat-sunt-nihil-accusantium-harum + description: 'Modi deserunt aut ab provident perspiciatis.' + center_latitude: 34.8507 + center_longitude: -82.3985 + zoom_level: 10 + geojson_link: 'http://www.cruickshank.com/adipisci-quidem-nostrum-qui-commodi-incidunt-iure' + geojson_url: 'http://localhost:8000/api/v1/map-layers/quos-velit-et-fugiat-sunt-nihil-accusantium-harum/geojson' + contribute_link: 'https://mclaughlin.com/ipsum-nostrum-omnis-autem-et-consequatur-aut-dolores-enim.html' + raw_data_link: 'http://vonrueden.com/' + maintainers: + - + name: 'Vesta Glover' + created_at: '2025-01-01T17:00:00.000000Z' + updated_at: '2025-01-01T17:00:00.000000Z' + properties: + data: + type: array + example: + - + id: 123 + title: 'architecto eius et' + slug: quos-velit-et-fugiat-sunt-nihil-accusantium-harum + description: 'Modi deserunt aut ab provident perspiciatis.' + center_latitude: 34.8507 + center_longitude: -82.3985 + zoom_level: 10 + geojson_link: 'http://www.cruickshank.com/adipisci-quidem-nostrum-qui-commodi-incidunt-iure' + geojson_url: 'http://localhost:8000/api/v1/map-layers/quos-velit-et-fugiat-sunt-nihil-accusantium-harum/geojson' + contribute_link: 'https://mclaughlin.com/ipsum-nostrum-omnis-autem-et-consequatur-aut-dolores-enim.html' + raw_data_link: 'http://vonrueden.com/' + maintainers: + - + name: 'Vesta Glover' + created_at: '2025-01-01T17:00:00.000000Z' + updated_at: '2025-01-01T17:00:00.000000Z' + items: + type: object + properties: + id: + type: integer + example: 123 + title: + type: string + example: 'architecto eius et' + slug: + type: string + example: quos-velit-et-fugiat-sunt-nihil-accusantium-harum + description: + type: string + example: 'Modi deserunt aut ab provident perspiciatis.' + center_latitude: + type: number + example: 34.8507 + center_longitude: + type: number + example: -82.3985 + zoom_level: + type: integer + example: 10 + geojson_link: + type: string + example: 'http://www.cruickshank.com/adipisci-quidem-nostrum-qui-commodi-incidunt-iure' + geojson_url: + type: string + example: 'http://localhost:8000/api/v1/map-layers/quos-velit-et-fugiat-sunt-nihil-accusantium-harum/geojson' + contribute_link: + type: string + example: 'https://mclaughlin.com/ipsum-nostrum-omnis-autem-et-consequatur-aut-dolores-enim.html' + raw_data_link: + type: string + example: 'http://vonrueden.com/' + maintainers: + type: array + example: + - + name: 'Vesta Glover' + items: + type: object + properties: + name: + type: string + example: 'Vesta Glover' + created_at: + type: string + example: '2025-01-01T17:00:00.000000Z' + updated_at: + type: string + example: '2025-01-01T17:00:00.000000Z' + tags: + - Endpoints + security: [] + '/api/v1/map-layers/{mapLayer_slug}/geojson': + get: + summary: 'Map Layer GeoJSON' + operationId: mapLayerGeoJSON + description: "Returns the raw GeoJSON FeatureCollection for a specific map layer.\n\nThe response is suitable for direct use with mapping libraries like Leaflet, Mapbox, or Google Maps." + parameters: [] + responses: + 200: + description: Success + content: + application/json: + schema: + type: object + example: + type: FeatureCollection + features: + - + type: Feature + geometry: + type: Point + coordinates: + - -82.3985 + - 34.8507 + properties: + title: 'Example Location' + properties: + type: + type: string + example: FeatureCollection + features: + type: array + example: + - + type: Feature + geometry: + type: Point + coordinates: + - -82.3985 + - 34.8507 + properties: + title: 'Example Location' + items: + type: object + properties: + type: + type: string + example: Feature + geometry: + type: object + properties: + type: + type: string + example: Point + coordinates: + type: array + example: + - -82.3985 + - 34.8507 + items: + type: number + properties: + type: object + properties: + title: + type: string + example: 'Example Location' + 404: + description: 'Not found' + content: + application/json: + schema: + type: object + example: + message: 'GeoJSON data not found for this map layer.' + properties: + message: + type: string + example: 'GeoJSON data not found for this map layer.' + tags: + - Endpoints + security: [] + parameters: + - + in: path + name: mapLayer_slug + description: 'The slug of the map layer.' + example: breweries + required: true + schema: + type: string diff --git a/tests/Feature/Console/Commands/SyncMapLayersCommandTest.php b/tests/Feature/Console/Commands/SyncMapLayersCommandTest.php new file mode 100644 index 00000000..21583e60 --- /dev/null +++ b/tests/Feature/Console/Commands/SyncMapLayersCommandTest.php @@ -0,0 +1,83 @@ +create([ + 'slug' => 'parks', + 'geojson_link' => null, + 'raw_data_link' => 'https://example.com/parks.csv', + ]); + + Http::fake([ + 'example.com/*' => Http::response("Latitude,Longitude,Title\n34.85,-82.40,Central Park", 200), + ]); + + $this->artisan('map:sync') + ->assertSuccessful() + ->expectsOutputToContain('parks'); + } + + public function test_sync_single_layer_by_slug(): void + { + MapLayer::factory()->create([ + 'slug' => 'breweries', + 'geojson_link' => null, + 'raw_data_link' => 'https://example.com/brew.csv', + ]); + + MapLayer::factory()->create([ + 'slug' => 'parks', + 'geojson_link' => null, + 'raw_data_link' => 'https://example.com/parks.csv', + ]); + + Http::fake([ + 'example.com/brew.csv' => Http::response("Latitude,Longitude,Title\n34.85,-82.40,Test Brew", 200), + ]); + + $this->artisan('map:sync', ['--slug' => 'breweries']) + ->assertSuccessful(); + + Storage::disk('local')->assertExists('geojson/breweries.geojson'); + Storage::disk('local')->assertMissing('geojson/parks.geojson'); + } + + public function test_sync_with_invalid_slug_fails(): void + { + $this->artisan('map:sync', ['--slug' => 'nonexistent']) + ->assertFailed() + ->expectsOutputToContain('not found'); + } + + public function test_sync_reports_failures(): void + { + MapLayer::factory()->create([ + 'slug' => 'broken', + 'geojson_link' => null, + 'raw_data_link' => 'https://example.com/broken.csv', + ]); + + Http::fake([ + 'example.com/*' => Http::response('Server Error', 500), + ]); + + $this->artisan('map:sync') + ->assertFailed(); + } +} diff --git a/tests/Feature/Http/Controllers/MapLayersApiV1Test.php b/tests/Feature/Http/Controllers/MapLayersApiV1Test.php new file mode 100644 index 00000000..d677ef08 --- /dev/null +++ b/tests/Feature/Http/Controllers/MapLayersApiV1Test.php @@ -0,0 +1,194 @@ +count(3)->create(); + + $response = $this->getJson(route('api.v1.map-layers.index')); + + $response->assertOk() + ->assertJsonCount(3, 'data') + ->assertJsonStructure([ + 'data' => [ + '*' => [ + 'id', + 'title', + 'slug', + 'description', + 'center_latitude', + 'center_longitude', + 'zoom_level', + 'geojson_link', + 'geojson_url', + 'contribute_link', + 'raw_data_link', + 'maintainers', + 'created_at', + 'updated_at', + ], + ], + ]); + } + + public function test_index_filters_by_title(): void + { + MapLayer::factory()->create(['title' => 'Breweries']); + MapLayer::factory()->create(['title' => 'Dog Parks']); + + $response = $this->getJson(route('api.v1.map-layers.index', ['title' => 'Brew'])); + + $response->assertOk() + ->assertJsonCount(1, 'data') + ->assertJsonPath('data.0.title', 'Breweries'); + } + + public function test_index_sorts_by_field(): void + { + MapLayer::factory()->create(['title' => 'Zebras']); + MapLayer::factory()->create(['title' => 'Apples']); + + $response = $this->getJson(route('api.v1.map-layers.index', [ + 'sort_by' => 'title', + 'sort_direction' => 'asc', + ])); + + $response->assertOk() + ->assertJsonPath('data.0.title', 'Apples') + ->assertJsonPath('data.1.title', 'Zebras'); + } + + public function test_index_defaults_to_title_asc_sort(): void + { + MapLayer::factory()->create(['title' => 'Zebras']); + MapLayer::factory()->create(['title' => 'Apples']); + + $response = $this->getJson(route('api.v1.map-layers.index')); + + $response->assertOk() + ->assertJsonPath('data.0.title', 'Apples'); + } + + public function test_index_paginates_results(): void + { + MapLayer::factory()->count(20)->create(); + + $response = $this->getJson(route('api.v1.map-layers.index', ['per_page' => 5])); + + $response->assertOk() + ->assertJsonCount(5, 'data'); + } + + public function test_index_validates_per_page_max(): void + { + $response = $this->getJson(route('api.v1.map-layers.index', ['per_page' => 200])); + + $response->assertUnprocessable(); + } + + public function test_index_validates_sort_by_field(): void + { + $response = $this->getJson(route('api.v1.map-layers.index', ['sort_by' => 'invalid_field'])); + + $response->assertUnprocessable(); + } + + public function test_geojson_returns_file_contents(): void + { + Storage::fake('local'); + + $mapLayer = MapLayer::factory()->create(['slug' => 'test-layer']); + Storage::disk('local')->put('geojson/test-layer.geojson', '{"type":"FeatureCollection","features":[]}'); + + $response = $this->get(route('api.v1.map-layers.geojson', ['mapLayer' => 'test-layer'])); + + $response->assertOk() + ->assertHeader('Content-Type', 'application/geo+json'); + + $this->assertJsonStringEqualsJsonString( + '{"type":"FeatureCollection","features":[]}', + $response->getContent() + ); + } + + public function test_geojson_returns_404_when_file_missing(): void + { + Storage::fake('local'); + + MapLayer::factory()->create(['slug' => 'missing-layer']); + + $response = $this->get(route('api.v1.map-layers.geojson', ['mapLayer' => 'missing-layer'])); + + $response->assertNotFound(); + } + + public function test_geojson_returns_404_for_nonexistent_layer(): void + { + $response = $this->get(route('api.v1.map-layers.geojson', ['mapLayer' => 'does-not-exist'])); + + $response->assertNotFound(); + } + + public function test_index_sorts_descending(): void + { + MapLayer::factory()->create(['title' => 'Apples']); + MapLayer::factory()->create(['title' => 'Zebras']); + + $response = $this->getJson(route('api.v1.map-layers.index', [ + 'sort_by' => 'title', + 'sort_direction' => 'desc', + ])); + + $response->assertOk() + ->assertJsonPath('data.0.title', 'Zebras') + ->assertJsonPath('data.1.title', 'Apples'); + } + + public function test_index_returns_empty_when_no_matches(): void + { + MapLayer::factory()->create(['title' => 'Breweries']); + + $response = $this->getJson(route('api.v1.map-layers.index', ['title' => 'Nonexistent'])); + + $response->assertOk() + ->assertJsonCount(0, 'data'); + } + + public function test_title_filter_escapes_like_wildcards(): void + { + MapLayer::factory()->create(['title' => '100% Complete']); + MapLayer::factory()->create(['title' => '1001 Things']); + + $response = $this->getJson(route('api.v1.map-layers.index', ['title' => '100%'])); + + $response->assertOk() + ->assertJsonCount(1, 'data') + ->assertJsonPath('data.0.title', '100% Complete'); + } + + public function test_title_filter_escapes_underscore_wildcard(): void + { + MapLayer::factory()->create(['title' => 'A_B Special']); + MapLayer::factory()->create(['title' => 'AXB Other']); + + $response = $this->getJson(route('api.v1.map-layers.index', ['title' => 'A_B'])); + + $response->assertOk() + ->assertJsonCount(1, 'data') + ->assertJsonPath('data.0.title', 'A_B Special'); + } + + public function test_geojson_rejects_path_traversal_slugs(): void + { + $response = $this->get(route('api.v1.map-layers.geojson', ['mapLayer' => '../etc/passwd'])); + + $response->assertNotFound(); + } +} diff --git a/tests/Feature/Http/Controllers/MapLayersControllerTest.php b/tests/Feature/Http/Controllers/MapLayersControllerTest.php new file mode 100644 index 00000000..aa1062ae --- /dev/null +++ b/tests/Feature/Http/Controllers/MapLayersControllerTest.php @@ -0,0 +1,199 @@ +count(3)->create(); + + $response = $this->get(route('map-layers.index')); + + $response->assertOk(); + $response->assertViewIs('map-layers.index'); + $response->assertViewHas('layers'); + } + + public function test_map_layers_page_displays_layer_titles(): void + { + MapLayer::factory()->create(['title' => 'Breweries']); + MapLayer::factory()->create(['title' => 'Dog Parks']); + + $response = $this->get(route('map-layers.index')); + + $response->assertOk(); + $response->assertSeeText('Breweries'); + $response->assertSeeText('Dog Parks'); + } + + public function test_map_layers_are_sorted_alphabetically(): void + { + MapLayer::factory()->create(['title' => 'Waterfalls']); + MapLayer::factory()->create(['title' => 'Art Galleries']); + MapLayer::factory()->create(['title' => 'Libraries']); + + $response = $this->get(route('map-layers.index')); + + $layers = $response->viewData('layers'); + + $this->assertEquals('Art Galleries', $layers[0]->title); + $this->assertEquals('Libraries', $layers[1]->title); + $this->assertEquals('Waterfalls', $layers[2]->title); + } + + public function test_map_layers_page_shows_contribute_links(): void + { + MapLayer::factory()->create([ + 'title' => 'Breweries', + 'contribute_link' => 'https://docs.google.com/spreadsheets/d/example/edit', + ]); + + $response = $this->get(route('map-layers.index')); + + $response->assertOk(); + $response->assertSee('https://docs.google.com/spreadsheets/d/example/edit', false); + $response->assertSeeText('Edit Spreadsheet'); + } + + public function test_map_layers_page_shows_geojson_links(): void + { + $layer = MapLayer::factory()->create(['slug' => 'breweries']); + + $response = $this->get(route('map-layers.index')); + + $response->assertOk(); + $response->assertSee(route('api.v1.map-layers.geojson', $layer), false); + $response->assertSeeText('GeoJSON'); + } + + public function test_map_layers_page_shows_csv_links(): void + { + MapLayer::factory()->create([ + 'raw_data_link' => 'https://docs.google.com/spreadsheets/d/e/example/pub?output=csv', + ]); + + $response = $this->get(route('map-layers.index')); + + $response->assertOk(); + $response->assertSeeText('CSV'); + } + + public function test_map_layers_page_hides_contribute_link_when_null(): void + { + MapLayer::factory()->create([ + 'contribute_link' => null, + 'raw_data_link' => null, + ]); + + $response = $this->get(route('map-layers.index')); + + $response->assertOk(); + // The layer card should not contain a spreadsheet edit link + $response->assertDontSee('Edit Spreadsheet', false); + } + + public function test_map_layers_page_hides_csv_link_when_null(): void + { + MapLayer::factory()->create([ + 'raw_data_link' => null, + 'contribute_link' => null, + ]); + + $response = $this->get(route('map-layers.index')); + + $response->assertOk(); + $response->assertSeeText('GeoJSON'); + $response->assertDontSee('CSV', false); + } + + public function test_map_layers_page_shows_descriptions(): void + { + MapLayer::factory()->create([ + 'title' => 'Breweries', + 'description' => 'A community-curated map of local breweries.', + ]); + + $response = $this->get(route('map-layers.index')); + + $response->assertOk(); + $response->assertSeeText('A community-curated map of local breweries.'); + } + + public function test_map_layers_page_shows_maintainers(): void + { + MapLayer::factory()->create([ + 'maintainers' => [ + ['name' => 'Alice Smith'], + ['name' => 'Bob Jones'], + ], + ]); + + $response = $this->get(route('map-layers.index')); + + $response->assertOk(); + $response->assertSeeText('Alice Smith'); + $response->assertSeeText('Bob Jones'); + } + + public function test_map_layers_page_shows_layer_count(): void + { + MapLayer::factory()->count(5)->create(); + + $response = $this->get(route('map-layers.index')); + + $response->assertOk(); + $response->assertSeeText('5'); + } + + public function test_map_layers_page_renders_with_no_layers(): void + { + $response = $this->get(route('map-layers.index')); + + $response->assertOk(); + $response->assertSeeText('Open Map Data'); + $response->assertViewHas('layers', fn ($layers) => $layers->isEmpty()); + } + + public function test_map_layers_page_excludes_soft_deleted_layers(): void + { + MapLayer::factory()->create(['title' => 'Active Layer']); + MapLayer::factory()->create(['title' => 'Deleted Layer', 'deleted_at' => now()]); + + $response = $this->get(route('map-layers.index')); + + $response->assertOk(); + $response->assertSeeText('Active Layer'); + $response->assertDontSeeText('Deleted Layer'); + } + + public function test_map_layers_page_has_api_docs_link(): void + { + $response = $this->get(route('map-layers.index')); + + $response->assertOk(); + $response->assertSee('/docs/api', false); + $response->assertSeeText('API Docs'); + } + + public function test_map_layers_page_has_demo_link(): void + { + $response = $this->get(route('map-layers.index')); + + $response->assertOk(); + $response->assertSee('https://hackgvl.github.io/open-map-data-multi-layers-demo/', false); + $response->assertSeeText('Multi-Layer Demo'); + } + + public function test_map_layers_page_has_correct_meta(): void + { + $response = $this->get(route('map-layers.index')); + + $response->assertOk(); + $response->assertSee('Open Map Data', false); + $response->assertSee('Community-curated', false); + } +} diff --git a/tests/Feature/Services/MapLayerSyncServiceTest.php b/tests/Feature/Services/MapLayerSyncServiceTest.php new file mode 100644 index 00000000..82370d67 --- /dev/null +++ b/tests/Feature/Services/MapLayerSyncServiceTest.php @@ -0,0 +1,433 @@ +service = app(MapLayerSyncService::class); + Storage::fake('local'); + } + + public function test_sync_from_csv_creates_geojson_file(): void + { + $layer = MapLayer::factory()->create([ + 'slug' => 'breweries', + 'geojson_link' => null, + 'raw_data_link' => 'https://example.com/data.csv', + ]); + + Http::fake([ + 'example.com/*' => Http::response( + "Latitude,Longitude,Title,Website\n34.85,-82.40,Test Brewery,https://example.com\n34.86,-82.41,Another Brewery,https://other.com", + 200 + ), + ]); + + $result = $this->service->sync($layer); + + $this->assertTrue($result['success']); + $this->assertStringContainsString('2 features', $result['message']); + + Storage::disk('local')->assertExists('geojson/breweries.geojson'); + + $geojson = json_decode(Storage::disk('local')->get('geojson/breweries.geojson'), true); + + $this->assertEquals('FeatureCollection', $geojson['type']); + $this->assertCount(2, $geojson['features']); + $this->assertEquals('Test Brewery', $geojson['features'][0]['properties']['title']); + $this->assertEquals([-82.40, 34.85], $geojson['features'][0]['geometry']['coordinates']); + $this->assertEquals('https://example.com', $geojson['features'][0]['properties']['website']); + } + + public function test_sync_from_csv_skips_rows_without_coordinates(): void + { + $layer = MapLayer::factory()->create([ + 'slug' => 'test-layer', + 'geojson_link' => null, + 'raw_data_link' => 'https://example.com/data.csv', + ]); + + Http::fake([ + 'example.com/*' => Http::response( + "Latitude,Longitude,Title\n34.85,-82.40,Has Coords\n,,,Empty Row\n34.86,-82.41,Also Has Coords", + 200 + ), + ]); + + $result = $this->service->sync($layer); + + $this->assertTrue($result['success']); + $this->assertStringContainsString('2 features', $result['message']); + } + + public function test_sync_from_geojson_link(): void + { + $layer = MapLayer::factory()->create([ + 'slug' => 'coworking', + 'geojson_link' => 'https://example.com/points.geojson', + 'raw_data_link' => 'https://example.com/data.csv', + ]); + + $geojsonData = [ + 'type' => 'FeatureCollection', + 'features' => [ + [ + 'type' => 'Feature', + 'geometry' => ['type' => 'Point', 'coordinates' => [-82.40, 34.85]], + 'properties' => ['title' => 'Test Space'], + ], + ], + ]; + + Http::fake([ + 'example.com/points.geojson' => Http::response($geojsonData, 200), + ]); + + $result = $this->service->sync($layer); + + $this->assertTrue($result['success']); + Storage::disk('local')->assertExists('geojson/coworking.geojson'); + + $stored = json_decode(Storage::disk('local')->get('geojson/coworking.geojson'), true); + $this->assertEquals('Test Space', $stored['features'][0]['properties']['title']); + } + + public function test_sync_prefers_geojson_link_over_raw_data_link(): void + { + $layer = MapLayer::factory()->create([ + 'slug' => 'test', + 'geojson_link' => 'https://example.com/points.geojson', + 'raw_data_link' => 'https://example.com/data.csv', + ]); + + Http::fake([ + 'example.com/points.geojson' => Http::response([ + 'type' => 'FeatureCollection', + 'features' => [], + ], 200), + 'example.com/data.csv' => Http::response("Latitude,Longitude,Title\n34.85,-82.40,From CSV", 200), + ]); + + $this->service->sync($layer); + + // The CSV endpoint should not have been called + Http::assertSentCount(1); + } + + public function test_sync_fails_when_no_data_source(): void + { + $layer = MapLayer::factory()->create([ + 'slug' => 'empty', + 'geojson_link' => null, + 'raw_data_link' => null, + ]); + + $result = $this->service->sync($layer); + + $this->assertFalse($result['success']); + $this->assertStringContainsString('No data source', $result['message']); + } + + public function test_sync_fails_on_http_error(): void + { + $layer = MapLayer::factory()->create([ + 'slug' => 'broken', + 'geojson_link' => null, + 'raw_data_link' => 'https://example.com/missing.csv', + ]); + + Http::fake([ + 'example.com/*' => Http::response('Not Found', 404), + ]); + + $result = $this->service->sync($layer); + + $this->assertFalse($result['success']); + $this->assertStringContainsString('404', $result['message']); + } + + public function test_sync_fails_on_invalid_geojson(): void + { + $layer = MapLayer::factory()->create([ + 'slug' => 'bad-geojson', + 'geojson_link' => 'https://example.com/bad.geojson', + ]); + + Http::fake([ + 'example.com/*' => Http::response(['type' => 'InvalidType'], 200), + ]); + + $result = $this->service->sync($layer); + + $this->assertFalse($result['success']); + $this->assertStringContainsString('Invalid GeoJSON', $result['message']); + } + + public function test_sync_all_returns_results_for_each_layer(): void + { + MapLayer::factory()->create([ + 'slug' => 'layer-a', + 'geojson_link' => null, + 'raw_data_link' => 'https://example.com/a.csv', + ]); + + MapLayer::factory()->create([ + 'slug' => 'layer-b', + 'geojson_link' => null, + 'raw_data_link' => 'https://example.com/b.csv', + ]); + + Http::fake([ + 'example.com/a.csv' => Http::response("Latitude,Longitude,Title\n34.85,-82.40,Place A", 200), + 'example.com/b.csv' => Http::response("Latitude,Longitude,Title\n34.86,-82.41,Place B", 200), + ]); + + $results = $this->service->syncAll(); + + $this->assertCount(2, $results); + $this->assertTrue($results['layer-a']['success']); + $this->assertTrue($results['layer-b']['success']); + } + + public function test_sync_escapes_forward_slashes_in_json_output(): void + { + $layer = MapLayer::factory()->create([ + 'slug' => 'slash-test', + 'geojson_link' => null, + 'raw_data_link' => 'https://example.com/data.csv', + ]); + + Http::fake([ + 'example.com/*' => Http::response( + "Latitude,Longitude,Title,Website\n34.85,-82.40,Test Place,https://example.com/path/to/page", + 200 + ), + ]); + + $this->service->sync($layer); + + $raw = Storage::disk('local')->get('geojson/slash-test.geojson'); + + $this->assertStringContainsString('https:\/\/example.com\/path\/to\/page', $raw); + $this->assertStringNotContainsString('https://example.com/path/to/page', $raw); + } + + public function test_sync_overwrites_existing_geojson_file(): void + { + $layer = MapLayer::factory()->create([ + 'slug' => 'overwrite-test', + 'geojson_link' => null, + 'raw_data_link' => 'https://example.com/data.csv', + ]); + + Storage::disk('local')->put('geojson/overwrite-test.geojson', json_encode([ + 'type' => 'FeatureCollection', + 'features' => [ + ['type' => 'Feature', 'geometry' => ['type' => 'Point', 'coordinates' => [0, 0]], 'properties' => ['title' => 'Old Data']], + ], + ])); + + Http::fake([ + 'example.com/*' => Http::response( + "Latitude,Longitude,Title\n34.85,-82.40,New Data", + 200 + ), + ]); + + $this->service->sync($layer); + + $geojson = json_decode(Storage::disk('local')->get('geojson/overwrite-test.geojson'), true); + + $this->assertCount(1, $geojson['features']); + $this->assertEquals('New Data', $geojson['features'][0]['properties']['title']); + } + + public function test_sync_produces_empty_features_when_csv_has_no_valid_rows(): void + { + $layer = MapLayer::factory()->create([ + 'slug' => 'empty-csv', + 'geojson_link' => null, + 'raw_data_link' => 'https://example.com/data.csv', + ]); + + Http::fake([ + 'example.com/*' => Http::response( + "Latitude,Longitude,Title\n,,,No Coords\nabc,def,Bad Coords", + 200 + ), + ]); + + $result = $this->service->sync($layer); + + $this->assertTrue($result['success']); + $this->assertStringContainsString('0 features', $result['message']); + + $geojson = json_decode(Storage::disk('local')->get('geojson/empty-csv.geojson'), true); + $this->assertEquals('FeatureCollection', $geojson['type']); + $this->assertCount(0, $geojson['features']); + } + + public function test_sync_fails_when_csv_endpoint_returns_html_error_page(): void + { + $layer = MapLayer::factory()->create([ + 'slug' => 'dead-sheet', + 'geojson_link' => null, + 'raw_data_link' => 'https://example.com/data.csv', + ]); + + Http::fake([ + 'example.com/*' => Http::response( + 'Sorry, the file you have requested does not exist.', + 200, + ['Content-Type' => 'text/html'] + ), + ]); + + $result = $this->service->sync($layer); + + $this->assertFalse($result['success']); + $this->assertStringContainsString('HTML instead of CSV', $result['message']); + Storage::disk('local')->assertMissing('geojson/dead-sheet.geojson'); + } + + public function test_sync_fails_when_geojson_endpoint_returns_html_error_page(): void + { + $layer = MapLayer::factory()->create([ + 'slug' => 'dead-geojson', + 'geojson_link' => 'https://example.com/points.geojson', + ]); + + Http::fake([ + 'example.com/*' => Http::response( + 'Not Found', + 200, + ['Content-Type' => 'text/html'] + ), + ]); + + $result = $this->service->sync($layer); + + $this->assertFalse($result['success']); + $this->assertStringContainsString('HTML instead of JSON', $result['message']); + Storage::disk('local')->assertMissing('geojson/dead-geojson.geojson'); + } + + public function test_sync_detects_html_by_body_even_without_content_type_header(): void + { + $layer = MapLayer::factory()->create([ + 'slug' => 'sneaky-html', + 'geojson_link' => null, + 'raw_data_link' => 'https://example.com/data.csv', + ]); + + Http::fake([ + 'example.com/*' => Http::response( + 'Error', + 200 + ), + ]); + + $result = $this->service->sync($layer); + + $this->assertFalse($result['success']); + $this->assertStringContainsString('HTML instead of CSV', $result['message']); + } + + public function test_sync_output_is_pretty_printed(): void + { + $layer = MapLayer::factory()->create([ + 'slug' => 'pretty-test', + 'geojson_link' => null, + 'raw_data_link' => 'https://example.com/data.csv', + ]); + + Http::fake([ + 'example.com/*' => Http::response("Latitude,Longitude,Title\n34.85,-82.40,Test", 200), + ]); + + $this->service->sync($layer); + + $raw = Storage::disk('local')->get('geojson/pretty-test.geojson'); + + // Pretty-printed JSON has newlines and indentation + $this->assertStringContainsString("\n", $raw); + $this->assertStringContainsString(' ', $raw); + } + + public function test_sync_uses_slug_for_filename(): void + { + $layer = MapLayer::factory()->create([ + 'slug' => 'my-custom-layer', + 'geojson_link' => null, + 'raw_data_link' => 'https://example.com/data.csv', + ]); + + Http::fake([ + 'example.com/*' => Http::response("Latitude,Longitude,Title\n34.85,-82.40,Test", 200), + ]); + + $this->service->sync($layer); + + Storage::disk('local')->assertExists('geojson/my-custom-layer.geojson'); + } + + public function test_sync_excludes_latitude_and_longitude_from_properties(): void + { + $layer = MapLayer::factory()->create([ + 'slug' => 'props-test', + 'geojson_link' => null, + 'raw_data_link' => 'https://example.com/data.csv', + ]); + + Http::fake([ + 'example.com/*' => Http::response("Latitude,Longitude,Title,Notes\n34.85,-82.40,Place,Some notes", 200), + ]); + + $this->service->sync($layer); + + $geojson = json_decode(Storage::disk('local')->get('geojson/props-test.geojson'), true); + $properties = $geojson['features'][0]['properties']; + + $this->assertArrayNotHasKey('latitude', $properties); + $this->assertArrayNotHasKey('longitude', $properties); + $this->assertArrayHasKey('title', $properties); + $this->assertArrayHasKey('notes', $properties); + } + + public function test_csv_column_headers_are_normalized_to_snake_case(): void + { + $layer = MapLayer::factory()->create([ + 'slug' => 'test-normalize', + 'geojson_link' => null, + 'raw_data_link' => 'https://example.com/data.csv', + ]); + + Http::fake([ + 'example.com/*' => Http::response( + "Latitude,Longitude,Title,Dog Friendly,Food On Premises\n34.85,-82.40,Test Place,Yes,No", + 200 + ), + ]); + + $this->service->sync($layer); + + $geojson = json_decode(Storage::disk('local')->get('geojson/test-normalize.geojson'), true); + $properties = $geojson['features'][0]['properties']; + + $this->assertArrayHasKey('dog_friendly', $properties); + $this->assertArrayHasKey('food_on_premises', $properties); + $this->assertEquals('Yes', $properties['dog_friendly']); + } +}