commit aad6ee8df8c3f9f971729039ffac7d0361aab95a Author: dyahnax Date: Mon Jun 29 13:06:07 2026 +0700 first commit diff --git a/smart_cycling/.gitattributes b/smart_cycling/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/smart_cycling/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/smart_cycling/.gitignore b/smart_cycling/.gitignore new file mode 100644 index 0000000..39b8814 --- /dev/null +++ b/smart_cycling/.gitignore @@ -0,0 +1,119 @@ +# Miscellaneous +*.class +*.lock +*.log +*.pyc +*.swp +.buildlog/ +.history + + + +# Flutter repo-specific +/bin/cache/ +/bin/internal/bootstrap.bat +/bin/internal/bootstrap.sh +/bin/mingit/ +/dev/benchmarks/mega_gallery/ +/dev/bots/.recipe_deps +/dev/bots/android_tools/ +/dev/devicelab/ABresults*.json +/dev/docs/doc/ +/dev/docs/flutter.docs.zip +/dev/docs/lib/ +/dev/docs/pubspec.yaml +/dev/integration_tests/**/xcuserdata +/dev/integration_tests/**/Pods +/packages/flutter/coverage/ +version +analysis_benchmark.json + +# packages file containing multi-root paths +.packages.generated + +# Flutter/Dart/Pub related +**/doc/api/ +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +**/generated_plugin_registrant.dart +.packages +.pub-preload-cache/ +.pub/ +build/ +flutter_*.png +linked_*.ds +unlinked.ds +unlinked_spec.ds + +# Android related +**/android/**/gradle-wrapper.jar +.gradle/ +**/android/captures/ +**/android/gradlew +**/android/gradlew.bat +**/android/local.properties +**/android/**/GeneratedPluginRegistrant.java +**/android/key.properties +*.jks + +# iOS/XCode related +**/ios/**/*.mode1v3 +**/ios/**/*.mode2v3 +**/ios/**/*.moved-aside +**/ios/**/*.pbxuser +**/ios/**/*.perspectivev3 +**/ios/**/*sync/ +**/ios/**/.sconsign.dblite +**/ios/**/.tags* +**/ios/**/.vagrant/ +**/ios/**/DerivedData/ +**/ios/**/Icon? +**/ios/**/Pods/ +**/ios/**/.symlinks/ +**/ios/**/profile +**/ios/**/xcuserdata +**/ios/.generated/ +**/ios/Flutter/.last_build_id +**/ios/Flutter/App.framework +**/ios/Flutter/Flutter.framework +**/ios/Flutter/Flutter.podspec +**/ios/Flutter/Generated.xcconfig +**/ios/Flutter/ephemeral +**/ios/Flutter/app.flx +**/ios/Flutter/app.zip +**/ios/Flutter/flutter_assets/ +**/ios/Flutter/flutter_export_environment.sh +**/ios/ServiceDefinitions.json +**/ios/Runner/GeneratedPluginRegistrant.* + +# macOS +**/Flutter/ephemeral/ +**/Pods/ +**/macos/Flutter/GeneratedPluginRegistrant.swift +**/macos/Flutter/ephemeral +**/xcuserdata/ + +# Windows +**/windows/flutter/generated_plugin_registrant.cc +**/windows/flutter/generated_plugin_registrant.h +**/windows/flutter/generated_plugins.cmake + +# Linux +**/linux/flutter/generated_plugin_registrant.cc +**/linux/flutter/generated_plugin_registrant.h +**/linux/flutter/generated_plugins.cmake + +# Coverage +coverage/ + +# Symbols +app.*.symbols + +# Exceptions to above rules. +!**/ios/**/default.mode1v3 +!**/ios/**/default.mode2v3 +!**/ios/**/default.pbxuser +!**/ios/**/default.perspectivev3 +!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages +!/dev/ci/**/Gemfile.lock \ No newline at end of file diff --git a/smart_cycling/.idea/libraries/Dart_SDK.xml b/smart_cycling/.idea/libraries/Dart_SDK.xml new file mode 100644 index 0000000..333a382 --- /dev/null +++ b/smart_cycling/.idea/libraries/Dart_SDK.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/smart_cycling/.idea/libraries/KotlinJavaRuntime.xml b/smart_cycling/.idea/libraries/KotlinJavaRuntime.xml new file mode 100644 index 0000000..2b96ac4 --- /dev/null +++ b/smart_cycling/.idea/libraries/KotlinJavaRuntime.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/smart_cycling/.idea/modules.xml b/smart_cycling/.idea/modules.xml new file mode 100644 index 0000000..3904121 --- /dev/null +++ b/smart_cycling/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/smart_cycling/.idea/runConfigurations/main_dart.xml b/smart_cycling/.idea/runConfigurations/main_dart.xml new file mode 100644 index 0000000..aab7b5c --- /dev/null +++ b/smart_cycling/.idea/runConfigurations/main_dart.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/smart_cycling/.idea/workspace.xml b/smart_cycling/.idea/workspace.xml new file mode 100644 index 0000000..5b3388c --- /dev/null +++ b/smart_cycling/.idea/workspace.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/smart_cycling/.metadata b/smart_cycling/.metadata new file mode 100644 index 0000000..1f19d86 --- /dev/null +++ b/smart_cycling/.metadata @@ -0,0 +1,45 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled and should not be manually edited. + +version: + revision: "c519ee916eaeb88923e67befb89c0f1dabfa83e6" + channel: "stable" + +project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: c519ee916eaeb88923e67befb89c0f1dabfa83e6 + base_revision: c519ee916eaeb88923e67befb89c0f1dabfa83e6 + - platform: android + create_revision: c519ee916eaeb88923e67befb89c0f1dabfa83e6 + base_revision: c519ee916eaeb88923e67befb89c0f1dabfa83e6 + - platform: ios + create_revision: c519ee916eaeb88923e67befb89c0f1dabfa83e6 + base_revision: c519ee916eaeb88923e67befb89c0f1dabfa83e6 + - platform: linux + create_revision: c519ee916eaeb88923e67befb89c0f1dabfa83e6 + base_revision: c519ee916eaeb88923e67befb89c0f1dabfa83e6 + - platform: macos + create_revision: c519ee916eaeb88923e67befb89c0f1dabfa83e6 + base_revision: c519ee916eaeb88923e67befb89c0f1dabfa83e6 + - platform: web + create_revision: c519ee916eaeb88923e67befb89c0f1dabfa83e6 + base_revision: c519ee916eaeb88923e67befb89c0f1dabfa83e6 + - platform: windows + create_revision: c519ee916eaeb88923e67befb89c0f1dabfa83e6 + base_revision: c519ee916eaeb88923e67befb89c0f1dabfa83e6 + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/smart_cycling/.vscode/launch.json b/smart_cycling/.vscode/launch.json new file mode 100644 index 0000000..092bd5b --- /dev/null +++ b/smart_cycling/.vscode/launch.json @@ -0,0 +1,13 @@ +{ + "version": "0.2.0", + "configurations": [ + + { + "name": "Launch Chrome with API", + "request": "launch", + "type": "chrome", + "url": "http://localhost/smart_cycling_api", + "webRoot": "${workspaceFolder}" + } + ] +} \ No newline at end of file diff --git a/smart_cycling/.vscode/settings.json b/smart_cycling/.vscode/settings.json new file mode 100644 index 0000000..7b016a8 --- /dev/null +++ b/smart_cycling/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "java.compile.nullAnalysis.mode": "automatic" +} \ No newline at end of file diff --git a/smart_cycling/README.md b/smart_cycling/README.md new file mode 100644 index 0000000..c0cae6c --- /dev/null +++ b/smart_cycling/README.md @@ -0,0 +1,2 @@ +# smart_cycling +Aplikasi Rekomendasi Rute Bersepeda Menggunakan Metode SAW diff --git a/smart_cycling/TODO.md b/smart_cycling/TODO.md new file mode 100644 index 0000000..2186611 --- /dev/null +++ b/smart_cycling/TODO.md @@ -0,0 +1,24 @@ +# TODO: Fix Koneksi API Laragon di Android Flutter + +## Status: Testing Phase + +### Step 1: [DONE] Analyze & Plan (api_config.dart IP=192.168.1.7) +### Step 2: [DONE] Update api_config.dart (IP updated + debug print URL) +### Step 3: [DONE] Flutter clean & pub get + +### Step 4: [CURRENT] Test & Verify: +- Install/run Android emulator via Android Studio/AVD Manager +- Start Laragon (Apache + MySQL running?) +- Run `flutter run -d android` +- **Cek console Flutter**: Cari "API Base URL: android-emulator -> http://10.0.2.2/..." +- Test login screen - lihat error/snackbar + network log +- Jika masih fail: Coba IP alternatif 192.168.1.7 di config untuk device fisik + +### Step 5: [PENDING] Confirm success & cleanup debug code + +**Instructions:** +1. Jalankan `flutter devices` untuk lihat available devices/emulator +2. Start emulator jika belum +4. Share console output/error dari login attempt! + +Updated files ready. Test sekarang & beri hasil untuk langkah berikutnya. diff --git a/smart_cycling/analysis_options.yaml b/smart_cycling/analysis_options.yaml new file mode 100644 index 0000000..0a23a48 --- /dev/null +++ b/smart_cycling/analysis_options.yaml @@ -0,0 +1,31 @@ +# This file configures the analyzer, which statically analyzes Dart code to +# check for errors, warnings, and lints. +# +# The issues identified by the analyzer are surfaced in the UI of Dart-enabled +# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be +# invoked from the command line by running `flutter analyze`. + +# The following line activates a set of recommended lints for Flutter apps, +# packages, and plugins designed to encourage good coding practices. +analyzer: + errors: + depend_on_referenced_packages: ignore +include: package:flutter_lints/flutter.yaml + +linter: + # The lint rules applied to this project can be customized in the + # section below to disable rules from the `package:flutter_lints/flutter.yaml` + # included above or to enable additional rules. A list of all available lints + # and their documentation is published at https://dart.dev/lints. + # + # Instead of disabling a lint rule for the entire project in the + # section below, it can also be suppressed for a single line of code + # or a specific dart file by using the `// ignore: name_of_lint` and + # `// ignore_for_file: name_of_lint` syntax on the line or in the file + # producing the lint. + rules: + # avoid_print: false # Uncomment to disable the `avoid_print` rule + # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options diff --git a/smart_cycling/analysis_results.txt b/smart_cycling/analysis_results.txt new file mode 100644 index 0000000..e1d61b8 Binary files /dev/null and b/smart_cycling/analysis_results.txt differ diff --git a/smart_cycling/analyze_new.txt b/smart_cycling/analyze_new.txt new file mode 100644 index 0000000..f030812 Binary files /dev/null and b/smart_cycling/analyze_new.txt differ diff --git a/smart_cycling/analyze_out.txt b/smart_cycling/analyze_out.txt new file mode 100644 index 0000000..8f93a6a Binary files /dev/null and b/smart_cycling/analyze_out.txt differ diff --git a/smart_cycling/android/.gitignore b/smart_cycling/android/.gitignore new file mode 100644 index 0000000..55afd91 --- /dev/null +++ b/smart_cycling/android/.gitignore @@ -0,0 +1,13 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java + +# Remember to never publicly share your keystore. +# See https://flutter.dev/to/reference-keystore +key.properties +**/*.keystore +**/*.jks diff --git a/smart_cycling/android/app/build.gradle b/smart_cycling/android/app/build.gradle new file mode 100644 index 0000000..1e302ee --- /dev/null +++ b/smart_cycling/android/app/build.gradle @@ -0,0 +1,44 @@ +plugins { + id "com.android.application" + id "kotlin-android" + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. + id "dev.flutter.flutter-gradle-plugin" +} + +android { + namespace = "com.example.flutter_application_1" + compileSdk = 35 + ndkVersion = flutter.ndkVersion + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } + + kotlinOptions { + jvmTarget = "11" + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId = "com.example.flutter_application_1" + // You can update the following values to match your application needs. + // For more information, see: https://flutter.dev/to/review-gradle-config. + minSdk = 24 + targetSdk = flutter.targetSdkVersion + versionCode = flutter.versionCode + versionName = flutter.versionName + } + + buildTypes { + release { + // TODO: Add your own signing config for the release build. + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig = signingConfigs.debug + } + } +} + +flutter { + source = "../.." +} diff --git a/smart_cycling/android/app/src/debug/AndroidManifest.xml b/smart_cycling/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..399f698 --- /dev/null +++ b/smart_cycling/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/smart_cycling/android/app/src/main/AndroidManifest.xml b/smart_cycling/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..a9eb127 --- /dev/null +++ b/smart_cycling/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/smart_cycling/android/app/src/main/kotlin/com/example/flutter_application_1/MainActivity.kt b/smart_cycling/android/app/src/main/kotlin/com/example/flutter_application_1/MainActivity.kt new file mode 100644 index 0000000..7751704 --- /dev/null +++ b/smart_cycling/android/app/src/main/kotlin/com/example/flutter_application_1/MainActivity.kt @@ -0,0 +1,5 @@ +package com.example.flutter_application_1 + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() diff --git a/smart_cycling/android/app/src/main/res/drawable-v21/launch_background.xml b/smart_cycling/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 0000000..f74085f --- /dev/null +++ b/smart_cycling/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/smart_cycling/android/app/src/main/res/drawable/launch_background.xml b/smart_cycling/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 0000000..304732f --- /dev/null +++ b/smart_cycling/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/smart_cycling/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/smart_cycling/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000..db77bb4 Binary files /dev/null and b/smart_cycling/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ diff --git a/smart_cycling/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/smart_cycling/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000..17987b7 Binary files /dev/null and b/smart_cycling/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ diff --git a/smart_cycling/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/smart_cycling/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000..09d4391 Binary files /dev/null and b/smart_cycling/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/smart_cycling/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/smart_cycling/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000..d5f1c8d Binary files /dev/null and b/smart_cycling/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/smart_cycling/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/smart_cycling/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000..4d6372e Binary files /dev/null and b/smart_cycling/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/smart_cycling/android/app/src/main/res/values-night/styles.xml b/smart_cycling/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 0000000..06952be --- /dev/null +++ b/smart_cycling/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/smart_cycling/android/app/src/main/res/values/styles.xml b/smart_cycling/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..cb1ef88 --- /dev/null +++ b/smart_cycling/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/smart_cycling/android/app/src/profile/AndroidManifest.xml b/smart_cycling/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 0000000..399f698 --- /dev/null +++ b/smart_cycling/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/smart_cycling/android/build.gradle b/smart_cycling/android/build.gradle new file mode 100644 index 0000000..d2ffbff --- /dev/null +++ b/smart_cycling/android/build.gradle @@ -0,0 +1,18 @@ +allprojects { + repositories { + google() + mavenCentral() + } +} + +rootProject.buildDir = "../build" +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" +} +subprojects { + project.evaluationDependsOn(":app") +} + +tasks.register("clean", Delete) { + delete rootProject.buildDir +} diff --git a/smart_cycling/android/flutter_application_1_android.iml b/smart_cycling/android/flutter_application_1_android.iml new file mode 100644 index 0000000..1899969 --- /dev/null +++ b/smart_cycling/android/flutter_application_1_android.iml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/smart_cycling/android/gradle.properties b/smart_cycling/android/gradle.properties new file mode 100644 index 0000000..2597170 --- /dev/null +++ b/smart_cycling/android/gradle.properties @@ -0,0 +1,3 @@ +org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError +android.useAndroidX=true +android.enableJetifier=true diff --git a/smart_cycling/android/gradle/wrapper/gradle-wrapper.properties b/smart_cycling/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..3c85cfe --- /dev/null +++ b/smart_cycling/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip diff --git a/smart_cycling/android/settings.gradle b/smart_cycling/android/settings.gradle new file mode 100644 index 0000000..1c5d14b --- /dev/null +++ b/smart_cycling/android/settings.gradle @@ -0,0 +1,25 @@ +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + }() + + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") + + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} + +plugins { + id "dev.flutter.flutter-plugin-loader" version "1.0.0" + id "com.android.application" version "8.5.1" apply false + id "org.jetbrains.kotlin.android" version "1.9.24" apply false +} + +include ":app" diff --git a/smart_cycling/assets/images/cyclist.png b/smart_cycling/assets/images/cyclist.png new file mode 100644 index 0000000..883a3ac Binary files /dev/null and b/smart_cycling/assets/images/cyclist.png differ diff --git a/smart_cycling/assets/images/green_double_circle_check_mark-Photoroom.png b/smart_cycling/assets/images/green_double_circle_check_mark-Photoroom.png new file mode 100644 index 0000000..9927b12 Binary files /dev/null and b/smart_cycling/assets/images/green_double_circle_check_mark-Photoroom.png differ diff --git a/smart_cycling/flutter_application_1.iml b/smart_cycling/flutter_application_1.iml new file mode 100644 index 0000000..f66303d --- /dev/null +++ b/smart_cycling/flutter_application_1.iml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/smart_cycling/ios/.gitignore b/smart_cycling/ios/.gitignore new file mode 100644 index 0000000..7a7f987 --- /dev/null +++ b/smart_cycling/ios/.gitignore @@ -0,0 +1,34 @@ +**/dgph +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/ephemeral/ +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 diff --git a/smart_cycling/ios/Flutter/AppFrameworkInfo.plist b/smart_cycling/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 0000000..7c56964 --- /dev/null +++ b/smart_cycling/ios/Flutter/AppFrameworkInfo.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 12.0 + + diff --git a/smart_cycling/ios/Flutter/Debug.xcconfig b/smart_cycling/ios/Flutter/Debug.xcconfig new file mode 100644 index 0000000..592ceee --- /dev/null +++ b/smart_cycling/ios/Flutter/Debug.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/smart_cycling/ios/Flutter/Release.xcconfig b/smart_cycling/ios/Flutter/Release.xcconfig new file mode 100644 index 0000000..592ceee --- /dev/null +++ b/smart_cycling/ios/Flutter/Release.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/smart_cycling/ios/Runner.xcodeproj/project.pbxproj b/smart_cycling/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..6669684 --- /dev/null +++ b/smart_cycling/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,616 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 97C146E61CF9000F007C117D /* Project object */; + proxyType = 1; + remoteGlobalIDString = 97C146ED1CF9000F007C117D; + remoteInfo = Runner; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 9705A1C41CF9048500538489 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; + 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; + 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 331C8082294A63A400263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C807B294A618700263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 9740EEB11CF90186004384FC /* Flutter */ = { + isa = PBXGroup; + children = ( + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 9740EEB31CF90195004384FC /* Generated.xcconfig */, + ); + name = Flutter; + sourceTree = ""; + }; + 97C146E51CF9000F007C117D = { + isa = PBXGroup; + children = ( + 9740EEB11CF90186004384FC /* Flutter */, + 97C146F01CF9000F007C117D /* Runner */, + 97C146EF1CF9000F007C117D /* Products */, + 331C8082294A63A400263BE5 /* RunnerTests */, + ); + sourceTree = ""; + }; + 97C146EF1CF9000F007C117D /* Products */ = { + isa = PBXGroup; + children = ( + 97C146EE1CF9000F007C117D /* Runner.app */, + 331C8081294A63A400263BE5 /* RunnerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 97C146F01CF9000F007C117D /* Runner */ = { + isa = PBXGroup; + children = ( + 97C146FA1CF9000F007C117D /* Main.storyboard */, + 97C146FD1CF9000F007C117D /* Assets.xcassets */, + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, + 97C147021CF9000F007C117D /* Info.plist */, + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, + ); + path = Runner; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 331C8080294A63A400263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 331C807D294A63A400263BE5 /* Sources */, + 331C807F294A63A400263BE5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 331C8086294A63A400263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 97C146EC1CF9000F007C117D /* Resources */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Runner; + productName = Runner; + productReference = 97C146EE1CF9000F007C117D /* Runner.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 97C146E61CF9000F007C117D /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1510; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 331C8080294A63A400263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 97C146ED1CF9000F007C117D; + }; + 97C146ED1CF9000F007C117D = { + CreatedOnToolsVersion = 7.3.1; + LastSwiftMigration = 1100; + }; + }; + }; + buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 97C146E51CF9000F007C117D; + productRefGroup = 97C146EF1CF9000F007C117D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97C146ED1CF9000F007C117D /* Runner */, + 331C8080294A63A400263BE5 /* RunnerTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 331C807F294A63A400263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EC1CF9000F007C117D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + ); + name = "Thin Binary"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C807D294A63A400263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EA1CF9000F007C117D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 331C8086294A63A400263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 97C146ED1CF9000F007C117D /* Runner */; + targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 97C146FA1CF9000F007C117D /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C146FB1CF9000F007C117D /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C147001CF9000F007C117D /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 249021D3217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Profile; + }; + 249021D4217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.flutterApplication1; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Profile; + }; + 331C8088294A63A400263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.flutterApplication1.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Debug; + }; + 331C8089294A63A400263BE5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.flutterApplication1.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Release; + }; + 331C808A294A63A400263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.flutterApplication1.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Profile; + }; + 97C147031CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 97C147041CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 97C147061CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.flutterApplication1; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 97C147071CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.flutterApplication1; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C8088294A63A400263BE5 /* Debug */, + 331C8089294A63A400263BE5 /* Release */, + 331C808A294A63A400263BE5 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147031CF9000F007C117D /* Debug */, + 97C147041CF9000F007C117D /* Release */, + 249021D3217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147061CF9000F007C117D /* Debug */, + 97C147071CF9000F007C117D /* Release */, + 249021D4217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 97C146E61CF9000F007C117D /* Project object */; +} diff --git a/smart_cycling/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/smart_cycling/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/smart_cycling/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/smart_cycling/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/smart_cycling/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/smart_cycling/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/smart_cycling/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/smart_cycling/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/smart_cycling/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/smart_cycling/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/smart_cycling/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..8e3ca5d --- /dev/null +++ b/smart_cycling/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/smart_cycling/ios/Runner.xcworkspace/contents.xcworkspacedata b/smart_cycling/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/smart_cycling/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/smart_cycling/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/smart_cycling/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/smart_cycling/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/smart_cycling/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/smart_cycling/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/smart_cycling/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/smart_cycling/ios/Runner/AppDelegate.swift b/smart_cycling/ios/Runner/AppDelegate.swift new file mode 100644 index 0000000..6266644 --- /dev/null +++ b/smart_cycling/ios/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import Flutter +import UIKit + +@main +@objc class AppDelegate: FlutterAppDelegate { + override func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { + GeneratedPluginRegistrant.register(with: self) + return super.application(application, didFinishLaunchingWithOptions: launchOptions) + } +} diff --git a/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..d36b1fa --- /dev/null +++ b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ + "images" : [ + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@3x.png", + "scale" : "3x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@1x.png", + "scale" : "1x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@1x.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@1x.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "Icon-App-83.5x83.5@2x.png", + "scale" : "2x" + }, + { + "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "Icon-App-1024x1024@1x.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000..dc9ada4 Binary files /dev/null and b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png differ diff --git a/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png new file mode 100644 index 0000000..7353c41 Binary files /dev/null and b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png differ diff --git a/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png new file mode 100644 index 0000000..797d452 Binary files /dev/null and b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png differ diff --git a/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000..6ed2d93 Binary files /dev/null and b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png differ diff --git a/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png new file mode 100644 index 0000000..4cd7b00 Binary files /dev/null and b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png differ diff --git a/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 0000000..fe73094 Binary files /dev/null and b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png differ diff --git a/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png new file mode 100644 index 0000000..321773c Binary files /dev/null and b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png differ diff --git a/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png new file mode 100644 index 0000000..797d452 Binary files /dev/null and b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png differ diff --git a/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000..502f463 Binary files /dev/null and b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png differ diff --git a/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png new file mode 100644 index 0000000..0ec3034 Binary files /dev/null and b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png differ diff --git a/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000..0ec3034 Binary files /dev/null and b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png differ diff --git a/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000..e9f5fea Binary files /dev/null and b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png differ diff --git a/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png new file mode 100644 index 0000000..84ac32a Binary files /dev/null and b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png differ diff --git a/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png new file mode 100644 index 0000000..8953cba Binary files /dev/null and b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png differ diff --git a/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png new file mode 100644 index 0000000..0467bf1 Binary files /dev/null and b/smart_cycling/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png differ diff --git a/smart_cycling/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/smart_cycling/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json new file mode 100644 index 0000000..0bedcf2 --- /dev/null +++ b/smart_cycling/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "LaunchImage.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/smart_cycling/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/smart_cycling/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png new file mode 100644 index 0000000..9da19ea Binary files /dev/null and b/smart_cycling/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png differ diff --git a/smart_cycling/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/smart_cycling/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 0000000..9da19ea Binary files /dev/null and b/smart_cycling/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png differ diff --git a/smart_cycling/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/smart_cycling/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 0000000..9da19ea Binary files /dev/null and b/smart_cycling/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png differ diff --git a/smart_cycling/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/smart_cycling/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 0000000..89c2725 --- /dev/null +++ b/smart_cycling/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md @@ -0,0 +1,5 @@ +# Launch Screen Assets + +You can customize the launch screen with your own desired assets by replacing the image files in this directory. + +You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/smart_cycling/ios/Runner/Base.lproj/LaunchScreen.storyboard b/smart_cycling/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..f2e259c --- /dev/null +++ b/smart_cycling/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/smart_cycling/ios/Runner/Base.lproj/Main.storyboard b/smart_cycling/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 0000000..f3c2851 --- /dev/null +++ b/smart_cycling/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/smart_cycling/ios/Runner/Info.plist b/smart_cycling/ios/Runner/Info.plist new file mode 100644 index 0000000..6dc955a --- /dev/null +++ b/smart_cycling/ios/Runner/Info.plist @@ -0,0 +1,49 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Flutter Application 1 + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + flutter_application_1 + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + CADisableMinimumFrameDurationOnPhone + + UIApplicationSupportsIndirectInputEvents + + + diff --git a/smart_cycling/ios/Runner/Runner-Bridging-Header.h b/smart_cycling/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 0000000..308a2a5 --- /dev/null +++ b/smart_cycling/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/smart_cycling/ios/RunnerTests/RunnerTests.swift b/smart_cycling/ios/RunnerTests/RunnerTests.swift new file mode 100644 index 0000000..86a7c3b --- /dev/null +++ b/smart_cycling/ios/RunnerTests/RunnerTests.swift @@ -0,0 +1,12 @@ +import Flutter +import UIKit +import XCTest + +class RunnerTests: XCTestCase { + + func testExample() { + // If you add code to the Runner application, consider adding tests here. + // See https://developer.apple.com/documentation/xctest for more information about using XCTest. + } + +} diff --git a/smart_cycling/lib/main.dart b/smart_cycling/lib/main.dart new file mode 100644 index 0000000..9cb16dc --- /dev/null +++ b/smart_cycling/lib/main.dart @@ -0,0 +1,109 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:device_preview/device_preview.dart'; +import 'dart:convert'; // Untuk mengubah Map ke String +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:smart_cycling/screens/home_screen.dart'; +import 'package:smart_cycling/screens/login_screen.dart'; +import 'package:smart_cycling/screens/register_screen.dart'; +import 'package:smart_cycling/screens/splash_screen.dart'; +import 'package:smart_cycling/screens/success_screen.dart'; +import 'package:smart_cycling/screens/welcome_screen.dart'; +import 'package:smart_cycling/screens/edit_profile_screen.dart'; + +// Variabel database tetap global +Map userDatabase = {'admin': '12345'}; + +// Fungsi untuk menyimpan database ke penyimpanan lokal +Future saveUserDatabase() async { + final prefs = await SharedPreferences.getInstance(); + String encodedData = jsonEncode(userDatabase); // Ubah Map ke teks JSON + await prefs.setString('local_users', encodedData); +} + +// Fungsi untuk mengambil database dari penyimpanan lokal saat aplikasi dibuka +Future loadUserDatabase() async { + final prefs = await SharedPreferences.getInstance(); + String? encodedData = prefs.getString('local_users'); + if (encodedData != null) { + userDatabase = Map.from(jsonDecode(encodedData)); + } +} + +void main() async { + // Pastikan sistem Flutter siap sebelum memuat data + WidgetsFlutterBinding.ensureInitialized(); + await loadUserDatabase(); // Ambil data lama sebelum aplikasi jalan + runApp( + DevicePreview( + enabled: !kReleaseMode, + builder: (context) => const MyApp(), + ), + ); +} + +// State Global untuk Dark Mode +final ValueNotifier themeNotifier = ValueNotifier(ThemeMode.light); + +class MyApp extends StatelessWidget { + const MyApp({super.key}); + + @override + Widget build(BuildContext context) { + return ValueListenableBuilder( + valueListenable: themeNotifier, + builder: (_, ThemeMode currentMode, __) { + return MaterialApp( + locale: DevicePreview.locale(context), + builder: DevicePreview.appBuilder, + title: 'Smart Cycling', + themeMode: currentMode, + // Tema Terang + theme: ThemeData( + scaffoldBackgroundColor: const Color(0xFFF8FAFC), + fontFamily: 'Poppins', + colorScheme: ColorScheme.fromSeed( + seedColor: Colors.blue, + brightness: Brightness.light, + ), + useMaterial3: true, + appBarTheme: const AppBarTheme( + backgroundColor: Colors.transparent, + elevation: 0, + iconTheme: IconThemeData(color: Colors.black), + titleTextStyle: TextStyle(color: Colors.black, fontSize: 20, fontWeight: FontWeight.bold, fontFamily: 'Poppins'), + ), + ), + // Tema Gelap + darkTheme: ThemeData( + scaffoldBackgroundColor: const Color(0xFF121212), + fontFamily: 'Poppins', + colorScheme: ColorScheme.fromSeed( + seedColor: Colors.blue, + brightness: Brightness.dark, + surface: const Color(0xFF1E1E1E), + ), + useMaterial3: true, + appBarTheme: const AppBarTheme( + backgroundColor: Colors.transparent, + elevation: 0, + iconTheme: IconThemeData(color: Colors.white), + titleTextStyle: TextStyle(color: Colors.white, fontSize: 20, fontWeight: FontWeight.bold, fontFamily: 'Poppins'), + ), + ), + debugShowCheckedModeBanner: false, + initialRoute: '/splash', + routes: { + '/splash': (context) => const SplashScreen(), + '/welcome': (context) => const WelcomeScreen(), + '/login': (context) => const LoginScreen(), + '/register': (context) => const RegisterScreen(), + '/success': (context) => const SuccessScreen(), + '/home': (context) => const HomeScreen(), + '/edit_profile': (context) => const EditProfileScreen(), + }, + ); + }, + ); + } +} \ No newline at end of file diff --git a/smart_cycling/lib/screens/edit_profile_screen.dart b/smart_cycling/lib/screens/edit_profile_screen.dart new file mode 100644 index 0000000..c293128 --- /dev/null +++ b/smart_cycling/lib/screens/edit_profile_screen.dart @@ -0,0 +1,271 @@ +import 'dart:ui'; +import 'dart:convert'; +import 'package:flutter/material.dart'; +import 'package:http/http.dart' as http; +import '../utils/api_config.dart'; +import '../utils/session_manager.dart'; + +class EditProfileScreen extends StatefulWidget { + const EditProfileScreen({super.key}); + + @override + State createState() => _EditProfileScreenState(); +} + +class _EditProfileScreenState extends State { + final _formKey = GlobalKey(); + + late TextEditingController _nameController; + late TextEditingController _usernameController; + final TextEditingController _passwordController = TextEditingController(); + final TextEditingController _confirmPasswordController = TextEditingController(); + + bool _isLoading = false; + + @override + void initState() { + super.initState(); + _nameController = TextEditingController(text: SessionManager.userName); + _usernameController = TextEditingController(text: SessionManager.userEmail); + } + + Future _updateProfile() async { + // 1. Validasi Dasar + if (!_formKey.currentState!.validate()) return; + + // 2. Cek apakah ada perubahan + bool isNameChanged = _nameController.text != SessionManager.userName; + bool isUsernameChanged = _usernameController.text != SessionManager.userEmail; + bool isPasswordChanged = _passwordController.text.isNotEmpty; + + if (!isNameChanged && !isUsernameChanged && !isPasswordChanged) { + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar(content: Text("Tidak ada perubahan yang dilakukan.")), + ); + return; + } + + // 3. Validasi Password + if (isPasswordChanged) { + if (_passwordController.text != _confirmPasswordController.text) { + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar(content: Text("Konfirmasi password tidak cocok!")), + ); + return; + } + if (_passwordController.text.length < 5) { + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar(content: Text("Password minimal 5 karakter!")), + ); + return; + } + } + + setState(() => _isLoading = true); + + try { + final response = await http.post( + Uri.parse("${ApiConfig.baseUrl}/edit_profile.php"), + body: { + 'id_users': SessionManager.userId.toString(), + 'nama': _nameController.text, + 'username': _usernameController.text, + 'password': _passwordController.text, + }, + ); + + final data = jsonDecode(response.body); + + if (data['status'] == 'success') { + SessionManager.saveSession( + SessionManager.userId!, + _nameController.text, + _usernameController.text, + SessionManager.userPhoto, + ); + + if (mounted) { + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar(content: Text("Profil berhasil diperbarui!")), + ); + Navigator.pop(context, true); + } + } else { + if (mounted) { + ScaffoldMessenger.of(context).showSnackBar( + SnackBar(content: Text(data['message'] ?? "Terjadi kesalahan")), + ); + } + } + } catch (e) { + if (mounted) { + ScaffoldMessenger.of(context).showSnackBar( + SnackBar(content: Text("Tidak terhubung ke server: $e")), + ); + } + } + + if (mounted) setState(() => _isLoading = false); + } + + @override + Widget build(BuildContext context) { + final isDark = Theme.of(context).brightness == Brightness.dark; + + return Scaffold( + // Latar belakang gradien agar efek kaca terlihat nyata + body: Container( + width: double.infinity, + height: double.infinity, + decoration: const BoxDecoration( + gradient: LinearGradient( + colors: [Color(0xFF3949AB), Color(0xFF00BCD4)], + begin: Alignment.topLeft, + end: Alignment.bottomRight, + ), + ), + child: Stack( + children: [ + SafeArea( + child: SingleChildScrollView( + padding: const EdgeInsets.symmetric(horizontal: 24.0, vertical: 20.0), + child: Column( + children: [ + const SizedBox(height: 20), + // Header Icon + Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: Colors.white.withOpacity(0.2), + shape: BoxShape.circle, + ), + child: const Icon(Icons.manage_accounts, size: 60, color: Colors.white), + ), + const SizedBox(height: 16), + const Text( + "Perbarui Profil", + style: TextStyle(fontSize: 26, fontWeight: FontWeight.bold, color: Colors.white), + ), + const Text( + "Kelola informasi akun Anda", + style: TextStyle(fontSize: 14, color: Colors.white70), + ), + const SizedBox(height: 40), + + // FORM DENGAN EFEK GLASSMORPHISM + ClipRRect( + borderRadius: BorderRadius.circular(30), + child: BackdropFilter( + filter: ImageFilter.blur(sigmaX: 15, sigmaY: 15), + child: Container( + padding: const EdgeInsets.all(28.0), + decoration: BoxDecoration( + color: isDark + ? Colors.black.withOpacity(0.3) + : Colors.white.withOpacity(0.2), + borderRadius: BorderRadius.circular(30), + border: Border.all(color: Colors.white.withOpacity(0.3), width: 1.5), + ), + child: Form( + key: _formKey, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildLabel("NAMA", isDark), + _buildTextField(_nameController, Icons.person_outline, "Nama Anda", isDark), + const SizedBox(height: 20), + + _buildLabel("USERNAME", isDark), + _buildTextField(_usernameController, Icons.alternate_email, "Username Anda", isDark), + const SizedBox(height: 20), + + _buildLabel("PASSWORD BARU", isDark), + _buildTextField(_passwordController, Icons.lock_outline, "Minimal 5 karakter", isDark, isPassword: true), + const SizedBox(height: 20), + + // KONFIRMASI PASSWORD (Tampil hanya jika password diisi) + _buildLabel("KONFIRMASI PASSWORD", isDark), + _buildTextField(_confirmPasswordController, Icons.lock_reset, "Ulangi password", isDark, isPassword: true), + + const SizedBox(height: 40), + + // TOMBOL SIMPAN (IKUT GLASS STYLE) + SizedBox( + width: double.infinity, + height: 55, + child: ElevatedButton( + onPressed: _isLoading ? null : _updateProfile, + style: ElevatedButton.styleFrom( + backgroundColor: Colors.white, + foregroundColor: const Color(0xFF3949AB), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(15)), + elevation: 0, + ), + child: _isLoading + ? const CircularProgressIndicator(color: Color(0xFF3949AB)) + : const Text( + "SIMPAN PERUBAHAN", + style: TextStyle(fontWeight: FontWeight.bold, letterSpacing: 1), + ), + ), + ), + ], + ), + ), + ), + ), + ), + const SizedBox(height: 40), + ], + ), + ), + ), + // Tombol Back Custom (Dipindah ke paling bawah agar di atas lapisan lain) + Positioned( + top: 50, + left: 20, + child: IconButton( + icon: const Icon(Icons.arrow_back_ios, color: Colors.white), + onPressed: () => Navigator.pop(context), + ), + ), + ], + ), + ), + ); + } + + Widget _buildLabel(String text, bool isDark) { + return Padding( + padding: const EdgeInsets.only(left: 4, bottom: 8), + child: Text( + text, + style: const TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Colors.white70, letterSpacing: 1.2), + ), + ); + } + + Widget _buildTextField(TextEditingController controller, IconData icon, String hint, bool isDark, {bool isPassword = false}) { + return TextFormField( + controller: controller, + obscureText: isPassword, + style: const TextStyle(color: Colors.white, fontWeight: FontWeight.w500), + decoration: InputDecoration( + hintText: hint, + hintStyle: TextStyle(color: Colors.white.withOpacity(0.4), fontSize: 14), + prefixIcon: Icon(icon, color: Colors.white70, size: 22), + filled: true, + fillColor: Colors.white.withOpacity(0.1), + contentPadding: const EdgeInsets.symmetric(vertical: 16, horizontal: 20), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(15), + borderSide: BorderSide(color: Colors.white.withOpacity(0.3)), + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(15), + borderSide: const BorderSide(color: Colors.white, width: 2), + ), + ), + ); + } +} \ No newline at end of file diff --git a/smart_cycling/lib/screens/history_detail_screen.dart b/smart_cycling/lib/screens/history_detail_screen.dart new file mode 100644 index 0000000..44df514 --- /dev/null +++ b/smart_cycling/lib/screens/history_detail_screen.dart @@ -0,0 +1,269 @@ +import 'package:flutter/material.dart'; +import 'package:intl/intl.dart'; +import '../widgets/responsive_layout.dart'; + +class HistoryDetailScreen extends StatelessWidget { + final Map historyItem; + + const HistoryDetailScreen({super.key, required this.historyItem}); + + String _formatTime(int seconds) { + bool isNegative = seconds < 0; + int absSecs = seconds.abs(); + int m = absSecs ~/ 60; + int s = absSecs % 60; + String result = "${m.toString().padLeft(2, '0')}:${s.toString().padLeft(2, '0')}"; + return isNegative ? "+$result" : result; + } + + String _formatDate(String dateStr) { + try { + DateTime dt = DateTime.parse(dateStr); + return DateFormat('dd MMMM yyyy, HH:mm', 'id_ID').format(dt); + } catch (e) { + return dateStr; + } + } + + @override + Widget build(BuildContext context) { + final isDark = Theme.of(context).brightness == Brightness.dark; + + // Parsing Data + double totalDistance = double.tryParse(historyItem['jarak'].toString().replaceAll(RegExp(r'[^0-9.]'), '')) ?? 0; + double traveledDistance = double.tryParse(historyItem['jarak_tempuh'].toString()) ?? 0; + double remainingDistance = totalDistance - traveledDistance; + if (remainingDistance < 0) remainingDistance = 0; + + int timeSpentSeconds = int.tryParse(historyItem['waktu_tempuh'].toString()) ?? 0; + int targetTimeSeconds = int.tryParse(historyItem['target_waktu'].toString()) ?? 0; + // Sisa waktu = Target - Terpakai. + // Jika positif (misal 10 - 8 = 2) -> Bagus. + // Jika negatif (misal 10 - 13 = -3) -> Telat, diformat jadi +03:00 di _formatTime. + int remainingTimeSeconds = targetTimeSeconds - timeSpentSeconds; + + String speed = historyItem['kecepatan_rata_rata']?.toString() ?? "0"; + String status = historyItem['status']?.toString().toUpperCase() ?? "GAGAL"; + bool isSuccess = status == "BERHASIL"; + + return ResponsiveLayout( + child: Scaffold( + extendBodyBehindAppBar: true, + backgroundColor: Colors.transparent, + appBar: AppBar( + title: const Text( + "Detail Perjalanan", + style: TextStyle(fontWeight: FontWeight.bold, color: Colors.white), + ), + centerTitle: true, + backgroundColor: Colors.transparent, + elevation: 0, + leading: IconButton( + icon: const Icon(Icons.arrow_back, color: Colors.white), + onPressed: () => Navigator.pop(context), + ), + ), + body: Container( + decoration: const BoxDecoration( + gradient: LinearGradient( + colors: [Color(0xFF1A237E), Color(0xFF121212)], + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + ), + ), + child: SafeArea( + child: SingleChildScrollView( + padding: const EdgeInsets.all(24.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + // CARD STATUS + Container( + padding: const EdgeInsets.all(24), + decoration: BoxDecoration( + gradient: LinearGradient( + colors: isSuccess + ? [const Color(0xFF11998e), const Color(0xFF38ef7d)] + : [const Color(0xFFcb2d3e), const Color(0xFFef473a)], + begin: Alignment.topLeft, + end: Alignment.bottomRight, + ), + borderRadius: BorderRadius.circular(20), + boxShadow: [ + BoxShadow( + color: (isSuccess ? Colors.green : Colors.red).withOpacity(0.3), + blurRadius: 10, + offset: const Offset(0, 5), + ) + ] + ), + child: Column( + children: [ + Icon( + isSuccess ? Icons.check_circle_outline : Icons.error_outline, + size: 64, + color: Colors.white, + ), + const SizedBox(height: 16), + Text( + isSuccess ? "MISI BERHASIL" : "MISI GAGAL", + style: const TextStyle( + color: Colors.white, + fontSize: 24, + fontWeight: FontWeight.bold, + letterSpacing: 1.2, + ), + ), + const SizedBox(height: 8), + Text( + _formatDate(historyItem['tanggal'] ?? ''), + style: const TextStyle( + color: Colors.white70, + fontSize: 14, + ), + ), + ], + ), + ), + const SizedBox(height: 24), + + // INFORMASI RUTE + _buildSectionHeader("Informasi Rute", isDark), + _buildDetailTile( + icon: Icons.directions_bike, + title: "Nama Rute", + value: historyItem['nama_rute'] ?? '-', + isDark: isDark, + ), + _buildDetailTile( + icon: Icons.straighten, + title: "Jarak Rute", + value: "${historyItem['jarak'] ?? '-'} Km", + isDark: isDark, + ), + _buildDetailTile( + icon: Icons.terrain, + title: "Kondisi Medan", + value: historyItem['kondisi_medan'] ?? '-', + isDark: isDark, + ), + _buildDetailTile( + icon: Icons.hourglass_top, + title: "Target Waktu Perjalanan", + value: targetTimeSeconds > 0 ? _formatTime(targetTimeSeconds) : "-", + isDark: isDark, + ), + const SizedBox(height: 24), + + // DETAIL METRIK + _buildSectionHeader("Metrik Perjalanan", isDark), + _buildDetailTile( + icon: Icons.straighten, + title: "Jarak yang ditempuh", + value: "${traveledDistance.toStringAsFixed(2)} km", + subtitle: "Sisa Jarak : ${remainingDistance.toStringAsFixed(2)} km", + isDark: isDark, + ), + _buildDetailTile( + icon: Icons.timer, + title: "Waktu yang ditempuh", + value: _formatTime(timeSpentSeconds), + subtitle: "Sisa Waktu : ${_formatTime(remainingTimeSeconds)}", + subtitleColor: remainingTimeSeconds < 0 ? Colors.redAccent : Colors.blueAccent, + isDark: isDark, + ), + _buildDetailTile( + icon: Icons.speed, + title: "Kecepatan Rata-rata", + value: "$speed km/jam", + isDark: isDark, + ), + ], + ), + ), + ), + ), + ), + ); + } + + Widget _buildSectionHeader(String title, bool isDark) { + return Padding( + padding: const EdgeInsets.only(bottom: 12.0, left: 4.0), + child: Text( + title, + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: Colors.white70, + ), + ), + ); + } + + Widget _buildDetailTile({ + required IconData icon, + required String title, + required String value, + String? subtitle, + Color? subtitleColor, + required bool isDark, + }) { + return Container( + margin: const EdgeInsets.only(bottom: 12), + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: Colors.white.withOpacity(0.05), + borderRadius: BorderRadius.circular(15), + border: Border.all(color: Colors.white.withOpacity(0.1)), + ), + child: Row( + children: [ + Container( + padding: const EdgeInsets.all(10), + decoration: BoxDecoration( + color: Colors.blueAccent.withOpacity(0.2), + shape: BoxShape.circle, + ), + child: Icon(icon, color: Colors.blueAccent, size: 24), + ), + const SizedBox(width: 16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + title, + style: const TextStyle( + fontSize: 13, + color: Colors.white54, + ), + ), + const SizedBox(height: 4), + Text( + value, + style: const TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: Colors.white, + ), + ), + if (subtitle != null) ...[ + const SizedBox(height: 4), + Text( + subtitle, + style: TextStyle( + fontSize: 13, + color: subtitleColor ?? Colors.blueAccent, + fontWeight: FontWeight.w500, + ), + ), + ] + ], + ), + ), + ], + ), + ); + } +} diff --git a/smart_cycling/lib/screens/history_screen.dart b/smart_cycling/lib/screens/history_screen.dart new file mode 100644 index 0000000..945ee36 --- /dev/null +++ b/smart_cycling/lib/screens/history_screen.dart @@ -0,0 +1,351 @@ +import 'dart:convert'; +import 'dart:ui'; +import 'package:flutter/material.dart'; +import 'package:intl/intl.dart'; +import '../utils/session_manager.dart'; +import 'package:http/http.dart' as http; +import '../utils/api_config.dart'; +import 'history_detail_screen.dart'; + +class HistoryScreen extends StatefulWidget { + const HistoryScreen({super.key}); + + @override + State createState() => _HistoryScreenState(); +} + +class _HistoryScreenState extends State { + List _history = []; + bool _isLoading = true; + bool _isSelectionMode = false; + final Set _selectedIds = {}; + + @override + void initState() { + super.initState(); + _loadHistory(); + } + + Future _loadHistory() async { + final url = Uri.parse("${ApiConfig.baseUrl}/get_history.php?id_users=${SessionManager.userId}"); + try { + final response = await http.get(url); + if (response.statusCode == 200) { + List decodedHistory = jsonDecode(response.body); + setState(() { + _history = decodedHistory; + _isLoading = false; + }); + } + } catch (e) { + debugPrint("Gagal memuat data riwayat dari server: $e"); + setState(() { + _isLoading = false; + }); + } + } + + Future _clearHistory() async { + final url = Uri.parse("${ApiConfig.baseUrl}/clear_history.php"); + try { + final response = await http.post(url, body: { + 'id_users': SessionManager.userId.toString(), + }); + if (response.statusCode == 200) { + _loadHistory(); + } + } catch (e) { + debugPrint("Gagal menghapus data riwayat di server: $e"); + } + } + + Future _deleteHistoryItem(dynamic id) async { + final url = Uri.parse("${ApiConfig.baseUrl}/delete_history_item.php"); + try { + final response = await http.post(url, body: { + 'id': id.toString(), + }); + if (response.statusCode == 200) { + _loadHistory(); + } + } catch (e) { + debugPrint("Gagal menghapus item riwayat: $e"); + } + } + + Future _deleteSelectedItems() async { + if (_selectedIds.isEmpty) return; + + final url = Uri.parse("${ApiConfig.baseUrl}/delete_history_item.php"); + try { + // Loop delete sequentially for now as the API expects single ID + // Alternatively, update API to accept multiple IDs + for (var id in _selectedIds) { + await http.post(url, body: { + 'id': id.toString(), + }); + } + setState(() { + _selectedIds.clear(); + _isSelectionMode = false; + }); + _loadHistory(); + } catch (e) { + debugPrint("Gagal menghapus beberapa item riwayat: $e"); + } + } + + String _formatDuration(dynamic seconds) { + if (seconds == null) return "-"; + int secs = int.tryParse(seconds.toString()) ?? 0; + if (secs <= 0) return "0 mnt"; + int m = secs ~/ 60; + if (m >= 60) { + int h = m ~/ 60; + int remainingM = m % 60; + return "$h jam $remainingM mnt"; + } + return "$m mnt"; + } + + @override + Widget build(BuildContext context) { + return Scaffold( + extendBodyBehindAppBar: true, + appBar: AppBar( + automaticallyImplyLeading: !_isSelectionMode, + title: Text(_isSelectionMode ? "${_selectedIds.length} Terpilih" : "Riwayat Gowes", + style: const TextStyle(color: Colors.white, fontWeight: FontWeight.bold)), + centerTitle: true, + backgroundColor: _isSelectionMode ? Colors.redAccent.withOpacity(0.8) : Colors.transparent, + elevation: 0, + leading: _isSelectionMode ? IconButton( + icon: const Icon(Icons.close, color: Colors.white), + onPressed: () { + setState(() { + _isSelectionMode = false; + _selectedIds.clear(); + }); + }, + ) : null, + actions: [ + if (_history.isNotEmpty) + _isSelectionMode + ? IconButton( + icon: const Icon(Icons.delete, color: Colors.white), + onPressed: _selectedIds.isEmpty ? null : () => _confirmDeleteSelected(), + ) + : IconButton( + icon: const Icon(Icons.delete_outline, color: Colors.white70), + onPressed: () { + setState(() { + _isSelectionMode = true; + }); + }, + ) + ], + ), + body: Container( + decoration: const BoxDecoration( + gradient: LinearGradient( + colors: [Color(0xFF1A237E), Color(0xFF121212)], + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + ), + ), + child: SafeArea( + child: _isLoading + ? const Center(child: CircularProgressIndicator(color: Colors.blueAccent)) + : _history.isEmpty + ? _buildEmptyState() + : ListView.builder( + padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 10), + itemCount: _history.length, + itemBuilder: (context, index) { + final item = _history[index]; + return _buildHistoryCard(item); + }, + ), + ), + ), + ); + } + + Widget _buildEmptyState() { + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon(Icons.history_toggle_off, size: 80, color: Colors.white.withOpacity(0.2)), + const SizedBox(height: 20), + Text( + "Belum ada riwayat rute", + style: TextStyle(color: Colors.white.withOpacity(0.5), fontSize: 18), + ), + ], + ), + ); + } + + Widget _buildHistoryCard(dynamic item) { + DateTime date = DateTime.parse(item['tanggal']); + String formattedDate = DateFormat('dd MMM yyyy, HH:mm').format(date); + + String statusText = item['status'].toString().toUpperCase(); + if (statusText == "0") statusText = "GAGAL"; + bool isSuccess = statusText == "BERHASIL"; + bool isSelected = _selectedIds.contains(item['id']); + + return GestureDetector( + onTap: () { + if (_isSelectionMode) { + setState(() { + if (isSelected) { + _selectedIds.remove(item['id']); + } else { + _selectedIds.add(item['id']); + } + }); + } else { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => HistoryDetailScreen(historyItem: item), + ), + ); + } + }, + onLongPress: () { + if (!_isSelectionMode) { + setState(() { + _isSelectionMode = true; + _selectedIds.add(item['id']); + }); + } + }, + child: Container( + margin: const EdgeInsets.only(bottom: 16), + child: ClipRRect( + borderRadius: BorderRadius.circular(20), + child: BackdropFilter( + filter: ImageFilter.blur(sigmaX: 10, sigmaY: 10), + child: Container( + padding: const EdgeInsets.all(20), + decoration: BoxDecoration( + color: isSelected ? Colors.blueAccent.withOpacity(0.15) : Colors.white.withOpacity(0.05), + borderRadius: BorderRadius.circular(20), + border: Border.all(color: isSelected ? Colors.blueAccent : Colors.white.withOpacity(0.1), width: isSelected ? 2 : 1), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Expanded( + child: Text( + item['nama_rute'], + style: const TextStyle(color: Colors.white, fontSize: 18, fontWeight: FontWeight.bold), + overflow: TextOverflow.ellipsis, + ), + ), + Container( + padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 4), + decoration: BoxDecoration( + color: isSuccess ? Colors.green.withOpacity(0.2) : Colors.red.withOpacity(0.2), + borderRadius: BorderRadius.circular(10), + border: Border.all(color: isSuccess ? Colors.green : Colors.red, width: 0.5), + ), + child: Text( + statusText, + style: TextStyle( + color: isSuccess ? Colors.greenAccent : Colors.redAccent, + fontSize: 10, + fontWeight: FontWeight.bold, + ), + ), + ), + if (_isSelectionMode) + Icon( + isSelected ? Icons.check_circle : Icons.radio_button_unchecked, + color: isSelected ? Colors.blueAccent : Colors.white38, + size: 24, + ), + ], + ), + const SizedBox(height: 12), + Row( + children: [ + _buildInfoMini(Icons.calendar_today, formattedDate), + ], + ), + const SizedBox(height: 16), + Divider(color: Colors.white.withOpacity(0.05)), + const SizedBox(height: 8), + Row( + children: [ + Expanded(child: _buildStatDetail(Icons.straighten, "${item['jarak_tempuh'] ?? item['jarak']} KM", "JARAK")), + Expanded(child: _buildStatDetail(Icons.timer, _formatDuration(item['waktu_tempuh']), "WAKTU")), + Expanded(child: _buildStatDetail(Icons.speed, "${item['kecepatan_rata_rata'] ?? '-'} km/j", "SPEED")), + Expanded(child: _buildStatDetail( + isSuccess ? Icons.check_circle : Icons.cancel, + isSuccess ? "Berhasil" : "Gagal", + "MISI" + )), + ], + ), + ], + ), + ), + ), + ), + ), + ); + } + + Widget _buildInfoMini(IconData icon, String text) { + return Row( + children: [ + Icon(icon, color: Colors.white54, size: 14), + const SizedBox(width: 8), + Text(text, style: const TextStyle(color: Colors.white54, fontSize: 12)), + ], + ); + } + + Widget _buildStatDetail(IconData icon, String value, String label) { + return Column( + children: [ + Icon(icon, color: Colors.blueAccent, size: 20), + const SizedBox(height: 6), + Text(value, style: const TextStyle(color: Colors.white, fontWeight: FontWeight.w600, fontSize: 14)), + Text(label, style: const TextStyle(color: Colors.white38, fontSize: 10, fontWeight: FontWeight.bold)), + ], + ); + } + + void _confirmDeleteSelected() { + showDialog( + context: context, + builder: (context) => AlertDialog( + backgroundColor: const Color(0xFF1E2140), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(15)), + title: const Text("Hapus Riwayat", style: TextStyle(color: Colors.white)), + content: Text("Anda yakin ingin menghapus ${_selectedIds.length} riwayat rute yang dipilih?", + style: const TextStyle(color: Colors.white70)), + actions: [ + TextButton(onPressed: () => Navigator.pop(context), child: const Text("BATAL", style: TextStyle(color: Colors.white54))), + TextButton( + onPressed: () { + Navigator.pop(context); + _deleteSelectedItems(); + }, + child: const Text("HAPUS", style: TextStyle(color: Colors.redAccent)) + ), + ], + ), + ); + } + + +} \ No newline at end of file diff --git a/smart_cycling/lib/screens/home_screen.dart b/smart_cycling/lib/screens/home_screen.dart new file mode 100644 index 0000000..abe3da8 --- /dev/null +++ b/smart_cycling/lib/screens/home_screen.dart @@ -0,0 +1,879 @@ +import 'dart:convert'; +import 'package:flutter/material.dart'; +import 'package:http/http.dart' as http; +import '../utils/api_config.dart'; +import 'package:fl_chart/fl_chart.dart'; +import 'search_route_screen.dart'; +import 'history_screen.dart'; +import 'history_detail_screen.dart'; +import 'profile_screen.dart'; // Tambahkan import Profil +// Import session manager untuk nama dinamis +import '../utils/session_manager.dart'; +import '../widgets/responsive_layout.dart'; + +class HomeScreen extends StatefulWidget { + const HomeScreen({super.key}); + + @override + State createState() => _HomeScreenState(); +} + +class _HomeScreenState extends State { + int _selectedIndex = 0; + + final List _pages; + + _HomeScreenState() : _pages = [] { + _pages.addAll([ + HomeDashboardContent(onPlanRoute: () => _onItemTapped(1)), + const SearchRouteScreen(), + const HistoryScreen(), + const ProfileScreen(), + ]); + } + + void _onItemTapped(int index) { + setState(() { + _selectedIndex = index; + }); + } + + @override + Widget build(BuildContext context) { + return ResponsiveLayout( + child: PopScope( + canPop: false, + onPopInvoked: (didPop) { + if (didPop) return; + if (_selectedIndex != 0) { + setState(() { + _selectedIndex = 0; + }); + } + }, + child: Scaffold( + backgroundColor: Theme.of(context).scaffoldBackgroundColor, + body: _pages[_selectedIndex], + bottomNavigationBar: BottomNavigationBar( + currentIndex: _selectedIndex, + onTap: _onItemTapped, + type: BottomNavigationBarType.fixed, + selectedItemColor: Colors.blue, + unselectedItemColor: Colors.grey, + selectedLabelStyle: const TextStyle(fontWeight: FontWeight.bold, fontSize: 12), + unselectedLabelStyle: const TextStyle(fontSize: 12), + items: const [ + BottomNavigationBarItem(icon: Icon(Icons.home_filled), label: 'Home'), + BottomNavigationBarItem(icon: Icon(Icons.location_searching), label: 'Cari Rute'), + BottomNavigationBarItem(icon: Icon(Icons.history), label: 'Riwayat'), + BottomNavigationBarItem(icon: Icon(Icons.person), label: 'Profil'), + ], + ), + ), + ), + ); + } +} + +class HomeDashboardContent extends StatefulWidget { + final VoidCallback onPlanRoute; + const HomeDashboardContent({super.key, required this.onPlanRoute}); + + @override + State createState() => _HomeDashboardContentState(); +} + +class _HomeDashboardContentState extends State { + bool _isWeekly = true; // Toggle Mingguan/Bulanan + List _history = []; + List _recentRoutes = []; + double _totalDistance = 0; + int _totalSeconds = 0; + bool _isLoading = true; + int _selectedMonth = DateTime.now().month; + int _selectedYear = DateTime.now().year; + int _selectedWeekIndex = 0; // 0: Semua Minggu (Bulanan), 1-4: Minggu spesifik + int? _selectedIndex; // Index titik yang dipilih di grafik + List _chartDataPoints = []; + List _chartLabels = []; + double _maxDistance = 10.0; + + @override + void initState() { + super.initState(); + _loadDashboardData(); + } + + String _getMonthName(int month) { + const names = ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"]; + return names[month - 1]; + } + + String _getShortMonthName(int month) { + const names = ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Agu", "Sep", "Okt", "Nov", "Des"]; + return names[month - 1]; + } + + List> _getWeekRanges(int month, int year) { + List> ranges = []; + DateTime date = DateTime(year, month, 1); + int daysToSunday = (7 - date.weekday) % 7; + DateTime currentSunday = date.add(Duration(days: daysToSunday)); + + while (currentSunday.month == month) { + DateTime saturday = currentSunday.add(const Duration(days: 6)); + ranges.add({ + 'start': currentSunday, + 'end': saturday, + }); + currentSunday = currentSunday.add(const Duration(days: 7)); + } + return ranges; + } + + List _generateWeeks(int month, int year) { + List weeks = ["Semua Minggu"]; + List> ranges = _getWeekRanges(month, year); + + for (var range in ranges) { + DateTime start = range['start']!; + DateTime end = range['end']!; + + if (start.month == end.month) { + weeks.add("${start.day} - ${end.day} ${_getMonthName(start.month)}"); + } else { + weeks.add("${start.day} ${_getMonthName(start.month)} - ${end.day} ${_getMonthName(end.month)}"); + } + } + return weeks; + } + + Future _loadDashboardData() async { + final url = Uri.parse("${ApiConfig.baseUrl}/get_history.php?id_users=${SessionManager.userId}"); + try { + final response = await http.get(url); + if (response.statusCode == 200) { + List decodedHistory = jsonDecode(response.body); + setState(() { + _history = decodedHistory; + _recentRoutes = decodedHistory.take(3).toList(); + _calculateStats(); + _isLoading = false; + }); + } + } catch (e) { + debugPrint("Gagal memuat data riwayat dari server: $e"); + setState(() { + _isLoading = false; + }); + } + } + + void _calculateStats() { + double dist = 0; + int secs = 0; + + DateTime startDate; + DateTime endDate; + + List> ranges = _getWeekRanges(_selectedMonth, _selectedYear); + + if (_selectedWeekIndex == 0) { + _isWeekly = false; + if (ranges.isNotEmpty) { + startDate = ranges.first['start']!; + endDate = ranges.last['end']!; + + _chartDataPoints = List.filled(ranges.length, 0.0); + _chartLabels = []; + + for (var range in ranges) { + DateTime start = range['start']!; + DateTime end = range['end']!; + if (start.month == end.month) { + _chartLabels.add("${start.day}-${end.day} ${_getShortMonthName(start.month)}"); + } else { + _chartLabels.add("${start.day} ${_getShortMonthName(start.month)}-${end.day} ${_getShortMonthName(end.month)}"); + } + } + } else { + startDate = DateTime(_selectedYear, _selectedMonth, 1); + endDate = DateTime(_selectedYear, _selectedMonth + 1, 0); + _chartDataPoints = []; + _chartLabels = []; + } + } else { + _isWeekly = true; + int index = _selectedWeekIndex - 1; + if (index >= 0 && index < ranges.length) { + startDate = ranges[index]['start']!; + endDate = ranges[index]['end']!; + + int daysCount = endDate.difference(startDate).inDays + 1; + _chartDataPoints = List.filled(daysCount, 0.0); + + const dayNames = ["Min", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab"]; + _chartLabels = List.generate(daysCount, (i) { + DateTime d = startDate.add(Duration(days: i)); + return "${dayNames[d.weekday % 7]}, ${d.day}"; + }); + } else { + startDate = DateTime(_selectedYear, _selectedMonth, 1); + endDate = DateTime(_selectedYear, _selectedMonth + 1, 0); + _chartDataPoints = []; + _chartLabels = []; + } + } + + for (var trip in _history) { + DateTime tripDate = DateTime.parse(trip['tanggal']); + + if (tripDate.isAfter(startDate.subtract(const Duration(seconds: 1))) && + tripDate.isBefore(endDate.add(const Duration(days: 1)))) { + + double tripDist = double.tryParse(trip['jarak_tempuh']?.toString() ?? "0") ?? 0; + int tripSecs = int.tryParse(trip['waktu_tempuh']?.toString() ?? "0") ?? 0; + + int dataIndex = -1; + if (_isWeekly) { + dataIndex = tripDate.difference(startDate).inDays; + } else { + for (int i = 0; i < ranges.length; i++) { + if (tripDate.isAfter(ranges[i]['start']!.subtract(const Duration(seconds: 1))) && + tripDate.isBefore(ranges[i]['end']!.add(const Duration(days: 1)))) { + dataIndex = i; + break; + } + } + } + + if (dataIndex >= 0 && dataIndex < _chartDataPoints.length) { + _chartDataPoints[dataIndex] += tripDist; + + if (_selectedIndex == null || _selectedIndex == dataIndex) { + dist += tripDist; + secs += tripSecs; + } + } + } + } + + double maxVal = _chartDataPoints.isNotEmpty ? _chartDataPoints.reduce((a, b) => a > b ? a : b) : 0; + _maxDistance = maxVal > 0 ? maxVal : 10.0; + + setState(() { + _totalDistance = dist; + _totalSeconds = secs; + }); + } + + String _formatDuration(int seconds) { + if (seconds <= 0) return "0 menit"; + int h = seconds ~/ 3600; + int m = (seconds % 3600) ~/ 60; + if (h > 0) return "$h jam $m menit"; + return "$m menit"; + } + + String getStatSubtitle(bool isDistance) { + if (_selectedIndex != null) { + if (_isWeekly) { + return isDistance + ? "Total jarak yang Anda tempuh pada hari ini" + : "Total durasi yang Anda tempuh pada hari ini"; + } else { + return isDistance + ? "Total jarak yang Anda tempuh pada minggu ini" + : "Total durasi yang Anda tempuh pada minggu ini"; + } + } else { + if (_isWeekly) { + return isDistance + ? "Total jarak yang Anda tempuh pada minggu ini" + : "Total durasi yang Anda tempuh pada minggu ini"; + } else { + return isDistance + ? "Total jarak yang Anda tempuh pada bulan ini" + : "Total durasi yang Anda tempuh pada bulan ini"; + } + } + } + + @override + Widget build(BuildContext context) { + final isDark = Theme.of(context).brightness == Brightness.dark; + + return Container( + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: isDark + ? [const Color(0xFF121212), const Color(0xFF1E1E1E), const Color(0xFF121212)] + : [const Color(0xFFF8FAFC), const Color(0xFFF1F5F9), const Color(0xFFE2E8F0)], + ), + ), + child: SafeArea( + child: _isLoading + ? const Center(child: CircularProgressIndicator()) + : SingleChildScrollView( + physics: const BouncingScrollPhysics(), + child: Padding( + padding: const EdgeInsets.all(24), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('Selamat ${DateTime.now().hour < 12 ? "Pagi" : DateTime.now().hour < 15 ? "Siang" : DateTime.now().hour < 18 ? "Sore" : "Malam"},', + style: TextStyle(fontSize: 14, color: isDark ? Colors.blueGrey.shade200 : Colors.blueGrey, fontWeight: FontWeight.w500)), + const SizedBox(height: 4), + Text( + SessionManager.userName ?? "User", + style: TextStyle( + fontSize: 28, + fontWeight: FontWeight.w900, + color: isDark ? Colors.white : const Color(0xFF1E293B), + letterSpacing: -0.5 + ), + ), + ], + ), + ], + ), + const SizedBox(height: 24), + + Text('Tren Aktivitas Anda', style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold, color: isDark ? Colors.white : const Color(0xFF1E293B), letterSpacing: -0.5)), + const SizedBox(height: 16), + Row( + children: [ + Expanded( + child: Container( + padding: const EdgeInsets.symmetric(horizontal: 12), + decoration: BoxDecoration( + color: isDark ? const Color(0xFF252836) : Colors.white, + borderRadius: BorderRadius.circular(12), + border: Border.all(color: isDark ? Colors.white.withOpacity(0.05) : Colors.grey.shade200), + ), + child: DropdownButtonHideUnderline( + child: DropdownButton( + value: _selectedMonth, + isExpanded: true, + items: List.generate(12, (i) => DropdownMenuItem( + value: i + 1, + child: FittedBox( + fit: BoxFit.scaleDown, + alignment: Alignment.centerLeft, + child: Text(_getMonthName(i + 1)), + ), + )), + onChanged: (val) { + setState(() { + _selectedMonth = val!; + _selectedWeekIndex = 0; + _selectedIndex = null; + _calculateStats(); + }); + }, + ), + ), + ), + ), + const SizedBox(width: 16), + Expanded( + child: Container( + padding: const EdgeInsets.symmetric(horizontal: 12), + decoration: BoxDecoration( + color: isDark ? const Color(0xFF252836) : Colors.white, + borderRadius: BorderRadius.circular(12), + border: Border.all(color: isDark ? Colors.white.withOpacity(0.05) : Colors.grey.shade200), + ), + child: DropdownButtonHideUnderline( + child: DropdownButton( + value: _selectedWeekIndex, + isExpanded: true, + items: List.generate(_generateWeeks(_selectedMonth, _selectedYear).length, (i) => DropdownMenuItem( + value: i, + child: FittedBox( + fit: BoxFit.scaleDown, + alignment: Alignment.centerLeft, + child: Text(_generateWeeks(_selectedMonth, _selectedYear)[i]), + ), + )), + onChanged: (val) { + setState(() { + _selectedWeekIndex = val!; + _selectedIndex = null; + _calculateStats(); + }); + }, + ), + ), + ), + ), + ], + ), + const SizedBox(height: 20), + _buildActivityChart(), + const SizedBox(height: 24), + + // --- KARTU STATISTIK --- + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildStatCard( + 'Jarak', + '${_totalDistance.toStringAsFixed(1)} km', + Icons.directions_bike, + Colors.blue, + getStatSubtitle(true) + ), + const SizedBox(width: 16), + _buildStatCard( + 'Waktu', + _formatDuration(_totalSeconds), + Icons.timer, + Colors.orange, + getStatSubtitle(false) + ), + ], + ), + const SizedBox(height: 32), + + // --- KARTU VISUAL GRADIENT --- + _buildPlanRouteCard(context), + const SizedBox(height: 32), + + Text('Rute Terakhir', style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold, color: isDark ? Colors.white : const Color(0xFF1E293B), letterSpacing: -0.5)), + const SizedBox(height: 16), + _recentRoutes.isEmpty + ? const Text("Belum ada rute yang diselesaikan", style: TextStyle(color: Colors.grey)) + : Column( + children: _recentRoutes.map((route) => _buildRecentRouteItem(route)).toList(), + ), + ], + ), + ), + ), + ), + ); + } + + Widget _buildFilterChip(String label, bool isActive, VoidCallback onTap) { + final isDark = Theme.of(context).brightness == Brightness.dark; + return GestureDetector( + onTap: onTap, + child: Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8), + decoration: BoxDecoration( + color: isActive ? Colors.blueAccent : (isDark ? const Color(0xFF1E1E1E) : Colors.white), + borderRadius: BorderRadius.circular(12), + border: Border.all(color: isActive ? Colors.blueAccent : (isDark ? Colors.white.withOpacity(0.05) : Colors.grey.shade200)), + boxShadow: isActive ? [BoxShadow(color: Colors.blue.withOpacity(isDark ? 0.1 : 0.2), blurRadius: 8)] : null, + ), + child: Center( + child: Text( + label, + style: TextStyle( + color: isActive ? Colors.white : Colors.grey.shade600, + fontWeight: FontWeight.bold, + fontSize: 12, + ), + ), + ), + ), + ); + } + + Widget _buildActivityChart() { + final isDark = Theme.of(context).brightness == Brightness.dark; + + return Container( + height: 240, + width: double.infinity, + padding: const EdgeInsets.fromLTRB(15, 25, 20, 10), + decoration: BoxDecoration( + color: isDark ? const Color(0xFF1E1E1E) : Colors.white, + borderRadius: BorderRadius.circular(28), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(isDark ? 0.3 : 0.04), + blurRadius: 24, + offset: const Offset(0, 12), + ), + ], + border: isDark ? Border.all(color: Colors.white.withOpacity(0.05), width: 1) : null, + ), + child: _chartDataPoints.isEmpty + ? const Center(child: Text("Tidak ada data", style: TextStyle(color: Colors.grey))) + : LineChart( + LineChartData( + gridData: FlGridData( + show: true, + drawVerticalLine: true, + horizontalInterval: 0.2, + verticalInterval: 1, + getDrawingHorizontalLine: (value) => FlLine(color: isDark ? Colors.white.withOpacity(0.05) : Colors.grey.shade100, strokeWidth: 1), + getDrawingVerticalLine: (value) => FlLine(color: isDark ? Colors.white.withOpacity(0.05) : Colors.grey.shade100, strokeWidth: 1), + ), + titlesData: FlTitlesData( + show: true, + rightTitles: const AxisTitles(sideTitles: SideTitles(showTitles: false)), + topTitles: const AxisTitles(sideTitles: SideTitles(showTitles: false)), + bottomTitles: AxisTitles( + sideTitles: SideTitles( + showTitles: true, + reservedSize: 30, + interval: 1, + getTitlesWidget: (value, meta) { + int index = value.toInt(); + if (index >= 0 && index < _chartLabels.length) { + return SideTitleWidget( + axisSide: meta.axisSide, + child: Text( + _chartLabels[index], + style: TextStyle( + color: _selectedIndex == index ? Colors.orangeAccent : (isDark ? Colors.white54 : Colors.grey), + fontSize: 10, + fontWeight: _selectedIndex == index ? FontWeight.bold : FontWeight.normal, + ), + ), + ); + } + return const SizedBox(); + }, + ), + ), + leftTitles: AxisTitles( + sideTitles: SideTitles( + showTitles: true, + reservedSize: 45, + interval: _maxDistance > 0 ? (_maxDistance / 5).ceilToDouble().clamp(1.0, 100.0) : 2.0, + getTitlesWidget: (value, meta) { + return SideTitleWidget( + axisSide: meta.axisSide, + child: Text( + "${value.toStringAsFixed(0)} km", + style: TextStyle(color: isDark ? Colors.white54 : Colors.grey, fontSize: 10), + ), + ); + }, + ), + ), + ), + borderData: FlBorderData( + show: false, + ), + minX: 0, + maxX: (_chartDataPoints.length - 1).toDouble(), + minY: 0, + maxY: (_maxDistance * 1.25).ceilToDouble(), + lineBarsData: [ + LineChartBarData( + spots: List.generate(_chartDataPoints.length, (i) => FlSpot(i.toDouble(), _chartDataPoints[i])), + isCurved: true, + color: Colors.blueAccent, + barWidth: 3, + isStrokeCapRound: true, + dotData: FlDotData( + show: true, + getDotPainter: (spot, percent, barData, index) { + bool isSelected = _selectedIndex == index; + return FlDotCirclePainter( + radius: isSelected ? 6 : 4, + color: isSelected ? Colors.orangeAccent : Colors.blue, + strokeWidth: 2, + strokeColor: Colors.white, + ); + }, + ), + belowBarData: BarAreaData( + show: true, + color: Colors.blueAccent.withOpacity(0.05), + ), + ), + ], + lineTouchData: LineTouchData( + touchCallback: (FlTouchEvent event, LineTouchResponse? touchResponse) { + if (!event.isInterestedForInteractions || touchResponse == null || touchResponse.lineBarSpots == null) { + return; + } + if (event is FlTapDownEvent || event is FlTapUpEvent) { + final spotIndex = touchResponse.lineBarSpots!.first.spotIndex; + setState(() { + if (_selectedIndex == spotIndex) { + _selectedIndex = null; + } else { + _selectedIndex = spotIndex; + } + _calculateStats(); + }); + } + }, + handleBuiltInTouches: true, + ), + ), + ), + ); + } + + Widget _buildStatCard(String title, String value, IconData icon, Color color, String subtitle) { + final isDark = Theme.of(context).brightness == Brightness.dark; + + return Expanded( + child: Container( + clipBehavior: Clip.antiAlias, + decoration: BoxDecoration( + color: isDark ? const Color(0xFF252836) : Colors.white, + borderRadius: BorderRadius.circular(24), + boxShadow: [ + BoxShadow( + color: isDark ? Colors.black.withOpacity(0.4) : color.withOpacity(0.1), + blurRadius: 15, + offset: const Offset(0, 8), + ), + ], + border: Border.all( + color: isDark ? Colors.white.withOpacity(0.05) : Colors.grey.shade200, + width: 1, + ), + ), + child: Stack( + children: [ + // Thick left accent border + Positioned( + left: 0, + top: 0, + bottom: 0, + child: Container(width: 6, color: color), + ), + Padding( + padding: const EdgeInsets.all(16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Container( + padding: const EdgeInsets.all(10), + decoration: BoxDecoration( + color: color.withOpacity(0.15), + borderRadius: BorderRadius.circular(12), + ), + child: Icon(icon, color: color, size: 22), + ), + const SizedBox(height: 16), + Text( + value, + style: TextStyle( + fontSize: 24, + fontWeight: FontWeight.w900, + color: isDark ? Colors.white : const Color(0xFF1E293B), + letterSpacing: -0.5 + ) + ), + const SizedBox(height: 4), + Text( + title, + style: TextStyle( + color: isDark ? Colors.white.withOpacity(0.9) : Colors.blueGrey.shade700, + fontSize: 14, + fontWeight: FontWeight.w700 + ) + ), + const SizedBox(height: 6), + Text( + subtitle, + style: TextStyle( + color: isDark ? Colors.white54 : Colors.grey.shade500, + fontSize: 11, + fontStyle: FontStyle.italic, + height: 1.2 + ) + ), + ], + ), + ), + ], + ), + ), + ); + } + + Widget _buildPlanRouteCard(BuildContext context) { + return Container( + width: double.infinity, + padding: const EdgeInsets.all(24), + decoration: BoxDecoration( + gradient: const LinearGradient( + colors: [Color(0xFF3B82F6), Color(0xFF2563EB)], + begin: Alignment.topLeft, + end: Alignment.bottomRight, + ), + borderRadius: BorderRadius.circular(28), + boxShadow: [ + BoxShadow( + color: Colors.blue.withOpacity(0.3), + blurRadius: 25, + offset: const Offset(0, 12), + ) + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text('Siap untuk gowes hari ini?', + style: TextStyle(color: Colors.white, fontSize: 20, fontWeight: FontWeight.w900, letterSpacing: -0.5)), + const SizedBox(height: 8), + const Text('Temukan rute terbaik yang aman dan nyaman untukmu.', + style: TextStyle(color: Colors.white70, fontSize: 14, fontWeight: FontWeight.w500)), + const SizedBox(height: 24), + ElevatedButton( + onPressed: widget.onPlanRoute, + style: ElevatedButton.styleFrom( + backgroundColor: Colors.white, + foregroundColor: Colors.blue.shade700, + elevation: 0, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(14)), + padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 12), + ), + child: const Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text('Mulai Jelajah', style: TextStyle(fontWeight: FontWeight.w800)), + SizedBox(width: 8), + Icon(Icons.arrow_forward_rounded, size: 16), + ], + ), + ), + ], + ), + ); + } + + Widget _buildNotificationBadge(BuildContext context) { + return Stack( + children: [ + IconButton( + onPressed: () => ScaffoldMessenger.of(context).showSnackBar(const SnackBar(content: Text("Belum ada notifikasi baru"))), + icon: const Icon(Icons.notifications_active, color: Colors.blueAccent, size: 30), + ), + Positioned( + right: 8, top: 8, + child: Container( + padding: const EdgeInsets.all(4), + decoration: const BoxDecoration(color: Colors.red, shape: BoxShape.circle), + constraints: const BoxConstraints(minWidth: 8, minHeight: 8), + ), + ) + ], + ); + } + + Widget _buildRecentRouteItem(dynamic route) { + final isDark = Theme.of(context).brightness == Brightness.dark; + String name = route['nama_rute'] ?? '-'; + String distance = '${route['jarak_tempuh'] ?? route['jarak'] ?? 0} km'; + String statusText = route['status']?.toString().toUpperCase() ?? 'GAGAL'; + if (statusText == "0") statusText = "GAGAL"; + + return GestureDetector( + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => HistoryDetailScreen(historyItem: route), + ), + ); + }, + child: Container( + margin: const EdgeInsets.only(bottom: 16), + padding: const EdgeInsets.all(18), + decoration: BoxDecoration( + color: isDark ? const Color(0xFF1E1E1E) : Colors.white, + borderRadius: BorderRadius.circular(24), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(isDark ? 0.2 : 0.03), + blurRadius: 20, + offset: const Offset(0, 8), + ), + ], + border: isDark ? Border.all(color: Colors.white.withOpacity(0.05), width: 1) : null, + ), + child: Row( + children: [ + Container( + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + gradient: LinearGradient( + colors: [Colors.blue.shade400, Colors.blue.shade700], + begin: Alignment.topLeft, + end: Alignment.bottomRight, + ), + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow(color: Colors.blue.withOpacity(isDark ? 0.1 : 0.3), blurRadius: 8, offset: const Offset(0, 4)) + ], + ), + child: const Icon(Icons.directions_bike_rounded, color: Colors.white, size: 24), + ), + const SizedBox(width: 18), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + name, + style: TextStyle( + fontWeight: FontWeight.w800, + fontSize: 15, + color: isDark ? Colors.white : const Color(0xFF1E293B) + ), + overflow: TextOverflow.ellipsis + ), + const SizedBox(height: 6), + Row( + children: [ + Icon(Icons.straighten, size: 14, color: isDark ? Colors.blueGrey.shade400 : Colors.blueGrey.shade300), + const SizedBox(width: 4), + Text( + distance, + style: TextStyle( + color: isDark ? Colors.blueGrey.shade300 : Colors.blueGrey.shade400, + fontSize: 13, + fontWeight: FontWeight.w500 + ) + ), + const SizedBox(width: 12), + Container( + padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 2), + decoration: BoxDecoration( + color: statusText == "BERHASIL" ? Colors.green.withOpacity(0.1) : Colors.red.withOpacity(0.1), + borderRadius: BorderRadius.circular(8), + ), + child: Text( + statusText, + style: TextStyle( + color: statusText == "BERHASIL" ? Colors.greenAccent : Colors.redAccent, + fontSize: 10, + fontWeight: FontWeight.w900 + ) + ), + ), + ], + ), + ], + ), + ), + Icon(Icons.arrow_forward_ios_rounded, size: 16, color: isDark ? Colors.white24 : Colors.blueGrey.shade200), + ], + ), + ), + ); + } +} + \ No newline at end of file diff --git a/smart_cycling/lib/screens/login_screen.dart b/smart_cycling/lib/screens/login_screen.dart new file mode 100644 index 0000000..f6c0704 --- /dev/null +++ b/smart_cycling/lib/screens/login_screen.dart @@ -0,0 +1,165 @@ +import 'package:flutter/material.dart'; + +import 'package:http/http.dart' as http; +import 'dart:convert'; +import '../widgets/custom_button.dart'; +import '../widgets/custom_text_field.dart'; +import '../utils/session_manager.dart'; +import '../utils/api_config.dart'; +import '../widgets/responsive_layout.dart'; + +class LoginScreen extends StatefulWidget { + const LoginScreen({super.key}); + + @override + State createState() => _LoginScreenState(); +} + +class _LoginScreenState extends State { + final usernameController = TextEditingController(); + final passwordController = TextEditingController(); + bool isLoading = false; + + Future loginUser() async { + setState(() => isLoading = true); + + // Mengambil baseUrl dari pengaturan sentral di utils/api_config.dart + final url = Uri.parse("${ApiConfig.baseUrl}/login.php"); + + try { + final response = await http.post(url, body: { + 'username': usernameController.text, + 'password': passwordController.text, + }); + + final data = jsonDecode(response.body); + if (!mounted) return; + + if (data['status'] == 'success') { + // Simpan Nama, Username, dan Photo ke SessionManager + SessionManager.saveSession( + int.parse(data['user']['id_users'].toString()), + data['user']['nama'], + data['user']['username'], + data['user']['photo_url'] + ); + + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar(content: Text('Login Berhasil!')), + ); + Navigator.pushReplacementNamed(context, '/home'); + } else { + ScaffoldMessenger.of(context).showSnackBar( + SnackBar(content: Text(data['message'])), + ); + } + } catch (e) { + if (!mounted) return; + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar(content: Text('Gagal terhubung ke server!')), + ); + } finally { + if (mounted) setState(() => isLoading = false); + } + } + + @override + Widget build(BuildContext context) { + final screenHeight = MediaQuery.of(context).size.height; + + return ResponsiveLayout( + child: Scaffold( + backgroundColor: const Color(0xFF3949AB), + body: SingleChildScrollView( + child: Column( + children: [ + Container( + height: 260, + width: double.infinity, + decoration: const BoxDecoration( + gradient: LinearGradient( + colors: [Color(0xFF3949AB), Color(0xFF00BCD4)], + begin: Alignment.topLeft, + end: Alignment.bottomRight, + ), + ), + child: SafeArea( + bottom: false, + child: Center( + child: Image.asset( + 'assets/images/cyclist.png', + height: 140, + fit: BoxFit.contain, + ), + ), + ), + ), + Transform.translate( + offset: const Offset(0, -40), + child: Container( + constraints: BoxConstraints( + minHeight: screenHeight - 220, + ), + width: double.infinity, + decoration: const BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.only( + topLeft: Radius.circular(40), + topRight: Radius.circular(40), + ), + ), + padding: const EdgeInsets.symmetric(horizontal: 32.0, vertical: 40.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + const Text( + 'Hello!', + textAlign: TextAlign.center, + style: TextStyle( + fontFamily: 'Montserrat', + fontSize: 26, + fontWeight: FontWeight.w800, + color: Color(0xFF3949AB), + ), + ), + const SizedBox(height: 32), + CustomTextField( + hintText: 'Username', + controller: usernameController, + prefixIcon: Icons.person_outline, + ), + const SizedBox(height: 16), + CustomTextField( + hintText: 'Password', + obscureText: true, + controller: passwordController, + prefixIcon: Icons.lock_outline, + ), + const SizedBox(height: 16), + const SizedBox(height: 24), + isLoading + ? const Center(child: CircularProgressIndicator()) + : CustomButton( + text: 'Log In', + onPressed: () { + if (usernameController.text.isNotEmpty && passwordController.text.isNotEmpty) { + loginUser(); + } else { + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar(content: Text('Isi semua kolom!')), + ); + } + }, + ), + const SizedBox(height: 24), + ], + ), + ), + ), + ], + ), + ), + ), + ); + } +} \ No newline at end of file diff --git a/smart_cycling/lib/screens/navigation_screen.dart b/smart_cycling/lib/screens/navigation_screen.dart new file mode 100644 index 0000000..5e6bab9 --- /dev/null +++ b/smart_cycling/lib/screens/navigation_screen.dart @@ -0,0 +1,1213 @@ +import 'dart:async'; +import 'dart:convert'; +import 'package:http/http.dart' as http; +import 'dart:ui'; +import 'package:flutter/material.dart'; +import 'package:flutter_map/flutter_map.dart'; +import 'package:latlong2/latlong.dart'; +import 'package:geolocator/geolocator.dart'; +import 'package:flutter_tts/flutter_tts.dart'; +import '../services/weather_service.dart'; +import '../utils/navigation_helper.dart'; +import '../utils/session_manager.dart'; +import '../utils/api_config.dart'; + +enum NavStatus { waiting, readyToStart, active, paused, finished } + +class NavigationScreen extends StatefulWidget { + final Map routeData; + final int targetMinutes; + + NavigationScreen({super.key, required this.routeData, required this.targetMinutes}); + + @override + State createState() => _NavigationScreenState(); +} + +class _NavigationScreenState extends State { + final MapController _mapController = MapController(); + final WeatherService _weatherService = WeatherService(); + + List _routePoints = []; + LatLng? _currentPosition; + Map? _weatherData; + StreamSubscription? _positionStream; + bool _isLoading = true; + bool _isFollowingUser = true; // Mode auto-center + + // --- Fitur Navigasi --- + final FlutterTts _tts = FlutterTts(); + NavStatus _navStatus = NavStatus.waiting; + int _targetPointIndex = 0; + bool _isOffRoute = false; + String _nextInstruction = "Mencari Rute..."; + int _lastManeuverIndex = -1; + DateTime? _lastAlertTime; + double _distanceToNextTurn = 0; + bool _isRouteReversed = false; + int _lastReachedIndex = 0; + bool _directionDetected = false; + bool _isCircular = true; // Default rute melingkar + bool _isRaining = false; + bool _rainWarningSpoken = false; + bool _dryWarningSpoken = false; + int _rainWarningCount = 0; + int _dryWarningCount = 0; + + // --- Real-time Stats --- + double _remainingDistance = 0; + int _remainingSeconds = 0; + int _elapsedSeconds = 0; + double _accumulatedDistance = 0; + LatLng? _lastTrackedPosition; + Timer? _timer; + Timer? _weatherTimer; // Timer khusus untuk refresh cuaca periodik + LatLng? _pausePosition; // Titik di mana perjalanan dijeda + + @override + void initState() { + super.initState(); + _initTTS(); + _parseRoutePoints(); + _initLocationTracking(); + + // Set sisa jarak awal + _remainingDistance = double.tryParse(widget.routeData['jarak'].toString()) ?? 0; + // Set sisa waktu awal (detik) + _remainingSeconds = widget.targetMinutes * 60; + _elapsedSeconds = 0; + // Aktifkan refresh cuaca otomatis setiap 5 menit (300 detik) + _weatherTimer = Timer.periodic(const Duration(minutes: 5), (timer) { + if (_currentPosition != null) { + _fetchWeather(_currentPosition!.latitude, _currentPosition!.longitude); + _fetchForecast(_currentPosition!.latitude, _currentPosition!.longitude); + } + }); + } + + Future _initTTS() async { + await _tts.setLanguage("id-ID"); + await _tts.setPitch(1.0); + await _tts.setSpeechRate(0.5); + } + + Future _speak(String text) async { + await _tts.speak(text); + } + + void _parseRoutePoints() { + try { + final String coordsString = widget.routeData['titik_koordinat']; + final List decoded = jsonDecode(coordsString); + + setState(() { + _routePoints = decoded.map((c) => LatLng( + double.parse(c['lat'].toString()), + double.parse(c['lng'].toString()) + )).toList(); + + // DETEKSI RUTE MELINGKAR (Circular Route) + // Jika titik awal dan akhir sangat dekat (< 50m), anggap rute melingkar. + if (_routePoints.isNotEmpty) { + double startEndDist = NavigationHelper.calculateDistance(_routePoints.first, _routePoints.last); + _isCircular = startEndDist < 50; + } + }); + } catch (e) { + print("Error parsing route points: $e"); + } + } + + Future _initLocationTracking() async { + bool serviceEnabled; + LocationPermission permission; + + serviceEnabled = await Geolocator.isLocationServiceEnabled(); + if (!serviceEnabled) { + return Future.error('Location services are disabled.'); + } + + permission = await Geolocator.checkPermission(); + if (permission == LocationPermission.denied) { + permission = await Geolocator.requestPermission(); + if (permission == LocationPermission.denied) { + return Future.error('Location permissions are denied'); + } + } + + // Ambil posisi awal + Position position = await Geolocator.getCurrentPosition(); + _updatePosition(position); + + // Ambil cuaca awal sekali saja saat GPS terdeteksi pertama kali + _fetchWeather(position.latitude, position.longitude); + _fetchForecast(position.latitude, position.longitude); + + // Stream posisi real-time + try { + final LocationSettings locationSettings = AndroidSettings( + accuracy: LocationAccuracy.bestForNavigation, + distanceFilter: 1, // Set ke 1 agar update sesering mungkin + intervalDuration: const Duration(seconds: 1), // Paksa update tiap 1 detik + foregroundNotificationConfig: const ForegroundNotificationConfig( + notificationText: "Smart Cycling sedang melacak perjalanan Anda", + notificationTitle: "Navigasi Aktif", + enableWakeLock: true, + ), + ); + + _positionStream = Geolocator.getPositionStream(locationSettings: locationSettings) + .listen((Position position) { + _updatePosition(position); + }, onError: (e) { + debugPrint("GPS Stream Error: $e"); + }); + } catch (e) { + debugPrint("Error starting location stream: $e"); + // Fallback: Try standard settings if AndroidSettings fails + _positionStream = Geolocator.getPositionStream( + locationSettings: const LocationSettings( + accuracy: LocationAccuracy.best, + distanceFilter: 0, + ), + ).listen(_updatePosition); + } + + setState(() => _isLoading = false); + } + + void _updatePosition(Position position) { + if (!mounted) return; + + final newPos = LatLng(position.latitude, position.longitude); + debugPrint("GPS Update: ${position.latitude}, ${position.longitude}"); + setState(() { + _currentPosition = newPos; + if (_navStatus == NavStatus.active) { + if (_lastTrackedPosition != null) { + double dist = NavigationHelper.calculateDistance(_lastTrackedPosition!, newPos); + _accumulatedDistance += (dist / 1000); // km + } + _lastTrackedPosition = newPos; + } + }); + + // --- LOGIKA NAVIGASI --- + if (_routePoints.isNotEmpty) { + _processNavigation(newPos); + } + + // Auto center map jika mode following aktif + if (_isFollowingUser) { + _mapController.move(newPos, 16); + } + } + + void _processNavigation(LatLng currentPos) { + // 0. Cek jika sudah selesai + if (_navStatus == NavStatus.finished) return; + + // 1. Hitung Kedekatan dengan Jalur untuk semua Case + double minDistance = double.infinity; + int nearestIndex = -1; + + for (int i = 0; i < _routePoints.length - 1; i++) { + double dist = NavigationHelper.getDistanceToSegment(currentPos, _routePoints[i], _routePoints[i+1]); + if (dist < minDistance) { + minDistance = dist; + nearestIndex = i; + } + } + + // 2. Cek Entry Point (Jika belum mulai) + if (_navStatus == NavStatus.waiting) { + if (minDistance < 25 && nearestIndex != -1) { + // [SYARAT START KHUSUS RUTE SATU JALUR] + if (!_isCircular) { + bool isAtStart = nearestIndex <= 2; // Dekat titik awal asli + bool isAtEnd = nearestIndex >= _routePoints.length - 3; // Dekat titik akhir asli + + if (!isAtStart && !isAtEnd) { + // Pengguna di tengah rute satu jalur, jangan izinkan start + return; + } + } + + setState(() { + _navStatus = NavStatus.readyToStart; + _targetPointIndex = nearestIndex; // Mark titik mulai terdekat + // Hitung sisa jarak dari titik masuk ke finish + _calculateRemainingDistance(nearestIndex, currentPos); + }); + _showStartDialog(); + } + return; + } + + // 3. Cek Off-Route (Hanya saat perjalanan sedang berlangsung atau dijeda) + if (_navStatus == NavStatus.active || _navStatus == NavStatus.paused) { + // Peringatan Keluar Jalur: Tingkatkan ke 15m karena 5m masih sering false-positive + if (minDistance > 10.0) { + if (!_isOffRoute) { + setState(() { + _isOffRoute = true; + if (_navStatus == NavStatus.active) { + _navStatus = NavStatus.paused; + _pausePosition = currentPos; + _timer?.cancel(); + } + }); + _speak("Anda keluar dari jalur, perjalanan dihentikan sementara"); + } + } else if (minDistance <= 10.0) { + // Kembali ke jalur (Toleransi 10m agar lebih stabil) + if (_isOffRoute) { + // 1. Cek dulu apakah dia meloncat rute (Potong Jalan) + if (nearestIndex > _lastReachedIndex + 3) { + _handleMissedPath(); + return; + } + + // Jika tidak meloncat, otomatis resume perjalanan + setState(() { + _isOffRoute = false; + if (_navStatus == NavStatus.paused) { + _navStatus = NavStatus.active; + _startCountdown(); + _speak("Anda kembali ke jalur, melanjutkan perjalanan"); + } + }); + } + } + } + + // 4. Strict Point Sequence & U-Turn Detection + if (_navStatus == NavStatus.active && nearestIndex != -1) { + // A. DETEKSI ARAH AWAL (Tentukan arah maju atau mundur saat mulai bergerak) + if (!_directionDetected) { + if (nearestIndex != _lastReachedIndex) { + // Jika rute melingkar, pengguna bisa gowes ke arah titik 1 (Maju) atau titik Akhir (Mundur) + if (_isCircular && nearestIndex > _routePoints.length - 5) { + setState(() { + _isRouteReversed = true; + _routePoints = _routePoints.reversed.toList(); + _lastReachedIndex = 0; + }); + _speak("Arah perjalanan: Mundur. Tetap pada jalur ini."); + } else { + // Arah Maju (Rute satu jalur sudah dibalik di _startTrip jika perlu) + setState(() { + _lastReachedIndex = nearestIndex; + }); + _speak("Arah perjalanan: Maju. Selamat bersepeda."); + } + _directionDetected = true; + } + return; + } + + // B. DETEKSI PUTAR BALIK (U-TURN) + // Jika user mundur dari titik terjauh yang pernah dicapai (toleransi 3 titik) + if (nearestIndex < _lastReachedIndex - 3) { + _handleUTurn(); + return; + } + + // 4b. DETEKSI POTONG JALUR (STRICT ZERO TOLERANCE) + // Jika user melompati lebih dari 3 titik koordinat (indikasi potong kompas) + if (nearestIndex > _lastReachedIndex + 3) { + _handleMissedPath(); + return; + } + + // Update progress target jika user bergerak maju + if (nearestIndex > _lastReachedIndex) { + setState(() { + _lastReachedIndex = nearestIndex; + }); + } + + // Hitung sisa jarak dinamis + _calculateRemainingDistance(nearestIndex, currentPos); + + // Turn-by-Turn Guidance - Threshold 2-5 meter sesuai permintaan + for (int j = nearestIndex + 1; j <= nearestIndex + 5 && j < _routePoints.length - 1; j++) { + String? maneuver = NavigationHelper.detectManeuver(_routePoints, j); + if (maneuver != null && _lastManeuverIndex != j) { + double distToTurn = NavigationHelper.calculateDistance(currentPos, _routePoints[j]); + + // Trigger Peringatan H-2m (disesuaikan rentang 2-5m agar GPS tidak terlewat) + if (distToTurn <= 3 && distToTurn >= 1) { + setState(() { + _nextInstruction = "$maneuver di depan"; + _lastManeuverIndex = j; + _distanceToNextTurn = distToTurn; + }); + break; + } + } + } + } + + // 5. Deteksi Selesai (Finish Point) + // Syarat Selesai: + // 1. Dekat dengan titik terakhir rute + // 2. Jika rute melingkar: Sudah menempuh minimal 80% dari rute (mencegah selesai prematur di awal) + // 3. Jika rute satu jalur: Sudah menempuh minimal 90% dari rute + double distToEnd = NavigationHelper.calculateDistance(currentPos, _routePoints.last); + double progressPercent = (_routePoints.isNotEmpty) ? _lastReachedIndex / (_routePoints.length - 1) : 0; + + bool canFinish = _isCircular + ? (distToEnd < 25 && progressPercent > 0.9) // Harus satu putaran penuh + : (distToEnd < 25 && progressPercent > 0.9); // Harus sampai di ujung seberang + + if (_navStatus == NavStatus.active && canFinish) { + _showFinishDialog(); + } + } + + void _showStartDialog() { + _speak("Anda sudah berada di jalur rute. Mulai perjalanan anda sekarang?"); + showDialog( + context: context, + barrierDismissible: false, + builder: (context) => BackdropFilter( + filter: ImageFilter.blur(sigmaX: 5, sigmaY: 5), + child: AlertDialog( + backgroundColor: const Color(0xFF1E2140), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + title: const Text("Mulai Perjalanan?", style: TextStyle(color: Colors.white, fontWeight: FontWeight.bold)), + content: const Text("Anda sudah memasuki area rute. Klik 'Start' untuk mencatat performa gowes Anda.", style: TextStyle(color: Colors.white70)), + actions: [ + TextButton( + onPressed: () { + Navigator.pop(context); + _startTrip(); + }, + child: const Text("START", style: TextStyle(color: Colors.greenAccent, fontWeight: FontWeight.bold)) + ), + ], + ), + ), + ); + } + + void _startTrip() { + setState(() { + if (!_isCircular) { + // RUTE SATU JALUR: Jika start dari ujung akhir, balik rutenya agar flow tetap 0 -> N + if (_targetPointIndex >= _routePoints.length - 3) { + _routePoints = _routePoints.reversed.toList(); + _targetPointIndex = 0; + } + _lastReachedIndex = _targetPointIndex; + } else { + // RUTE MELINGKAR: Susun ulang rute agar titik masuk menjadi titik 0 + if (_targetPointIndex > 0 && _targetPointIndex < _routePoints.length - 1) { + List startPart = _routePoints.sublist(_targetPointIndex); + List endPart = _routePoints.sublist(0, _targetPointIndex + 1); + _routePoints = [...startPart, ...endPart]; + } + _targetPointIndex = 0; + _lastReachedIndex = 0; + } + + _navStatus = NavStatus.active; + _isOffRoute = false; // Reset status off-route saat mulai + _directionDetected = false; + _isRouteReversed = false; + _accumulatedDistance = 0; + _lastTrackedPosition = _currentPosition; + }); + + // Hitung sisa jarak awal secara eksplisit agar UI langsung terupdate + if (_currentPosition != null) { + _calculateRemainingDistance(_lastReachedIndex, _currentPosition!); + } + + _speak("Perjalanan dimulai. Selamat menempuh rute ${_isCircular ? 'bundar' : 'satu jalur'}."); + _startCountdown(); + } + + void _togglePauseTrip() { + if (_isOffRoute) { + _speak("Anda tidak bisa memulai perjalanan sebelum memasuki jalur rute"); + showDialog( + context: context, + builder: (context) => AlertDialog( + backgroundColor: Colors.red.shade900, + title: const Text("Peringatan", style: TextStyle(color: Colors.white)), + content: const Text("Anda tidak bisa melanjutkan perjalanan sebelum memasuki jalur rute kembali.", style: TextStyle(color: Colors.white)), + actions: [ + TextButton(onPressed: () => Navigator.pop(context), child: const Text("OK", style: TextStyle(color: Colors.white))), + ], + ), + ); + return; + } + + setState(() { + if (_navStatus == NavStatus.active) { + _navStatus = NavStatus.paused; + _pausePosition = _currentPosition; // Simpan titik saat ini untuk cek resume + _timer?.cancel(); + _speak("Perjalanan dijeda"); + } else if (_navStatus == NavStatus.paused) { + // Cek jika posisi resume masih sama (toleransi 10m) + if (_pausePosition != null && _currentPosition != null) { + double dist = NavigationHelper.calculateDistance(_currentPosition!, _pausePosition!); + if (dist > 10.0) { + _speak("Gagal melanjutkan. Anda harus kembali ke titik awal saat menjeda perjalanan."); + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar( + content: Text("⚠️ Anda harus kembali ke titik jeda terakhir (Toleransi 10m)."), + backgroundColor: Colors.orange, + ) + ); + return; + } + } + _navStatus = NavStatus.active; + _startCountdown(); + _speak("Perjalanan dilanjutkan"); + } + }); + } + + void _handleJumpAhead() { + _navStatus = NavStatus.finished; + _timer?.cancel(); + _positionStream?.cancel(); + + _speak("Anda me-resume rute di lokasi berbeda, misi otomatis gagal."); + + showDialog( + context: context, + barrierDismissible: false, + builder: (context) => AlertDialog( + backgroundColor: Colors.red.shade900, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + title: const Row( + children: [ + Icon(Icons.warning_amber_rounded, color: Colors.white), + SizedBox(width: 10), + Text("Misi Gagal!", style: TextStyle(color: Colors.white)), + ], + ), + content: const Text("Anda terdeteksi melanjutkan perjalanan di titik yang berbeda dari titik jeda terakhir. Misi ini otomatis gagal karena ketidaksesuaian data.", style: TextStyle(color: Colors.white)), + actions: [ + TextButton( + onPressed: () { + Navigator.pop(context); // Tutup dialog + Navigator.pop(context); // Kembali ke Home + }, + child: const Text("KEMBALI KE HOME", style: TextStyle(color: Colors.white, fontWeight: FontWeight.bold)) + ), + ], + ), + ); + } + + void _handleUTurn() { + _navStatus = NavStatus.finished; + _timer?.cancel(); + _positionStream?.cancel(); + + _speak("Anda memutar balik arah, misi otomatis gagal."); + + showDialog( + context: context, + barrierDismissible: false, + builder: (context) => AlertDialog( + backgroundColor: Colors.orange.shade900, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + title: const Row( + children: [ + Icon(Icons.warning_amber_rounded, color: Colors.white), + SizedBox(width: 10), + Text("Misi Gagal!", style: TextStyle(color: Colors.white)), + ], + ), + content: const Text("Anda memutar balik arah. Misi ini otomatis gagal dan tidak akan tersimpan ke riwayat.", style: TextStyle(color: Colors.white)), + actions: [ + TextButton( + onPressed: () { + Navigator.pop(context); // Tutup dialog + Navigator.pop(context); // Kembali ke Home + }, + child: const Text("KEMBALI KE HOME", style: TextStyle(color: Colors.white, fontWeight: FontWeight.bold)) + ), + ], + ), + ); + } + + void _handleMissedPath() { + _navStatus = NavStatus.finished; + _timer?.cancel(); + _positionStream?.cancel(); + + _speak("Ada jalur yang terlewat, misi otomatis gagal."); + + showDialog( + context: context, + barrierDismissible: false, + builder: (context) => AlertDialog( + backgroundColor: Colors.red.shade900, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + title: const Row( + children: [ + Icon(Icons.error_outline, color: Colors.white), + SizedBox(width: 10), + Text("Misi Gagal!", style: TextStyle(color: Colors.white)), + ], + ), + content: const Text("Gps mendeteksi Anda memotong rute. Misi ini otomatis gagal dan tidak akan tersimpan ke riwayat.", style: TextStyle(color: Colors.white)), + actions: [ + TextButton( + onPressed: () { + Navigator.pop(context); // Tutup dialog + Navigator.pop(context); // Kembali ke Home + }, + child: const Text("KEMBALI KE HOME", style: TextStyle(color: Colors.white, fontWeight: FontWeight.bold)) + ), + ], + ), + ); + } + + void _confirmManualFinish() { + showDialog( + context: context, + builder: (context) => AlertDialog( + backgroundColor: const Color(0xFF1E2140), + title: const Text("Selesaikan Perjalanan?", style: TextStyle(color: Colors.white)), + content: const Text("Apakah anda yakin ingin mengakhiri perjalanan ini?", style: TextStyle(color: Colors.white70)), + actions: [ + TextButton(onPressed: () => Navigator.pop(context), child: const Text("BATAL")), + TextButton( + onPressed: () { + Navigator.pop(context); + _finishTrip(manually: true); + }, + child: const Text("AKHIRI", style: TextStyle(color: Colors.redAccent)) + ), + ], + ), + ); + } + + void _showFinishDialog() { + if (_navStatus == NavStatus.finished) return; + setState(() => _navStatus = NavStatus.finished); + _timer?.cancel(); + + _speak("Misi selesai! Anda sudah berhasil menyelesaikan perjalanan ini."); + + showDialog( + context: context, + barrierDismissible: false, + builder: (context) => BackdropFilter( + filter: ImageFilter.blur(sigmaX: 5, sigmaY: 5), + child: AlertDialog( + backgroundColor: const Color(0xFF1E2140), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + title: const Row( + children: [ + Icon(Icons.stars, color: Colors.yellowAccent), + SizedBox(width: 10), + Text("Misi Selesai!", style: TextStyle(color: Colors.white, fontWeight: FontWeight.bold)), + ], + ), + content: const Text("Selamat! Anda sudah berhasil menyelesaikan perjalanan ini dan melewati semua titik rute.", style: TextStyle(color: Colors.white70)), + actions: [ + ElevatedButton( + onPressed: () { + Navigator.pop(context); + _finishTrip(manually: false); + }, + style: ElevatedButton.styleFrom( + backgroundColor: Colors.greenAccent, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)) + ), + child: const Text("SIMPAN & SELESAI", style: TextStyle(color: Colors.black, fontWeight: FontWeight.bold)) + ), + ], + ), + ), + ); + } + + void _calculateRemainingDistance(int nearestIndex, LatLng currentPos) { + double total = 0; + // Gunakan _lastReachedIndex atau nearestIndex untuk sisa jarak yang konsisten + int currentIndex = nearestIndex; + + if (currentIndex + 1 < _routePoints.length) { + // Jarak dari posisi saat ini ke titik rute berikutnya + total += NavigationHelper.calculateDistance(currentPos, _routePoints[currentIndex + 1]); + + // Tambahkan jarak antar semua titik rute yang tersisa + for (int i = currentIndex + 1; i < _routePoints.length - 1; i++) { + total += NavigationHelper.calculateDistance(_routePoints[i], _routePoints[i + 1]); + } + } + + setState(() { + _remainingDistance = total / 1000; // Ubah ke KM + }); + } + + void _startCountdown() { + _timer?.cancel(); // Pastikan tidak ada timer ganda + _timer = Timer.periodic(const Duration(seconds: 1), (timer) { + if (_navStatus != NavStatus.active) { + timer.cancel(); + return; + } + setState(() { + _remainingSeconds--; + _elapsedSeconds++; + + if (_remainingSeconds == 300) _speak("Sisa waktu lima menit lagi"); + if (_remainingSeconds == 60) _speak("Sisa waktu satu menit lagi, ayo percepat gowes anda!"); + }); + }); + } + + String _formatTime(int seconds) { + bool isNegative = seconds < 0; + int absSecs = seconds.abs(); + int m = absSecs ~/ 60; + int s = absSecs % 60; + String result = "${m.toString().padLeft(2, '0')}:${s.toString().padLeft(2, '0')}"; + return isNegative ? "+$result" : result; // Ganti '-' dengan '+' sesuai permintaan + } + + Future _finishTrip({required bool manually}) async { + _navStatus = NavStatus.finished; + _timer?.cancel(); + _positionStream?.cancel(); + + bool isSuccess = !manually && _remainingSeconds >= 0; + String status = isSuccess ? "BERHASIL" : "GAGAL"; + + // Simpan ke Riwayat + await _saveToHistory(status); + + if (!mounted) return; + + // Jika manual finish butuh dialog hasil berbeda + showDialog( + context: context, + barrierDismissible: false, + builder: (context) => BackdropFilter( + filter: ImageFilter.blur(sigmaX: 5, sigmaY: 5), + child: AlertDialog( + backgroundColor: const Color(0xFF1E2140), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + content: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Icon( + isSuccess ? Icons.emoji_events : (manually ? Icons.flag_outlined : Icons.timer_off_outlined), + size: 80, + color: isSuccess ? Colors.yellowAccent : (manually ? Colors.blueAccent : Colors.redAccent), + ), + const SizedBox(height: 20), + Text( + manually ? "PERJALANAN SELESAI" : "MISI $status!", + style: const TextStyle(color: Colors.white, fontSize: 24, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 10), + Text( + isSuccess + ? "Selamat! Anda berhasil mencapai target waktu sebagai pesepeda tangguh." + : (manually ? "Perjalanan telah dihentikan oleh pengguna. Data Anda sudah tersimpan di riwayat." : "Sayang sekali, Anda belum mencapai target waktu. Jangan menyerah, coba lagi nanti!"), + textAlign: TextAlign.center, + style: const TextStyle(color: Colors.white70), + ), + const SizedBox(height: 30), + ElevatedButton( + onPressed: () { + Navigator.pop(context); // Tutup dialog + Navigator.pop(context); // Kembali ke Home + }, + style: ElevatedButton.styleFrom( + backgroundColor: Colors.blueAccent, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)) + ), + child: const Text("KEMBALI", style: TextStyle(color: Colors.white)), + ) + ], + ), + ), + ), + ); + + if (manually) { + _speak("Perjalanan diakhiri. Riwayat perjalanan Anda telah tersimpan."); + } else { + _speak(isSuccess + ? "Selamat, perjalan anda selesai. Anda berhasil dalam misi perjalanan ini!" + : "Perjalanan selesai. Anda gagal dalam misi perjalanan ini. Tetap semangat!"); + } + } + + Future _saveToHistory(String status) async { + double totalRouteDistance = double.tryParse(widget.routeData['jarak'].toString()) ?? 0; + double traveledDistance = _accumulatedDistance; + if (traveledDistance < 0.05) traveledDistance = 0; // Anggap 0 jika di bawah 50 meter untuk mengatasi jitter GPS + if (status == "BERHASIL") traveledDistance = totalRouteDistance; + + int timeSpentSeconds = (widget.targetMinutes * 60) - _remainingSeconds; + // waktu_tempuh bisa lebih besar dari target (misal target 10 menit, tempuh 13 menit) + // Jika sisa waktu negatif, berarti telat. + if (timeSpentSeconds < 0) timeSpentSeconds = 0; + + double avgSpeed = 0; + if (timeSpentSeconds > 0) { + double timeInHours = timeSpentSeconds / 3600; + avgSpeed = traveledDistance / timeInHours; + } + + final url = Uri.parse("${ApiConfig.baseUrl}/save_history.php"); + try { + await http.post(url, body: { + 'id_users': SessionManager.userId.toString(), + 'id_routes': widget.routeData['id_routes'].toString(), + 'target_waktu': (widget.targetMinutes * 60).toString(), + 'status': status, + 'jarak_tempuh': traveledDistance.toStringAsFixed(2), + 'waktu_tempuh': timeSpentSeconds.toString(), + 'kecepatan_rata_rata': avgSpeed.toStringAsFixed(1), + 'tanggal': DateTime.now().toString(), + }); + } catch (e) { + debugPrint("Gagal menyimpan riwayat ke server: $e"); + } + } + + Future _fetchWeather(double lat, double lon) async { + final data = await _weatherService.fetchWeather(lat, lon); + if (data != null && mounted) { + setState(() { + _weatherData = data; + _checkWeatherAlerts(data); + }); + } + } + + Future _fetchForecast(double lat, double lon) async { + final data = await _weatherService.fetchForecast(lat, lon); + if (data != null && mounted) { + // Cek forecast untuk peringatan "akan hujan" (H-5 menit disimulasikan dari probabilitas hujan terdekat) + _checkForecastAlerts(data); + } + } + + void _checkWeatherAlerts(Map data) { + // Cek kondisi saat ini + String mainWeather = data['weather'][0]['main'].toString().toLowerCase(); + bool currentlyRaining = mainWeather.contains('rain') || mainWeather.contains('drizzle') || mainWeather.contains('thunderstorm'); + + if (currentlyRaining && !_isRaining) { + _isRaining = true; + _dryWarningSpoken = false; + if (!_rainWarningSpoken && _rainWarningCount < 2) { + _speak("Peringatan, saat ini mulai turun hujan. Mohon segera berteduh demi keamanan."); + _showWeatherSnackBar("⚠️ Hujan Turun! Mohon segera berteduh."); + _rainWarningSpoken = true; + _rainWarningCount++; + } + } else if (!currentlyRaining && _isRaining) { + _isRaining = false; + _rainWarningSpoken = false; + if (!_dryWarningSpoken && _dryWarningCount < 2) { + _speak("Hujan telah reda. Anda dapat melanjutkan perjalanan dengan hati-hati."); + _showWeatherSnackBar("🌤️ Hujan Reda. Tetap waspada jalan licin."); + _dryWarningSpoken = true; + _dryWarningCount++; + } + } + } + + void _checkForecastAlerts(Map data) { + // Simulasi H-5 Menit menggunakan data forecast terdekat + // Karena API gratis hanya memberikan per 3 jam, kita cek probability of precipitation (pop) + // Jika pop tinggi (> 0.5) pada forecast terdekat, berikan peringatan dini. + if (data['list'] != null && data['list'].isNotEmpty) { + var nextForecast = data['list'][0]; + double pop = double.tryParse(nextForecast['pop'].toString()) ?? 0; + String nextWeather = nextForecast['weather'][0]['main'].toString().toLowerCase(); + + if (pop > 0.7 && (nextWeather.contains('rain')) && !_isRaining) { + if (!_rainWarningSpoken && _rainWarningCount < 2) { + // Anggap ini peringatan "Akan Hujan" + _speak("Peringatan, diperkirakan akan turun hujan dalam waktu dekat. Persiapkan diri Anda."); + _showWeatherSnackBar("⛈️ Perkiraan Hujan dalam waktu dekat!"); + _rainWarningSpoken = true; + _rainWarningCount++; + } + } + } + } + + void _showWeatherSnackBar(String message) { + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + content: Text(message, style: const TextStyle(fontWeight: FontWeight.bold)), + backgroundColor: Colors.blueGrey.shade900, + behavior: SnackBarBehavior.floating, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)), + duration: const Duration(seconds: 5), + ) + ); + } + + @override + void dispose() { + _timer?.cancel(); + _weatherTimer?.cancel(); + _positionStream?.cancel(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + String weatherIcon = _weatherData != null + ? "https://openweathermap.org/img/wn/${_weatherData!['weather'][0]['icon']}@2x.png" + : ""; + + return Scaffold( + body: Stack( + children: [ + // MAP LAYER + FlutterMap( + mapController: _mapController, + options: MapOptions( + initialCenter: _routePoints.isNotEmpty ? _routePoints.first : const LatLng(-8.3, 113.6), + initialZoom: 15, + onPositionChanged: (pos, hasGesture) { + if (hasGesture && _isFollowingUser) { + setState(() => _isFollowingUser = false); // Matikan auto-center jika user geser peta + } + }, + ), + children: [ + TileLayer( + urlTemplate: 'https://tile.openstreetmap.org/{z}/{x}/{y}.png', + userAgentPackageName: 'com.example.smart_cycling', + ), + if (_routePoints.isNotEmpty) + PolylineLayer( + polylines: [ + Polyline( + points: _routePoints, + color: Colors.blueAccent.withOpacity(0.6), + strokeWidth: 8, + ), + Polyline( + points: _routePoints, + color: Colors.white.withOpacity(0.3), + strokeWidth: 2, + ), + ], + ), + if (_routePoints.isNotEmpty) + MarkerLayer( + markers: [ + // Start/Finish Marker (Flag) + Marker( + point: _routePoints.last, + width: 50, + height: 50, + child: Column( + children: [ + Container( + padding: const EdgeInsets.all(4), + decoration: const BoxDecoration( + color: Colors.redAccent, + shape: BoxShape.circle, + ), + child: const Icon(Icons.flag, color: Colors.white, size: 20), + ), + const Text("FINISH", style: TextStyle(color: Colors.redAccent, fontWeight: FontWeight.bold, fontSize: 10)), + ], + ), + ), + ], + ), + if (_currentPosition != null) + MarkerLayer( + markers: [ + Marker( + point: _currentPosition!, + width: 40, + height: 40, + child: Stack( + alignment: Alignment.center, + children: [ + // Shadow/Glow effect + Container( + width: 35, + height: 35, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.blue.withOpacity(0.3), + ), + ), + // Outer White Circle + Container( + width: 20, + height: 20, + decoration: const BoxDecoration( + shape: BoxShape.circle, + color: Colors.white, + ), + ), + // Inner Blue Dot (Google Maps Style) + Container( + width: 14, + height: 14, + decoration: const BoxDecoration( + shape: BoxShape.circle, + color: Colors.blue, + ), + ), + // Small Cyclist Overlay + const Icon(Icons.directions_bike, size: 10, color: Colors.white), + ], + ), + ), + ], + ), + ], + ), + + // TOP HEADER (Route Info & Navigation Instruction) + Positioned( + top: 50, + left: 20, + right: 20, + child: Column( + children: [ + // Instruction Panel + const SizedBox(height: 0), + + Row( + children: [ + CircleAvatar( + backgroundColor: const Color(0xFF1E2140), + child: IconButton( + icon: const Icon(Icons.arrow_back, color: Colors.white), + onPressed: () => Navigator.pop(context), + ), + ), + const SizedBox(width: 15), + Expanded( + child: ClipRRect( + borderRadius: BorderRadius.circular(20), + child: BackdropFilter( + filter: ImageFilter.blur(sigmaX: 12, sigmaY: 12), + child: Container( + padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 12), + decoration: BoxDecoration( + color: const Color(0xFF1E2140).withOpacity(0.85), + borderRadius: BorderRadius.circular(20), + border: Border.all(color: Colors.white.withOpacity(0.2)), + boxShadow: [ + BoxShadow(color: Colors.black.withOpacity(0.3), blurRadius: 10) + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + widget.routeData['nama_rute'] ?? "Navigasi", + style: const TextStyle(color: Colors.white, fontWeight: FontWeight.bold, fontSize: 16), + overflow: TextOverflow.ellipsis, + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + "${_remainingDistance.toStringAsFixed(2)} KM lagi • ${widget.routeData['kondisi_medan']}", + style: const TextStyle(color: Colors.blueAccent, fontSize: 12, fontWeight: FontWeight.w600), + ), + Column( + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + if (_navStatus == NavStatus.active || _navStatus == NavStatus.paused) + Padding( + padding: const EdgeInsets.only(bottom: 4.0), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + _buildSmallControlBtn( + icon: _navStatus == NavStatus.active ? Icons.pause_circle_filled : Icons.play_circle_filled, + color: _navStatus == NavStatus.active ? Colors.orangeAccent : Colors.greenAccent, + onTap: _togglePauseTrip, + ), + const SizedBox(width: 8), + _buildSmallControlBtn( + icon: Icons.stop_circle, + color: Colors.redAccent, + onTap: _confirmManualFinish, + ), + ], + ), + ), + Text( + _formatTime(_remainingSeconds), + style: TextStyle( + color: _remainingSeconds < 0 ? Colors.redAccent : Colors.greenAccent, + fontWeight: FontWeight.bold, + fontSize: 16, + ), + ), + ], + ), + ], + ), + ], + ), + ), + ), + ), + ), + ], + ), + ], + ), + ), + + // FLOATING ACTION BUTTONS + Positioned( + right: 20, + bottom: 310, // Naikkan ke atas agar tidak tertutup + child: Column( + children: [ + FloatingActionButton( + heroTag: "follow", + backgroundColor: _isFollowingUser ? Colors.blue : const Color(0xFF1E2140), + mini: true, + onPressed: () { + setState(() => _isFollowingUser = !_isFollowingUser); + if (_isFollowingUser && _currentPosition != null) { + _mapController.move(_currentPosition!, 16); + } + }, + child: Icon( + _isFollowingUser ? Icons.my_location : Icons.location_searching, + color: Colors.white, + ), + ), + ], + ), + ), + + + // WEATHER PANEL (Premium Deep Blue Glassmorphism) + if (_weatherData != null) + Positioned( + bottom: 30, + left: 20, + right: 20, + child: ClipRRect( + borderRadius: BorderRadius.circular(30), + child: BackdropFilter( + filter: ImageFilter.blur(sigmaX: 15, sigmaY: 15), + child: Container( + padding: const EdgeInsets.all(24), + decoration: BoxDecoration( + gradient: LinearGradient( + colors: [ + const Color(0xFF1E2140).withOpacity(0.95), + const Color(0xFF0D0F21).withOpacity(0.85) + ], + begin: Alignment.topLeft, + end: Alignment.bottomRight, + ), + borderRadius: BorderRadius.circular(30), + border: Border.all(color: Colors.white.withOpacity(0.1)), + ), + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Row( + children: [ + Image.network(weatherIcon, width: 60, height: 60, + errorBuilder: (c,e,s) => const Icon(Icons.wb_sunny, color: Colors.yellow, size: 40), + ), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + "${_weatherData!['main']['temp'].round()}°C", + style: const TextStyle(color: Colors.white, fontSize: 36, fontWeight: FontWeight.bold), + ), + Text( + _weatherData!['weather'][0]['description'].toString().toUpperCase(), + style: const TextStyle(color: Colors.blueAccent, fontSize: 12, fontWeight: FontWeight.w600, letterSpacing: 1.2), + ), + ], + ), + ], + ), + Container( + padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 6), + decoration: BoxDecoration( + color: Colors.blueAccent.withOpacity(0.2), + borderRadius: BorderRadius.circular(10), + border: Border.all(color: Colors.blueAccent.withOpacity(0.5)), + ), + child: const Text("REAL-TIME", style: TextStyle(color: Colors.blueAccent, fontSize: 10, fontWeight: FontWeight.bold)), + ), + ], + ), + const SizedBox(height: 20), + Divider(color: Colors.white.withOpacity(0.1)), + const SizedBox(height: 10), + Row( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + _buildWeatherDetail(Icons.water_drop, "${_weatherData!['main']['humidity']}%", "Kelembaban"), + _buildWeatherDetail(Icons.air, "${_weatherData!['wind']['speed']} m/s", "Angin"), + _buildWeatherDetail(Icons.visibility, "${(_weatherData!['visibility']/1000).toStringAsFixed(1)} km", "Jarak Pandang"), + ], + ), + ], + ), + ), + ), + ), + ), + + if (_isLoading) + const Center(child: CircularProgressIndicator(color: Colors.white)), + ], + ), + ); + } + + Widget _buildWeatherDetail(IconData icon, String value, String label) { + return Column( + children: [ + Icon(icon, color: Colors.blueAccent, size: 20), + const SizedBox(height: 8), + Text(value, style: const TextStyle(color: Colors.white, fontWeight: FontWeight.bold)), + Text(label, style: const TextStyle(color: Colors.white54, fontSize: 10)), + ], + ); + } + + Widget _buildSmallControlBtn({required IconData icon, required Color color, required VoidCallback onTap}) { + return GestureDetector( + onTap: onTap, + child: Icon(icon, color: color, size: 24), // Ukuran kecil tanpa latar belakang + ); + } +} diff --git a/smart_cycling/lib/screens/profile_screen.dart b/smart_cycling/lib/screens/profile_screen.dart new file mode 100644 index 0000000..dfc6452 --- /dev/null +++ b/smart_cycling/lib/screens/profile_screen.dart @@ -0,0 +1,415 @@ +import 'dart:ui'; +import 'dart:convert'; +import 'package:flutter/material.dart'; +import 'package:image_picker/image_picker.dart'; +import 'package:flutter/foundation.dart'; // import kIsWeb +import 'package:http/http.dart' as http; +import '../utils/session_manager.dart'; +import '../utils/api_config.dart'; +import '../main.dart'; // import themeNotifier + +class ProfileScreen extends StatefulWidget { + const ProfileScreen({super.key}); + + @override + State createState() => _ProfileScreenState(); +} + +class _ProfileScreenState extends State { + bool _isUploading = false; + + // Fungsi untuk mengunggah foto profil + Future _pickAndUploadPhoto() async { + final picker = ImagePicker(); + final pickedFile = await picker.pickImage(source: ImageSource.gallery, imageQuality: 70); + + if (pickedFile != null && mounted) { + setState(() => _isUploading = true); + + try { + var request = http.MultipartRequest('POST', Uri.parse('${ApiConfig.baseUrl}/upload_photo.php')); + request.fields['id_users'] = SessionManager.userId.toString(); + if (kIsWeb) { + // Web needs readAsBytes since path is just a blob URL + final bytes = await pickedFile.readAsBytes(); + request.files.add(http.MultipartFile.fromBytes( + 'photo', + bytes, + filename: pickedFile.name, + )); + } else { + // Android/Mobile can use path + request.files.add(await http.MultipartFile.fromPath('photo', pickedFile.path)); + } + + var response = await request.send(); + if (response.statusCode == 200) { + var responseData = await response.stream.bytesToString(); + var data = jsonDecode(responseData); + + // Check for 'status' instead of 'success' to match backend + if (data['status'] == 'success') { + setState(() { + SessionManager.userPhoto = data['photo_url']; // Save url photo + }); + if(mounted) ScaffoldMessenger.of(context).showSnackBar(const SnackBar(content: Text('Foto profil diunggah!'))); + } else { + if(mounted) ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text('Gagal: ${data['message']}'))); + } + } + } catch (e) { + if(mounted) ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text('Gagal unggah foto: $e'))); + } + + setState(() => _isUploading = false); + } + } + + // Fungsi Hapus Akun + void _deleteAccount() { + showDialog( + context: context, + builder: (BuildContext ctx) { + return AlertDialog( + title: const Text("Hapus Akun Permanen", style: TextStyle(color: Colors.red)), + content: const Text("Apakah Anda yakin ingin menghapus akun ini secara permanen? Data yang dihapus tidak dapat dipulihkan."), + actions: [ + TextButton( + onPressed: () => Navigator.pop(ctx), + child: const Text("Batal", style: TextStyle(color: Colors.grey)), + ), + ElevatedButton( + onPressed: () async { + Navigator.pop(ctx); // Tutup dialog konfirmasi + try { + final response = await http.post( + Uri.parse('${ApiConfig.baseUrl}/delete_account.php'), + body: {'id_users': SessionManager.userId.toString()}, + ); + final data = jsonDecode(response.body); + if (data['status'] == 'success' && mounted) { + // Kosongkan sesi lokal + SessionManager.userId = null; + SessionManager.userName = null; + SessionManager.userEmail = null; + SessionManager.userPhoto = null; + + // Tampilkan pop-up keberhasilan + showDialog( + context: context, + barrierDismissible: false, + builder: (BuildContext context) { + return AlertDialog( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + title: Column( + children: [ + Icon(Icons.check_circle_outline, color: Colors.greenAccent[400], size: 70), + const SizedBox(height: 16), + const Text("Akun Berhasil Dihapus", style: TextStyle(fontWeight: FontWeight.bold)), + ], + ), + content: const Text( + "Akun Anda telah dihapus secara permanen.", + textAlign: TextAlign.center, + style: TextStyle(fontSize: 15), + ), + ); + }, + ); + + // Berikan jeda 2.5 detik agar user sempat membaca popup + await Future.delayed(const Duration(milliseconds: 2500)); + + if (mounted) { + Navigator.pushNamedAndRemoveUntil(context, '/welcome', (route) => false); + } + } else { + if(mounted) ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text('Gagal menghapus: ${data['message']}'))); + } + } catch(e) { + if(mounted) ScaffoldMessenger.of(context).showSnackBar(const SnackBar(content: Text('Terjadi kesalahan koneksi saat menghapus akun'))); + } + }, + style: ElevatedButton.styleFrom(backgroundColor: Colors.redAccent), + child: const Text("Hapus", style: TextStyle(color: Colors.white)), + ), + ], + ); + } + ); + } + + // Fungsi untuk dummy dialog pusat bantuan + void _showInfoDialog(String title, String content) { + showDialog( + context: context, + builder: (ctx) => AlertDialog( + title: Text(title, style: const TextStyle(fontWeight: FontWeight.bold)), + content: Text(content), + actions: [ + TextButton(onPressed: () => Navigator.pop(ctx), child: const Text("Tutup")), + ], + ) + ); + } + + @override + Widget build(BuildContext context) { + final isDark = Theme.of(context).brightness == Brightness.dark; + + return Scaffold( + backgroundColor: Theme.of(context).scaffoldBackgroundColor, + body: SingleChildScrollView( + child: Column( + children: [ + // --- KARTU HEADER PROFIL DENGAN GRADIENT --- + Container( + width: double.infinity, + padding: const EdgeInsets.only(top: 70, left: 24, right: 24, bottom: 40), + decoration: const BoxDecoration( + gradient: LinearGradient( + colors: [Color(0xFF2196F3), Color(0xFF00BCD4)], + begin: Alignment.topLeft, + end: Alignment.bottomRight, + ), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + ), + child: Row( + children: [ + // Avatar dengan GestureDetector untuk Edit Photo + GestureDetector( + onTap: _isUploading ? null : _pickAndUploadPhoto, + child: Container( + padding: const EdgeInsets.all(4), + decoration: const BoxDecoration( + color: Colors.white, + shape: BoxShape.circle, + ), + child: Stack( + alignment: Alignment.center, + children: [ + CircleAvatar( + radius: 38, + backgroundColor: Colors.blueAccent, + backgroundImage: (SessionManager.userPhoto != null && SessionManager.userPhoto!.isNotEmpty) + ? NetworkImage("${ApiConfig.baseUrl}/${SessionManager.userPhoto}?t=${DateTime.now().millisecondsSinceEpoch}") + : null, + child: (SessionManager.userPhoto == null || SessionManager.userPhoto!.isEmpty) + ? const Icon(Icons.person, size: 45, color: Colors.white) + : null, + ), + if (_isUploading) + const CircularProgressIndicator(color: Colors.white) + else + Positioned( + bottom: 0, + right: 0, + child: Container( + padding: const EdgeInsets.all(4), + decoration: const BoxDecoration(color: Colors.black54, shape: BoxShape.circle), + child: const Icon(Icons.camera_alt, color: Colors.white, size: 14), + ), + ) + ], + ), + ), + ), + const SizedBox(width: 20), + // Info nama dan email + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + SessionManager.userName ?? "Pengguna", + style: const TextStyle( + fontSize: 22, + fontWeight: FontWeight.bold, + color: Colors.white, + ), + ), + const SizedBox(height: 4), + Text( + SessionManager.userEmail ?? "Tidak ada data", + style: const TextStyle( + color: Colors.white70, + fontSize: 14, + ), + ), + ], + ), + ), + ], + ), + ), + + // --- KONTEN MENU PROFIL --- + Padding( + padding: const EdgeInsets.all(24.0), + child: Column( + children: [ + // --- BAGIAN PENGATURAN AKUN --- + _buildSectionHeader("Akun", isDark), + _buildGlassMenuTile(Icons.person_outline, "Edit Profil", () async { + final updated = await Navigator.pushNamed(context, '/edit_profile'); + // Jika data kembali bernilai true, refresh halaman profil untuk menampilkan nama baru + if (updated == true) { + setState(() {}); + } + }, isDark), + // Dark Mode Switch ditaruh di Akun + _buildGlassMenuTile( + themeNotifier.value == ThemeMode.dark ? Icons.dark_mode : Icons.light_mode, + "Mode Gelap", + () { + setState(() { + if(themeNotifier.value == ThemeMode.dark) { + themeNotifier.value = ThemeMode.light; + } else { + themeNotifier.value = ThemeMode.dark; + } + }); + }, + isDark, + trailingWidget: Switch( + value: themeNotifier.value == ThemeMode.dark, + onChanged: (val) { + setState(() { + themeNotifier.value = val ? ThemeMode.dark : ThemeMode.light; + }); + }, + activeColor: Colors.blueAccent, + ), + ), + const SizedBox(height: 24), + + // --- BAGIAN DUKUNGAN & LAINNYA --- + _buildSectionHeader("Dukungan & Lainnya", isDark), + _buildGlassMenuTile(Icons.help_outline, "Pusat Bantuan", () => _showInfoDialog("Pusat Bantuan", "Jika Anda memiliki kendala teknis atau saran perbaikan, hubungi tim kami di cs@smartcycling.com atau hubungi layanan Hotline bebas pulsa kami 1500-099."), isDark), + _buildGlassMenuTile(Icons.info_outline, "Tentang Aplikasi", () => _showInfoDialog("Tentang Aplikasi", "Smart Cycling App Versi 1.0.\nDikembangkan secara khusus untuk memberikan rekomendasi rute bagi pesepeda secara efisien."), isDark), + _buildGlassMenuTile(Icons.privacy_tip_outlined, "Kebijakan Privasi", () => _showInfoDialog("Kebijakan Privasi", "Informasi lokasi dan preferensi rute Anda tersimpan dengan aman hanya pada sesi aktif. Kami tidak memperjualbelikan rekam jejak pengguna."), isDark), + const SizedBox(height: 32), + + // --- FITUR HAPUS AKUN & KELUAR --- + _buildGlassMenuTile( + Icons.delete_forever, + "Hapus Akun", + _deleteAccount, + isDark, + iconColor: Colors.orangeAccent, + textColor: Colors.orangeAccent, + showChevron: false, + ), + _buildGlassMenuTile( + Icons.logout, + "Keluar", + () { + // Tampilkan pop-up konfirmasi + showDialog( + context: context, + builder: (BuildContext context) { + return AlertDialog( + title: const Text("Konfirmasi Keluar", style: TextStyle(fontWeight: FontWeight.bold, color: Colors.red)), + content: const Text("Apakah anda yakin ingin keluar?"), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(15)), + actions: [ + TextButton( + onPressed: () => Navigator.of(context).pop(), // Tutup dialog + child: const Text("Batal", style: TextStyle(color: Colors.grey, fontWeight: FontWeight.bold)), + ), + ElevatedButton( + onPressed: () { + Navigator.of(context).pop(); // Tutup dialog + // Kosongkan sesi lokal + SessionManager.userId = null; + SessionManager.userName = null; + SessionManager.userEmail = null; + SessionManager.userPhoto = null; + Navigator.pushNamedAndRemoveUntil(context, '/welcome', (route) => false); // Arahkan ke welcome & bersihkan stack + }, + style: ElevatedButton.styleFrom( + backgroundColor: Colors.redAccent, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)), + ), + child: const Text("Keluar", style: TextStyle(color: Colors.white, fontWeight: FontWeight.bold)), + ), + ], + ); + }, + ); + }, + isDark, + iconColor: Colors.redAccent, + textColor: Colors.redAccent, + showChevron: false, // Hilangkan panah khusus untuk tombol keluar + ), + const SizedBox(height: 24), + ], + ), + ), + ], + ), + ), + ); + } + + // --- HELPER WIDGETS --- + + Widget _buildSectionHeader(String title, bool isDark) { + return Padding( + padding: const EdgeInsets.only(left: 16.0, bottom: 8.0, top: 4.0), + child: Align( + alignment: Alignment.centerLeft, + child: Text( + title, + style: TextStyle( + fontSize: 15, + fontWeight: FontWeight.bold, + color: isDark ? Colors.white70 : Colors.black87, + ), + ), + ), + ); + } + + Widget _buildGlassMenuTile(IconData icon, String title, VoidCallback onTap, bool isDark, {Color? iconColor, Color? textColor, bool showChevron = true, Widget? trailingWidget}) { + Color defaultTxColor = isDark ? Colors.white : Colors.black87; + Color defaultIcColor = isDark ? Colors.white70 : Colors.black54; + + return Container( + margin: const EdgeInsets.only(bottom: 12), + decoration: BoxDecoration( + color: isDark ? Colors.white.withOpacity(0.1) : Colors.white.withOpacity(0.55), // Transparansi efek kaca yang disesuaikan tema + borderRadius: BorderRadius.circular(15), + border: Border.all(color: isDark ? Colors.white.withOpacity(0.2) : Colors.white.withOpacity(0.9), width: 1.5), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.02), + blurRadius: 10, + spreadRadius: 1, + offset: const Offset(0, 4), + ), + ], + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(15), + child: BackdropFilter( + filter: ImageFilter.blur(sigmaX: 10, sigmaY: 10), // Fitur blur khas glassmorphism + child: ListTile( + contentPadding: const EdgeInsets.symmetric(horizontal: 20.0, vertical: 4.0), + leading: Icon(icon, color: iconColor ?? defaultIcColor, size: 26), + title: Text( + title, + style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: textColor ?? defaultTxColor), + ), + trailing: trailingWidget ?? (showChevron ? Icon(Icons.chevron_right, color: isDark ? Colors.white38 : Colors.black38, size: 20) : null), + onTap: onTap, + ), + ), + ), + ); + } +} \ No newline at end of file diff --git a/smart_cycling/lib/screens/register_screen.dart b/smart_cycling/lib/screens/register_screen.dart new file mode 100644 index 0000000..c8ad35f --- /dev/null +++ b/smart_cycling/lib/screens/register_screen.dart @@ -0,0 +1,178 @@ +import 'package:flutter/material.dart'; + +import 'package:http/http.dart' as http; +import 'dart:convert'; +import '../widgets/custom_button.dart'; +import '../widgets/custom_text_field.dart'; +import '../utils/api_config.dart'; +import '../widgets/responsive_layout.dart'; + +class RegisterScreen extends StatefulWidget { + const RegisterScreen({super.key}); + + @override + State createState() => _RegisterScreenState(); +} + +class _RegisterScreenState extends State { + final nameController = TextEditingController(); + final usernameController = TextEditingController(); + final passwordController = TextEditingController(); + final confirmPasswordController = TextEditingController(); + bool isLoading = false; + + Future registerUser() async { + // 1. Validasi Konfirmasi Password secara lokal di Flutter + if (passwordController.text != confirmPasswordController.text) { + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar(content: Text('Konfirmasi password tidak cocok!')), + ); + return; + } + + setState(() => isLoading = true); + // Mengambil baseUrl dari pengaturan sentral di utils/api_config.dart + final url = Uri.parse("${ApiConfig.baseUrl}/register.php"); + + try { + final response = await http.post(url, body: { + 'nama': nameController.text, + 'username': usernameController.text, + 'password': passwordController.text, + }); + + final data = jsonDecode(response.body); + if (!mounted) return; + + if (data['status'] == 'success') { + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar(content: Text('Registrasi Berhasil! Silakan Login.')), + ); + Navigator.pop(context); // Kembali ke halaman Login + } else { + ScaffoldMessenger.of(context).showSnackBar( + SnackBar(content: Text(data['message'])), + ); + } + } catch (e) { + if (!mounted) return; + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar(content: Text('Gagal terhubung ke server!')), + ); + } finally { + if (mounted) setState(() => isLoading = false); + } + } + + @override + Widget build(BuildContext context) { + final screenHeight = MediaQuery.of(context).size.height; + + return ResponsiveLayout( + child: Scaffold( + backgroundColor: const Color(0xFF3949AB), + body: SingleChildScrollView( + child: Column( + children: [ + Container( + height: 260, + width: double.infinity, + decoration: const BoxDecoration( + gradient: LinearGradient( + colors: [Color(0xFF3949AB), Color(0xFF00BCD4)], + begin: Alignment.topLeft, + end: Alignment.bottomRight, + ), + ), + child: SafeArea( + bottom: false, + child: Center( + child: Image.asset( + 'assets/images/cyclist.png', + height: 140, + fit: BoxFit.contain, + ), + ), + ), + ), + Transform.translate( + offset: const Offset(0, -40), + child: Container( + constraints: BoxConstraints( + minHeight: screenHeight - 220, + ), + width: double.infinity, + decoration: const BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.only( + topLeft: Radius.circular(40), + topRight: Radius.circular(40), + ), + ), + padding: const EdgeInsets.symmetric(horizontal: 32.0, vertical: 40.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + const Text( + 'Welcome!', + textAlign: TextAlign.center, + style: TextStyle( + fontFamily: 'Montserrat', + fontSize: 26, + fontWeight: FontWeight.w800, + color: Color(0xFF3949AB), + ), + ), + const SizedBox(height: 32), + CustomTextField( + hintText: 'Nama', + controller: nameController, + prefixIcon: Icons.badge_outlined, + ), + const SizedBox(height: 16), + CustomTextField( + hintText: 'Username', + controller: usernameController, + prefixIcon: Icons.person_outline, + ), + const SizedBox(height: 16), + CustomTextField( + hintText: 'Password', + obscureText: true, + controller: passwordController, + prefixIcon: Icons.lock_outline, + ), + const SizedBox(height: 16), + CustomTextField( + hintText: 'Konfirmasi Password', + obscureText: true, + controller: confirmPasswordController, + prefixIcon: Icons.lock_reset_outlined, + ), + const SizedBox(height: 24), + isLoading + ? const Center(child: CircularProgressIndicator()) + : CustomButton( + text: 'Sign Up', + onPressed: () { + if (nameController.text.isNotEmpty && usernameController.text.isNotEmpty && passwordController.text.isNotEmpty) { + registerUser(); + } else { + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar(content: Text('Data tidak boleh kosong!')), + ); + } + }, + ), + const SizedBox(height: 24), + ], + ), + ), + ), + ], + ), + ), + ), + ); + } +} \ No newline at end of file diff --git a/smart_cycling/lib/screens/route_recommendation_screen.dart b/smart_cycling/lib/screens/route_recommendation_screen.dart new file mode 100644 index 0000000..ee349bf --- /dev/null +++ b/smart_cycling/lib/screens/route_recommendation_screen.dart @@ -0,0 +1,156 @@ +import 'dart:ui'; +import 'package:flutter/material.dart'; +import 'navigation_screen.dart'; + +class RouteRecommendationScreen extends StatelessWidget { + final List routes; + final String selectedSpeed; + + const RouteRecommendationScreen({ + super.key, + required this.routes, + required this.selectedSpeed, + }); + + // Logika penghitungan waktu berdasarkan kecepatan + int calculateAdjustedTime(int baseTime) { + if (selectedSpeed == "Lambat") { + return (baseTime * 1.3).round(); // +30% waktu + } else if (selectedSpeed == "Cepat") { + return (baseTime * 0.8).round(); // -20% waktu + } + return baseTime; // Sedang (Base) + } + + @override + Widget build(BuildContext context) { + return Scaffold( + extendBodyBehindAppBar: true, + appBar: AppBar( + title: const Text("Rekomendasi Rute", + style: TextStyle(color: Colors.white, fontWeight: FontWeight.bold)), + backgroundColor: Colors.transparent, + elevation: 0, + iconTheme: const IconThemeData(color: Colors.white), + ), + body: Container( + width: double.infinity, + height: double.infinity, + decoration: const BoxDecoration( + gradient: LinearGradient( + colors: [Color(0xFF3949AB), Color(0xFF00BCD4)], + begin: Alignment.topLeft, + end: Alignment.bottomRight, + ), + ), + child: SafeArea( + child: routes.isEmpty + ? const Center(child: Text("Tidak ada rute yang ditemukan.", style: TextStyle(color: Colors.white))) + : ListView.builder( + padding: const EdgeInsets.all(20), + itemCount: routes.length, + itemBuilder: (context, index) { + final route = routes[index]; + final adjustedTime = calculateAdjustedTime((route['waktu_dasar'] as num).toInt()); + final double accuracy = ((route['skor'] as num).toDouble() * 100); + + return Padding( + padding: const EdgeInsets.only(bottom: 20), + child: ClipRRect( + borderRadius: BorderRadius.circular(20), + child: BackdropFilter( + filter: ImageFilter.blur(sigmaX: 10, sigmaY: 10), + child: Container( + decoration: BoxDecoration( + color: Colors.white.withOpacity(0.15), + borderRadius: BorderRadius.circular(20), + border: Border.all(color: Colors.white.withOpacity(0.3)), + ), + child: ListTile( + contentPadding: const EdgeInsets.all(20), + title: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Expanded( + child: Text( + route['nama_rute'], + style: const TextStyle(color: Colors.white, fontSize: 18, fontWeight: FontWeight.bold), + ), + ), + Container( + padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4), + decoration: BoxDecoration( + color: Colors.greenAccent.withOpacity(0.2), + borderRadius: BorderRadius.circular(8), + ), + child: Text( + "${accuracy.toStringAsFixed(1)}% Akurasi", + style: const TextStyle(color: Colors.greenAccent, fontSize: 12, fontWeight: FontWeight.bold), + ), + ), + ], + ), + subtitle: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const SizedBox(height: 12), + Row( + children: [ + const Icon(Icons.straighten, color: Colors.white70, size: 16), + const SizedBox(width: 8), + Flexible( + child: FittedBox( + fit: BoxFit.scaleDown, + alignment: Alignment.centerLeft, + child: Text("${route['jarak']} KM", style: const TextStyle(color: Colors.white70)), + ), + ), + const SizedBox(width: 20), + const Icon(Icons.terrain, color: Colors.white70, size: 16), + const SizedBox(width: 8), + Flexible( + child: FittedBox( + fit: BoxFit.scaleDown, + alignment: Alignment.centerLeft, + child: Text("Medan ${route['kondisi_medan']}", style: const TextStyle(color: Colors.white70)), + ), + ), + ], + ), + const SizedBox(height: 12), + Row( + children: [ + const Icon(Icons.timer, color: Colors.white, size: 18), + const SizedBox(width: 8), + Text( + "Target Waktu : $adjustedTime menit", + style: const TextStyle(color: Colors.white, fontWeight: FontWeight.w600, fontSize: 16), + ), + ], + ), + ], + ), + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => NavigationScreen( + routeData: route, + targetMinutes: adjustedTime, + ), + ), + ); + }, + trailing: const Icon(Icons.chevron_right, color: Colors.white), + ), + ), + ), + ), + ); + }, + ), + ), + ), + ); + } +} diff --git a/smart_cycling/lib/screens/search_route_screen.dart b/smart_cycling/lib/screens/search_route_screen.dart new file mode 100644 index 0000000..0f047ca --- /dev/null +++ b/smart_cycling/lib/screens/search_route_screen.dart @@ -0,0 +1,299 @@ +import 'dart:ui'; +import 'dart:convert'; +import 'package:flutter/material.dart'; +import 'package:http/http.dart' as http; +import '../widgets/custom_text_field.dart'; +import '../utils/api_config.dart'; +import 'route_recommendation_screen.dart'; + +class SearchRouteScreen extends StatefulWidget { + const SearchRouteScreen({super.key}); + + @override + State createState() => _SearchRouteScreenState(); +} + +class _SearchRouteScreenState extends State { + String? selectedBikeType; + String? selectedUserType; + String selectedSpeed = "Sedang"; // Default: Sedang + bool _isLoading = false; + + // Fungsi untuk memanggil API Rekomendasi SAW + Future _findRoutes() async { + if (selectedUserType == null || selectedBikeType == null) { + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar(content: Text('Tolong pilih tipe pengguna dan jenis sepeda!')), + ); + return; + } + + setState(() => _isLoading = true); + + try { + final response = await http.post( + Uri.parse('${ApiConfig.baseUrl}/recommend_routes.php'), + body: { + 'jenis_sepeda': selectedBikeType, + 'tipe_pengguna': selectedUserType, + }, + ); + + final data = jsonDecode(response.body); + if (!mounted) return; + + if (data['status'] == 'success') { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => RouteRecommendationScreen( + routes: data['data'], + selectedSpeed: selectedSpeed, + ), + ), + ); + } else { + ScaffoldMessenger.of(context).showSnackBar( + SnackBar(content: Text('Gagal: ${data['message']}')), + ); + } + } catch (e) { + if (!mounted) return; + ScaffoldMessenger.of(context).showSnackBar( + SnackBar(content: Text('Error: $e')), + ); + } finally { + if (mounted) setState(() => _isLoading = false); + } + } + + @override + Widget build(BuildContext context) { + return Scaffold( + body: Container( + width: double.infinity, + height: double.infinity, + decoration: const BoxDecoration( + gradient: LinearGradient( + colors: [Color(0xFF3949AB), Color(0xFF00BCD4)], + begin: Alignment.topLeft, + end: Alignment.bottomRight, + ), + ), + child: Stack( + children: [ + SafeArea( + child: SingleChildScrollView( + padding: const EdgeInsets.symmetric( + horizontal: 24.0, vertical: 20.0), + child: Column( + children: [ + const SizedBox(height: 40), + // Header Section + const Icon(Icons.explore_outlined, + size: 60, color: Colors.white), + const SizedBox(height: 16), + const Text( + "Cari Rute Terbaik", + style: TextStyle( + fontSize: 28, + fontWeight: FontWeight.bold, + color: Colors.white, + fontFamily: 'Montserrat', + ), + ), + const Text( + "Tentukan kriteria perjalanan Anda", + style: TextStyle(fontSize: 15, color: Colors.white70), + ), + const SizedBox(height: 40), + + // GLASSMORPHISM FORM CARD + ClipRRect( + borderRadius: BorderRadius.circular(30), + child: BackdropFilter( + filter: ImageFilter.blur(sigmaX: 15, sigmaY: 15), + child: Container( + padding: const EdgeInsets.all(24.0), + decoration: BoxDecoration( + color: Colors.white.withOpacity(0.15), + borderRadius: BorderRadius.circular(30), + border: Border.all( + color: Colors.white.withOpacity(0.3), + width: 1.5, + ), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // 1. TIPE PENGGUNA + _buildLabel("TIPE PENGGUNA"), + _buildGlassDropdown( + ['Profesional', 'Amatir'], + Icons.person_outline, + "Pilih Tipe Pengguna", + (val) => setState(() => selectedUserType = val), + selectedUserType, + ), + const SizedBox(height: 24), + + // 2. JENIS SEPEDA + _buildLabel("JENIS SEPEDA"), + _buildGlassDropdown( + ['Road Bike', 'MTB', 'Hybrid'], + Icons.pedal_bike, + "Pilih Jenis Sepeda", + (val) => setState(() => selectedBikeType = val), + selectedBikeType, + ), + const SizedBox(height: 24), + + // 3. KECEPATAN (3 Pilihan: Lambat, Sedang, Cepat) + _buildLabel("MODE BERSEPEDA"), + const SizedBox(height: 8), + Row( + children: [ + _buildSpeedCard( + "Lambat", Icons.directions_walk), + const SizedBox(width: 10), + _buildSpeedCard( + "Sedang", Icons.directions_bike), + const SizedBox(width: 10), + _buildSpeedCard("Cepat", Icons.flash_on), + ], + ), + const SizedBox(height: 32), + + // SUBMIT BUTTON + SizedBox( + width: double.infinity, + height: 55, + child: ElevatedButton( + onPressed: _isLoading ? null : _findRoutes, + style: ElevatedButton.styleFrom( + backgroundColor: Colors.white, + foregroundColor: const Color(0xFF3949AB), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(15), + ), + elevation: 0, + ), + child: _isLoading + ? const SizedBox( + height: 20, + width: 20, + child: CircularProgressIndicator( + strokeWidth: 2, + color: Color(0xFF3949AB), + ), + ) + : const Text( + "TEMUKAN RUTE", + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 16, + letterSpacing: 1.2, + ), + ), + ), + ), + ], + ), + ), + ), + ), + const SizedBox(height: 40), + ], + ), + ), + ), + ], + ), + ), + ); + } + + Widget _buildLabel(String text) { + return Padding( + padding: const EdgeInsets.only(left: 4, bottom: 8), + child: Text( + text, + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.bold, + color: Colors.white.withOpacity(0.8), + letterSpacing: 1.5, + ), + ), + ); + } + + Widget _buildGlassDropdown(List items, IconData icon, + String hint, void Function(String?) onChanged, String? value) { + return Container( + padding: const EdgeInsets.symmetric(horizontal: 16), + decoration: BoxDecoration( + color: Colors.white.withOpacity(0.1), + borderRadius: BorderRadius.circular(15), + border: Border.all(color: Colors.white.withOpacity(0.3)), + ), + child: DropdownButtonHideUnderline( + child: DropdownButtonFormField( + value: value, + dropdownColor: const Color(0xFF1E2140).withOpacity(0.9), + style: + const TextStyle(color: Colors.white, fontWeight: FontWeight.w500), + decoration: InputDecoration( + border: InputBorder.none, + icon: Icon(icon, color: Colors.white70, size: 22), + ), + items: items.map((String value) { + return DropdownMenuItem( + value: value, + child: Text(value, style: const TextStyle(color: Colors.white)), + ); + }).toList(), + onChanged: onChanged, + hint: Text(hint, style: const TextStyle(color: Colors.white54)), + ), + ), + ); + } + + Widget _buildSpeedCard(String label, IconData icon) { + bool isSelected = selectedSpeed == label; + return Expanded( + child: GestureDetector( + onTap: () => setState(() => selectedSpeed = label), + child: Container( + padding: const EdgeInsets.symmetric(vertical: 16), + decoration: BoxDecoration( + color: isSelected ? Colors.white : Colors.white.withOpacity(0.1), + borderRadius: BorderRadius.circular(15), + border: Border.all( + color: isSelected ? Colors.white : Colors.white.withOpacity(0.3), + width: 1.5, + ), + ), + child: Column( + children: [ + Icon( + icon, + color: isSelected ? const Color(0xFF3949AB) : Colors.white70, + ), + const SizedBox(height: 8), + Text( + label, + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.bold, + color: isSelected ? const Color(0xFF3949AB) : Colors.white70, + ), + ), + ], + ), + ), + ), + ); + } +} diff --git a/smart_cycling/lib/screens/splash_screen.dart b/smart_cycling/lib/screens/splash_screen.dart new file mode 100644 index 0000000..5f694d9 --- /dev/null +++ b/smart_cycling/lib/screens/splash_screen.dart @@ -0,0 +1,73 @@ +import 'dart:async'; +import 'package:flutter/material.dart'; +import '../widgets/responsive_layout.dart'; + +class SplashScreen extends StatefulWidget { + const SplashScreen({super.key}); + + @override + State createState() => _SplashScreenState(); +} + +class _SplashScreenState extends State { + @override + void initState() { + super.initState(); + // Durasi splash screen diperpanjang (awalnya 3 detik, ditambah 3 detik menjadi 6 detik) + Timer(const Duration(seconds: 6), () { + // Pindah ke halaman welcome dan hapus splash screen dari tumpukan navigasi + Navigator.pushReplacementNamed(context, '/welcome'); + }); + } + + @override + Widget build(BuildContext context) { + return ResponsiveLayout( + child: Scaffold( + body: Container( + width: double.infinity, + height: double.infinity, + decoration: const BoxDecoration( + gradient: LinearGradient( + colors: [Color(0xFF3949AB), Color(0xFF00BCD4)], // Mix deep indigo and cyan + begin: Alignment.topLeft, + end: Alignment.bottomRight, + ), + ), + child: Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Image.asset('assets/images/cyclist.png', height: 180), + const SizedBox(height: 32), + const Text( + 'Smart Cycling', + style: TextStyle( + fontFamily: 'Montserrat', + fontSize: 34, + fontWeight: FontWeight.w900, + color: Colors.white, + letterSpacing: 1.0, + ), + ), + const SizedBox(height: 12), + Text( + 'Aplikasi Rekomendasi Rute Bersepeda\n yang Aman, Nyaman, dan Efisien', + textAlign: TextAlign.center, + style: TextStyle( + fontFamily: 'Montserrat', + fontSize: 14, + fontWeight: FontWeight.w500, + color: Colors.white.withOpacity(0.8), + letterSpacing: 0.5, + height: 1.5, + ), + ), + ], + ), + ), + ), + ), + ); +} +} \ No newline at end of file diff --git a/smart_cycling/lib/screens/success_screen.dart b/smart_cycling/lib/screens/success_screen.dart new file mode 100644 index 0000000..cac756a --- /dev/null +++ b/smart_cycling/lib/screens/success_screen.dart @@ -0,0 +1,41 @@ +import 'package:flutter/material.dart'; +import '../widgets/custom_button.dart'; +import '../widgets/responsive_layout.dart'; + +class SuccessScreen extends StatelessWidget { + const SuccessScreen({super.key}); + + @override + Widget build(BuildContext context) { + return ResponsiveLayout( + child: Scaffold( + body: Center( + child: Padding( + padding: const EdgeInsets.all(32), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Image.asset('assets/images/success_check.png', height: 150), + const SizedBox(height: 32), + const Text( + 'Akun Berhasil Dibuat', + textAlign: TextAlign.center, + style: TextStyle(fontSize: 28, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 48), + CustomButton( + text: 'Mulai', + onPressed: () { + // Arahkan ke halaman utama aplikasi setelah registrasi sukses + Navigator.pushReplacementNamed(context, '/home'); + }, + ), + ], + ), + ), + ), + ), + ); +} +} \ No newline at end of file diff --git a/smart_cycling/lib/screens/welcome_screen.dart b/smart_cycling/lib/screens/welcome_screen.dart new file mode 100644 index 0000000..3d07b6a --- /dev/null +++ b/smart_cycling/lib/screens/welcome_screen.dart @@ -0,0 +1,100 @@ +import 'package:flutter/material.dart'; +import '../widgets/responsive_layout.dart'; + +class WelcomeScreen extends StatelessWidget { + const WelcomeScreen({super.key}); + + @override + Widget build(BuildContext context) { + return ResponsiveLayout( + child: Scaffold( + backgroundColor: Colors.white, + body: Container( + width: double.infinity, + height: double.infinity, + decoration: const BoxDecoration( + gradient: LinearGradient( + colors: [Color(0xFF3949AB), Color(0xFF00BCD4)], + begin: Alignment.topLeft, + end: Alignment.bottomRight, + ), + ), + child: SafeArea( + child: Column( + children: [ + const Spacer(flex: 3), + Image.asset( + 'assets/images/cyclist.png', + height: 180, + fit: BoxFit.contain, + ), + const SizedBox(height: 24), + const Text( + "Smart Cycling", + style: TextStyle( + fontFamily: 'Montserrat', + fontSize: 32, + fontWeight: FontWeight.bold, + color: Colors.white, + letterSpacing: 1.2, + ), + ), + const Spacer(flex: 3), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 40.0), + child: Container( + width: double.infinity, + height: 55, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(30), + color: Colors.white, + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.15), + blurRadius: 10, + offset: const Offset(0, 5), + ), + ], + ), + child: ElevatedButton( + onPressed: () { + Navigator.pushNamed(context, '/register'); + }, + style: ElevatedButton.styleFrom( + backgroundColor: Colors.transparent, + foregroundColor: const Color(0xFF3949AB), + shadowColor: Colors.transparent, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(30), + ), + ), + child: const Text( + 'Get Started', + style: TextStyle(fontWeight: FontWeight.bold, fontSize: 18, fontFamily: 'Montserrat'), + ), + ), + ), + ), + const SizedBox(height: 16), + TextButton( + onPressed: () { + Navigator.pushNamed(context, '/login'); + }, + child: Text( + 'I already have an account', + style: TextStyle( + color: Colors.white.withOpacity(0.8), + fontSize: 14, + fontFamily: 'Montserrat', + ), + ), + ), + const Spacer(flex: 1), + ], + ), + ), + ), + ), + ); +} +} \ No newline at end of file diff --git a/smart_cycling/lib/services/weather_service.dart b/smart_cycling/lib/services/weather_service.dart new file mode 100644 index 0000000..59ec97d --- /dev/null +++ b/smart_cycling/lib/services/weather_service.dart @@ -0,0 +1,40 @@ +import 'dart:convert'; +import 'package:http/http.dart' as http; +import '../utils/api_keys.dart'; + +class WeatherService { + static const String _baseUrl = "https://api.openweathermap.org/data/2.5/weather"; + + Future?> fetchWeather(double lat, double lon) async { + try { + final response = await http.get( + Uri.parse("$_baseUrl?lat=$lat&lon=$lon&appid=${ApiKeys.openWeatherApiKey}&units=metric&lang=id"), + ); + + if (response.statusCode == 200) { + return jsonDecode(response.body); + } else { + return null; + } + } catch (e) { + return null; + } + } + + Future?> fetchForecast(double lat, double lon) async { + try { + final String forecastUrl = "https://api.openweathermap.org/data/2.5/forecast"; + final response = await http.get( + Uri.parse("$forecastUrl?lat=$lat&lon=$lon&appid=${ApiKeys.openWeatherApiKey}&units=metric&lang=id"), + ); + + if (response.statusCode == 200) { + return jsonDecode(response.body); + } else { + return null; + } + } catch (e) { + return null; + } + } +} diff --git a/smart_cycling/lib/utils/api_config.dart b/smart_cycling/lib/utils/api_config.dart new file mode 100644 index 0000000..44c55e1 --- /dev/null +++ b/smart_cycling/lib/utils/api_config.dart @@ -0,0 +1,15 @@ +import 'package:flutter/foundation.dart'; + +class ApiConfig { + // Gunakan URL Ngrok Statis (Permanen & Bisa di semua jaringan) + static const String ngrokUrl = "https://domelike-reliable-imagines.ngrok-free.dev"; + + static String get baseUrl { + if (kIsWeb) { + return "http://localhost/smart_cycling_api"; + } + + // Semua HP Android sekarang akan menggunakan jalur Ngrok + return "$ngrokUrl/smart_cycling_api"; + } +} \ No newline at end of file diff --git a/smart_cycling/lib/utils/api_keys.dart b/smart_cycling/lib/utils/api_keys.dart new file mode 100644 index 0000000..6749859 --- /dev/null +++ b/smart_cycling/lib/utils/api_keys.dart @@ -0,0 +1,3 @@ +class ApiKeys { + static const String openWeatherApiKey = "0da5730273364f17eb13f09491dfc8ba"; +} diff --git a/smart_cycling/lib/utils/navigation_helper.dart b/smart_cycling/lib/utils/navigation_helper.dart new file mode 100644 index 0000000..c9ac8d0 --- /dev/null +++ b/smart_cycling/lib/utils/navigation_helper.dart @@ -0,0 +1,67 @@ +import 'dart:math' as math; +import 'package:latlong2/latlong.dart'; + +class NavigationHelper { + static const Distance _distanceCalculator = Distance(); + + /// Menghitung jarak antara dua titik dalam meter + static double calculateDistance(LatLng p1, LatLng p2) { + return _distanceCalculator.as(LengthUnit.Meter, p1, p2); + } + + /// Menghitung bearing (sudut) antara dua titik (0-360 derajat) + static double calculateBearing(LatLng p1, LatLng p2) { + double lat1 = p1.latitude * math.pi / 180; + double lon1 = p1.longitude * math.pi / 180; + double lat2 = p2.latitude * math.pi / 180; + double lon2 = p2.longitude * math.pi / 180; + + double dLon = lon2 - lon1; + double y = math.sin(dLon) * math.cos(lat2); + double x = math.cos(lat1) * math.sin(lat2) - + math.sin(lat1) * math.cos(lat2) * math.cos(dLon); + double radians = math.atan2(y, x); + return (radians * 180 / math.pi + 360) % 360; + } + + /// Menghitung jarak terdekat dari titik ke sebuah segmen garis (Cross Track Distance) + static double getDistanceToSegment(LatLng p, LatLng s1, LatLng s2) { + final double l2 = math.pow(calculateDistance(s1, s2), 2).toDouble(); + if (l2 == 0) return calculateDistance(p, s1); + + // Proyeksi titik ke garis + double t = ((p.latitude - s1.latitude) * (s2.latitude - s1.latitude) + + (p.longitude - s1.longitude) * (s2.longitude - s1.longitude)) / + (math.pow(s2.latitude - s1.latitude, 2) + + math.pow(s2.longitude - s1.longitude, 2)); + + t = math.max(0, math.min(1, t)); + + LatLng projection = LatLng( + s1.latitude + t * (s2.latitude - s1.latitude), + s1.longitude + t * (s2.longitude - s1.longitude), + ); + + return calculateDistance(p, projection); + } + + /// Menentukan apakah ada belokan tajam di titik tertentu pada rute + static String? detectManeuver(List points, int index) { + if (index <= 0 || index >= points.length - 1) return null; + + double bearing1 = calculateBearing(points[index - 1], points[index]); + double bearing2 = calculateBearing(points[index], points[index + 1]); + + double diff = (bearing2 - bearing1 + 360) % 360; + + if (diff > 180) diff -= 360; + + if (diff > 25 && diff < 160) { + return "Belok Kanan"; + } else if (diff < -25 && diff > -160) { + return "Belok Kiri"; + } + + return null; + } +} diff --git a/smart_cycling/lib/utils/session_manager.dart b/smart_cycling/lib/utils/session_manager.dart new file mode 100644 index 0000000..2387725 --- /dev/null +++ b/smart_cycling/lib/utils/session_manager.dart @@ -0,0 +1,16 @@ +class SessionManager { + // Variabel statis untuk menyimpan data pengguna yang login + static int? userId; + static String? userName; + static String? userEmail; + static String? userPhoto; // Path lokal atau URL gambar + + // Fungsi untuk mengupdate info saat login berhasil + static void saveSession(int id, String name, String email, [String? photo]) { + userId = id; + userName = name; + userEmail = email; + userPhoto = photo; + } +} + \ No newline at end of file diff --git a/smart_cycling/lib/widgets/custom_button.dart b/smart_cycling/lib/widgets/custom_button.dart new file mode 100644 index 0000000..641ae2d --- /dev/null +++ b/smart_cycling/lib/widgets/custom_button.dart @@ -0,0 +1,39 @@ +import 'package:flutter/material.dart'; + +class CustomButton extends StatelessWidget { + final String text; + final VoidCallback onPressed; + + const CustomButton({ + super.key, + required this.text, + required this.onPressed, + }); + + @override + Widget build(BuildContext context) { + return SizedBox( + width: double.infinity, + height: 55, + child: ElevatedButton( + style: ElevatedButton.styleFrom( + backgroundColor: const Color(0xFF3949AB), // Dark Blue to match theme + foregroundColor: Colors.white, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(30), + ), + elevation: 0, + ), + onPressed: onPressed, + child: Text( + text, + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + fontFamily: 'Montserrat', + ), + ), + ), + ); + } +} \ No newline at end of file diff --git a/smart_cycling/lib/widgets/custom_text_field.dart b/smart_cycling/lib/widgets/custom_text_field.dart new file mode 100644 index 0000000..1980cff --- /dev/null +++ b/smart_cycling/lib/widgets/custom_text_field.dart @@ -0,0 +1,43 @@ +import 'package:flutter/material.dart'; + +class CustomTextField extends StatelessWidget { + final String hintText; + final bool obscureText; + final TextEditingController? controller; + final IconData? prefixIcon; + + const CustomTextField({ + super.key, + required this.hintText, + this.obscureText = false, + this.controller, + this.prefixIcon, + }); + + @override + Widget build(BuildContext context) { + return TextField( + controller: controller, + obscureText: obscureText, + style: const TextStyle(fontSize: 15, fontWeight: FontWeight.w500, fontFamily: 'Montserrat'), + decoration: InputDecoration( + hintText: hintText, + hintStyle: TextStyle(color: Colors.grey.shade500, fontWeight: FontWeight.normal, fontSize: 14), + prefixIcon: prefixIcon != null + ? Icon(prefixIcon, color: Colors.grey.shade600, size: 20) + : null, + filled: true, + fillColor: Colors.white, + contentPadding: const EdgeInsets.symmetric(vertical: 18, horizontal: 24), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(30.0), + borderSide: BorderSide(color: Colors.grey.shade300, width: 1.5), + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(30.0), + borderSide: const BorderSide(color: Color(0xFF3949AB), width: 2.0), + ), + ), + ); + } +} \ No newline at end of file diff --git a/smart_cycling/lib/widgets/responsive_layout.dart b/smart_cycling/lib/widgets/responsive_layout.dart new file mode 100644 index 0000000..aac2b20 --- /dev/null +++ b/smart_cycling/lib/widgets/responsive_layout.dart @@ -0,0 +1,17 @@ +import 'package:flutter/material.dart'; + +class ResponsiveLayout extends StatelessWidget { + final Widget child; + + const ResponsiveLayout({ + super.key, + required this.child, + }); + + @override + Widget build(BuildContext context) { + // Kini aplikasi akan menempati layar secara penuh di seluruh tipe perangkat, + // sehingga terlihat natural di HP maupun Tablet tanpa ada border sisa di kiri-kanan. + return child; + } +} diff --git a/smart_cycling/linux/.gitignore b/smart_cycling/linux/.gitignore new file mode 100644 index 0000000..d3896c9 --- /dev/null +++ b/smart_cycling/linux/.gitignore @@ -0,0 +1 @@ +flutter/ephemeral diff --git a/smart_cycling/linux/CMakeLists.txt b/smart_cycling/linux/CMakeLists.txt new file mode 100644 index 0000000..900e421 --- /dev/null +++ b/smart_cycling/linux/CMakeLists.txt @@ -0,0 +1,128 @@ +# Project-level configuration. +cmake_minimum_required(VERSION 3.13) +project(runner LANGUAGES CXX) + +# The name of the executable created for the application. Change this to change +# the on-disk name of your application. +set(BINARY_NAME "flutter_application_1") +# The unique GTK application identifier for this application. See: +# https://wiki.gnome.org/HowDoI/ChooseApplicationID +set(APPLICATION_ID "com.example.flutter_application_1") + +# Explicitly opt in to modern CMake behaviors to avoid warnings with recent +# versions of CMake. +cmake_policy(SET CMP0063 NEW) + +# Load bundled libraries from the lib/ directory relative to the binary. +set(CMAKE_INSTALL_RPATH "$ORIGIN/lib") + +# Root filesystem for cross-building. +if(FLUTTER_TARGET_PLATFORM_SYSROOT) + set(CMAKE_SYSROOT ${FLUTTER_TARGET_PLATFORM_SYSROOT}) + set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT}) + set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) + set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +endif() + +# Define build configuration options. +if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") +endif() + +# Compilation settings that should be applied to most targets. +# +# Be cautious about adding new options here, as plugins use this function by +# default. In most cases, you should add new options to specific targets instead +# of modifying this function. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_14) + target_compile_options(${TARGET} PRIVATE -Wall -Werror) + target_compile_options(${TARGET} PRIVATE "$<$>:-O3>") + target_compile_definitions(${TARGET} PRIVATE "$<$>:NDEBUG>") +endfunction() + +# Flutter library and tool build rules. +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# System-level dependencies. +find_package(PkgConfig REQUIRED) +pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) + +# Application build; see runner/CMakeLists.txt. +add_subdirectory("runner") + +# Run the Flutter tool portions of the build. This must not be removed. +add_dependencies(${BINARY_NAME} flutter_assemble) + +# Only the install-generated bundle's copy of the executable will launch +# correctly, since the resources must in the right relative locations. To avoid +# people trying to run the unbundled copy, put it in a subdirectory instead of +# the default top-level location. +set_target_properties(${BINARY_NAME} + PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run" +) + + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) + + +# === Installation === +# By default, "installing" just makes a relocatable bundle in the build +# directory. +set(BUILD_BUNDLE_DIR "${PROJECT_BINARY_DIR}/bundle") +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) +endif() + +# Start with a clean build bundle directory every time. +install(CODE " + file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\") + " COMPONENT Runtime) + +set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") +set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib") + +install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES}) + install(FILES "${bundled_library}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endforeach(bundled_library) + +# Copy the native assets provided by the build.dart from all packages. +set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/linux/") +install(DIRECTORY "${NATIVE_ASSETS_DIR}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +# Fully re-copy the assets directory on each build to avoid having stale files +# from a previous install. +set(FLUTTER_ASSET_DIR_NAME "flutter_assets") +install(CODE " + file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") + " COMPONENT Runtime) +install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" + DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) + +# Install the AOT library on non-Debug builds only. +if(NOT CMAKE_BUILD_TYPE MATCHES "Debug") + install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endif() diff --git a/smart_cycling/linux/flutter/CMakeLists.txt b/smart_cycling/linux/flutter/CMakeLists.txt new file mode 100644 index 0000000..d5bd016 --- /dev/null +++ b/smart_cycling/linux/flutter/CMakeLists.txt @@ -0,0 +1,88 @@ +# This file controls Flutter-level build steps. It should not be edited. +cmake_minimum_required(VERSION 3.10) + +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. + +# Serves the same purpose as list(TRANSFORM ... PREPEND ...), +# which isn't available in 3.10. +function(list_prepend LIST_NAME PREFIX) + set(NEW_LIST "") + foreach(element ${${LIST_NAME}}) + list(APPEND NEW_LIST "${PREFIX}${element}") + endforeach(element) + set(${LIST_NAME} "${NEW_LIST}" PARENT_SCOPE) +endfunction() + +# === Flutter Library === +# System-level dependencies. +find_package(PkgConfig REQUIRED) +pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) +pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0) +pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0) + +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/libflutter_linux_gtk.so") + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) +set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) +set(AOT_LIBRARY "${PROJECT_DIR}/build/lib/libapp.so" PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "fl_basic_message_channel.h" + "fl_binary_codec.h" + "fl_binary_messenger.h" + "fl_dart_project.h" + "fl_engine.h" + "fl_json_message_codec.h" + "fl_json_method_codec.h" + "fl_message_codec.h" + "fl_method_call.h" + "fl_method_channel.h" + "fl_method_codec.h" + "fl_method_response.h" + "fl_plugin_registrar.h" + "fl_plugin_registry.h" + "fl_standard_message_codec.h" + "fl_standard_method_codec.h" + "fl_string_codec.h" + "fl_value.h" + "fl_view.h" + "flutter_linux.h" +) +list_prepend(FLUTTER_LIBRARY_HEADERS "${EPHEMERAL_DIR}/flutter_linux/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}") +target_link_libraries(flutter INTERFACE + PkgConfig::GTK + PkgConfig::GLIB + PkgConfig::GIO +) +add_dependencies(flutter flutter_assemble) + +# === Flutter tool backend === +# _phony_ is a non-existent file to force this command to run every time, +# since currently there's no way to get a full input/output list from the +# flutter tool. +add_custom_command( + OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} + ${CMAKE_CURRENT_BINARY_DIR}/_phony_ + COMMAND ${CMAKE_COMMAND} -E env + ${FLUTTER_TOOL_ENVIRONMENT} + "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh" + ${FLUTTER_TARGET_PLATFORM} ${CMAKE_BUILD_TYPE} + VERBATIM +) +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} +) diff --git a/smart_cycling/linux/runner/CMakeLists.txt b/smart_cycling/linux/runner/CMakeLists.txt new file mode 100644 index 0000000..e97dabc --- /dev/null +++ b/smart_cycling/linux/runner/CMakeLists.txt @@ -0,0 +1,26 @@ +cmake_minimum_required(VERSION 3.13) +project(runner LANGUAGES CXX) + +# Define the application target. To change its name, change BINARY_NAME in the +# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer +# work. +# +# Any new source files that you add to the application should be added here. +add_executable(${BINARY_NAME} + "main.cc" + "my_application.cc" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" +) + +# Apply the standard set of build settings. This can be removed for applications +# that need different build settings. +apply_standard_settings(${BINARY_NAME}) + +# Add preprocessor definitions for the application ID. +add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}") + +# Add dependency libraries. Add any application-specific dependencies here. +target_link_libraries(${BINARY_NAME} PRIVATE flutter) +target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK) + +target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") diff --git a/smart_cycling/linux/runner/main.cc b/smart_cycling/linux/runner/main.cc new file mode 100644 index 0000000..e7c5c54 --- /dev/null +++ b/smart_cycling/linux/runner/main.cc @@ -0,0 +1,6 @@ +#include "my_application.h" + +int main(int argc, char** argv) { + g_autoptr(MyApplication) app = my_application_new(); + return g_application_run(G_APPLICATION(app), argc, argv); +} diff --git a/smart_cycling/linux/runner/my_application.cc b/smart_cycling/linux/runner/my_application.cc new file mode 100644 index 0000000..98b2273 --- /dev/null +++ b/smart_cycling/linux/runner/my_application.cc @@ -0,0 +1,130 @@ +#include "my_application.h" + +#include +#ifdef GDK_WINDOWING_X11 +#include +#endif + +#include "flutter/generated_plugin_registrant.h" + +struct _MyApplication { + GtkApplication parent_instance; + char** dart_entrypoint_arguments; +}; + +G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION) + +// Implements GApplication::activate. +static void my_application_activate(GApplication* application) { + MyApplication* self = MY_APPLICATION(application); + GtkWindow* window = + GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application))); + + // Use a header bar when running in GNOME as this is the common style used + // by applications and is the setup most users will be using (e.g. Ubuntu + // desktop). + // If running on X and not using GNOME then just use a traditional title bar + // in case the window manager does more exotic layout, e.g. tiling. + // If running on Wayland assume the header bar will work (may need changing + // if future cases occur). + gboolean use_header_bar = TRUE; +#ifdef GDK_WINDOWING_X11 + GdkScreen* screen = gtk_window_get_screen(window); + if (GDK_IS_X11_SCREEN(screen)) { + const gchar* wm_name = gdk_x11_screen_get_window_manager_name(screen); + if (g_strcmp0(wm_name, "GNOME Shell") != 0) { + use_header_bar = FALSE; + } + } +#endif + if (use_header_bar) { + GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new()); + gtk_widget_show(GTK_WIDGET(header_bar)); + gtk_header_bar_set_title(header_bar, "flutter_application_1"); + gtk_header_bar_set_show_close_button(header_bar, TRUE); + gtk_window_set_titlebar(window, GTK_WIDGET(header_bar)); + } else { + gtk_window_set_title(window, "flutter_application_1"); + } + + gtk_window_set_default_size(window, 1280, 720); + gtk_widget_show(GTK_WIDGET(window)); + + g_autoptr(FlDartProject) project = fl_dart_project_new(); + fl_dart_project_set_dart_entrypoint_arguments(project, self->dart_entrypoint_arguments); + + FlView* view = fl_view_new(project); + gtk_widget_show(GTK_WIDGET(view)); + gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view)); + + fl_register_plugins(FL_PLUGIN_REGISTRY(view)); + + gtk_widget_grab_focus(GTK_WIDGET(view)); +} + +// Implements GApplication::local_command_line. +static gboolean my_application_local_command_line(GApplication* application, gchar*** arguments, int* exit_status) { + MyApplication* self = MY_APPLICATION(application); + // Strip out the first argument as it is the binary name. + self->dart_entrypoint_arguments = g_strdupv(*arguments + 1); + + g_autoptr(GError) error = nullptr; + if (!g_application_register(application, nullptr, &error)) { + g_warning("Failed to register: %s", error->message); + *exit_status = 1; + return TRUE; + } + + g_application_activate(application); + *exit_status = 0; + + return TRUE; +} + +// Implements GApplication::startup. +static void my_application_startup(GApplication* application) { + //MyApplication* self = MY_APPLICATION(object); + + // Perform any actions required at application startup. + + G_APPLICATION_CLASS(my_application_parent_class)->startup(application); +} + +// Implements GApplication::shutdown. +static void my_application_shutdown(GApplication* application) { + //MyApplication* self = MY_APPLICATION(object); + + // Perform any actions required at application shutdown. + + G_APPLICATION_CLASS(my_application_parent_class)->shutdown(application); +} + +// Implements GObject::dispose. +static void my_application_dispose(GObject* object) { + MyApplication* self = MY_APPLICATION(object); + g_clear_pointer(&self->dart_entrypoint_arguments, g_strfreev); + G_OBJECT_CLASS(my_application_parent_class)->dispose(object); +} + +static void my_application_class_init(MyApplicationClass* klass) { + G_APPLICATION_CLASS(klass)->activate = my_application_activate; + G_APPLICATION_CLASS(klass)->local_command_line = my_application_local_command_line; + G_APPLICATION_CLASS(klass)->startup = my_application_startup; + G_APPLICATION_CLASS(klass)->shutdown = my_application_shutdown; + G_OBJECT_CLASS(klass)->dispose = my_application_dispose; +} + +static void my_application_init(MyApplication* self) {} + +MyApplication* my_application_new() { + // Set the program name to the application ID, which helps various systems + // like GTK and desktop environments map this running application to its + // corresponding .desktop file. This ensures better integration by allowing + // the application to be recognized beyond its binary name. + g_set_prgname(APPLICATION_ID); + + return MY_APPLICATION(g_object_new(my_application_get_type(), + "application-id", APPLICATION_ID, + "flags", G_APPLICATION_NON_UNIQUE, + nullptr)); +} diff --git a/smart_cycling/linux/runner/my_application.h b/smart_cycling/linux/runner/my_application.h new file mode 100644 index 0000000..72271d5 --- /dev/null +++ b/smart_cycling/linux/runner/my_application.h @@ -0,0 +1,18 @@ +#ifndef FLUTTER_MY_APPLICATION_H_ +#define FLUTTER_MY_APPLICATION_H_ + +#include + +G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, + GtkApplication) + +/** + * my_application_new: + * + * Creates a new Flutter-based application. + * + * Returns: a new #MyApplication. + */ +MyApplication* my_application_new(); + +#endif // FLUTTER_MY_APPLICATION_H_ diff --git a/smart_cycling/macos/.gitignore b/smart_cycling/macos/.gitignore new file mode 100644 index 0000000..746adbb --- /dev/null +++ b/smart_cycling/macos/.gitignore @@ -0,0 +1,7 @@ +# Flutter-related +**/Flutter/ephemeral/ +**/Pods/ + +# Xcode-related +**/dgph +**/xcuserdata/ diff --git a/smart_cycling/macos/Flutter/Flutter-Debug.xcconfig b/smart_cycling/macos/Flutter/Flutter-Debug.xcconfig new file mode 100644 index 0000000..c2efd0b --- /dev/null +++ b/smart_cycling/macos/Flutter/Flutter-Debug.xcconfig @@ -0,0 +1 @@ +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/smart_cycling/macos/Flutter/Flutter-Release.xcconfig b/smart_cycling/macos/Flutter/Flutter-Release.xcconfig new file mode 100644 index 0000000..c2efd0b --- /dev/null +++ b/smart_cycling/macos/Flutter/Flutter-Release.xcconfig @@ -0,0 +1 @@ +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/smart_cycling/macos/Runner.xcodeproj/project.pbxproj b/smart_cycling/macos/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..2e7fb95 --- /dev/null +++ b/smart_cycling/macos/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,705 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXAggregateTarget section */ + 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; + buildPhases = ( + 33CC111E2044C6BF0003C045 /* ShellScript */, + ); + dependencies = ( + ); + name = "Flutter Assemble"; + productName = FLX; + }; +/* End PBXAggregateTarget section */ + +/* Begin PBXBuildFile section */ + 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 33CC10EC2044A3C60003C045; + remoteInfo = Runner; + }; + 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 33CC111A2044C6BA0003C045; + remoteInfo = FLX; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 33CC110E2044A8840003C045 /* Bundle Framework */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Bundle Framework"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; + 33CC10ED2044A3C60003C045 /* flutter_application_1.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "flutter_application_1.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; + 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; + 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; + 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; + 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; + 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 331C80D2294CF70F00263BE5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10EA2044A3C60003C045 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 331C80D6294CF71000263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C80D7294CF71000263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 33BA886A226E78AF003329D5 /* Configs */ = { + isa = PBXGroup; + children = ( + 33E5194F232828860026EE4D /* AppInfo.xcconfig */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, + ); + path = Configs; + sourceTree = ""; + }; + 33CC10E42044A3C60003C045 = { + isa = PBXGroup; + children = ( + 33FAB671232836740065AC1E /* Runner */, + 33CEB47122A05771004F2AC0 /* Flutter */, + 331C80D6294CF71000263BE5 /* RunnerTests */, + 33CC10EE2044A3C60003C045 /* Products */, + D73912EC22F37F3D000D13A0 /* Frameworks */, + ); + sourceTree = ""; + }; + 33CC10EE2044A3C60003C045 /* Products */ = { + isa = PBXGroup; + children = ( + 33CC10ED2044A3C60003C045 /* flutter_application_1.app */, + 331C80D5294CF71000263BE5 /* RunnerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 33CC11242044D66E0003C045 /* Resources */ = { + isa = PBXGroup; + children = ( + 33CC10F22044A3C60003C045 /* Assets.xcassets */, + 33CC10F42044A3C60003C045 /* MainMenu.xib */, + 33CC10F72044A3C60003C045 /* Info.plist */, + ); + name = Resources; + path = ..; + sourceTree = ""; + }; + 33CEB47122A05771004F2AC0 /* Flutter */ = { + isa = PBXGroup; + children = ( + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, + ); + path = Flutter; + sourceTree = ""; + }; + 33FAB671232836740065AC1E /* Runner */ = { + isa = PBXGroup; + children = ( + 33CC10F02044A3C60003C045 /* AppDelegate.swift */, + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, + 33E51913231747F40026EE4D /* DebugProfile.entitlements */, + 33E51914231749380026EE4D /* Release.entitlements */, + 33CC11242044D66E0003C045 /* Resources */, + 33BA886A226E78AF003329D5 /* Configs */, + ); + path = Runner; + sourceTree = ""; + }; + D73912EC22F37F3D000D13A0 /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 331C80D4294CF70F00263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 331C80D1294CF70F00263BE5 /* Sources */, + 331C80D2294CF70F00263BE5 /* Frameworks */, + 331C80D3294CF70F00263BE5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 331C80DA294CF71000263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 33CC10EC2044A3C60003C045 /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 33CC10E92044A3C60003C045 /* Sources */, + 33CC10EA2044A3C60003C045 /* Frameworks */, + 33CC10EB2044A3C60003C045 /* Resources */, + 33CC110E2044A8840003C045 /* Bundle Framework */, + 3399D490228B24CF009A79C7 /* ShellScript */, + ); + buildRules = ( + ); + dependencies = ( + 33CC11202044C79F0003C045 /* PBXTargetDependency */, + ); + name = Runner; + productName = Runner; + productReference = 33CC10ED2044A3C60003C045 /* flutter_application_1.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 33CC10E52044A3C60003C045 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastSwiftUpdateCheck = 0920; + LastUpgradeCheck = 1510; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 331C80D4294CF70F00263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 33CC10EC2044A3C60003C045; + }; + 33CC10EC2044A3C60003C045 = { + CreatedOnToolsVersion = 9.2; + LastSwiftMigration = 1100; + ProvisioningStyle = Automatic; + SystemCapabilities = { + com.apple.Sandbox = { + enabled = 1; + }; + }; + }; + 33CC111A2044C6BA0003C045 = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Manual; + }; + }; + }; + buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 33CC10E42044A3C60003C045; + productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 33CC10EC2044A3C60003C045 /* Runner */, + 331C80D4294CF70F00263BE5 /* RunnerTests */, + 33CC111A2044C6BA0003C045 /* Flutter Assemble */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 331C80D3294CF70F00263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10EB2044A3C60003C045 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3399D490228B24CF009A79C7 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + }; + 33CC111E2044C6BF0003C045 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, + ); + inputPaths = ( + Flutter/ephemeral/tripwire, + ); + outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C80D1294CF70F00263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10E92044A3C60003C045 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 331C80DA294CF71000263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC10EC2044A3C60003C045 /* Runner */; + targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */; + }; + 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; + targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + 33CC10F52044A3C60003C045 /* Base */, + ); + name = MainMenu.xib; + path = Runner; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 331C80DB294CF71000263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.flutterApplication1.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/flutter_application_1.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/flutter_application_1"; + }; + name = Debug; + }; + 331C80DC294CF71000263BE5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.flutterApplication1.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/flutter_application_1.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/flutter_application_1"; + }; + name = Release; + }; + 331C80DD294CF71000263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.flutterApplication1.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/flutter_application_1.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/flutter_application_1"; + }; + name = Profile; + }; + 338D0CE9231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.14; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Profile; + }; + 338D0CEA231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Profile; + }; + 338D0CEB231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Profile; + }; + 33CC10F92044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.14; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 33CC10FA2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.14; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Release; + }; + 33CC10FC2044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 33CC10FD2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; + 33CC111C2044C6BA0003C045 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 33CC111D2044C6BA0003C045 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C80DB294CF71000263BE5 /* Debug */, + 331C80DC294CF71000263BE5 /* Release */, + 331C80DD294CF71000263BE5 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10F92044A3C60003C045 /* Debug */, + 33CC10FA2044A3C60003C045 /* Release */, + 338D0CE9231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10FC2044A3C60003C045 /* Debug */, + 33CC10FD2044A3C60003C045 /* Release */, + 338D0CEA231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC111C2044C6BA0003C045 /* Debug */, + 33CC111D2044C6BA0003C045 /* Release */, + 338D0CEB231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 33CC10E52044A3C60003C045 /* Project object */; +} diff --git a/smart_cycling/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/smart_cycling/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/smart_cycling/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/smart_cycling/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/smart_cycling/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..369e632 --- /dev/null +++ b/smart_cycling/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/smart_cycling/macos/Runner.xcworkspace/contents.xcworkspacedata b/smart_cycling/macos/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/smart_cycling/macos/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/smart_cycling/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/smart_cycling/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/smart_cycling/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/smart_cycling/macos/Runner/AppDelegate.swift b/smart_cycling/macos/Runner/AppDelegate.swift new file mode 100644 index 0000000..b3c1761 --- /dev/null +++ b/smart_cycling/macos/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import Cocoa +import FlutterMacOS + +@main +class AppDelegate: FlutterAppDelegate { + override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { + return true + } + + override func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool { + return true + } +} diff --git a/smart_cycling/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/smart_cycling/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..a2ec33f --- /dev/null +++ b/smart_cycling/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,68 @@ +{ + "images" : [ + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_16.png", + "scale" : "1x" + }, + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "2x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "1x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_64.png", + "scale" : "2x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_128.png", + "scale" : "1x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "2x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "1x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "2x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "1x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_1024.png", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/smart_cycling/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/smart_cycling/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png new file mode 100644 index 0000000..82b6f9d Binary files /dev/null and b/smart_cycling/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png differ diff --git a/smart_cycling/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/smart_cycling/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png new file mode 100644 index 0000000..13b35eb Binary files /dev/null and b/smart_cycling/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png differ diff --git a/smart_cycling/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/smart_cycling/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png new file mode 100644 index 0000000..0a3f5fa Binary files /dev/null and b/smart_cycling/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png differ diff --git a/smart_cycling/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png b/smart_cycling/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png new file mode 100644 index 0000000..bdb5722 Binary files /dev/null and b/smart_cycling/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png differ diff --git a/smart_cycling/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/smart_cycling/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png new file mode 100644 index 0000000..f083318 Binary files /dev/null and b/smart_cycling/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png differ diff --git a/smart_cycling/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/smart_cycling/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png new file mode 100644 index 0000000..326c0e7 Binary files /dev/null and b/smart_cycling/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png differ diff --git a/smart_cycling/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/smart_cycling/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png new file mode 100644 index 0000000..2f1632c Binary files /dev/null and b/smart_cycling/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png differ diff --git a/smart_cycling/macos/Runner/Base.lproj/MainMenu.xib b/smart_cycling/macos/Runner/Base.lproj/MainMenu.xib new file mode 100644 index 0000000..80e867a --- /dev/null +++ b/smart_cycling/macos/Runner/Base.lproj/MainMenu.xib @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/smart_cycling/macos/Runner/Configs/AppInfo.xcconfig b/smart_cycling/macos/Runner/Configs/AppInfo.xcconfig new file mode 100644 index 0000000..e5b4e71 --- /dev/null +++ b/smart_cycling/macos/Runner/Configs/AppInfo.xcconfig @@ -0,0 +1,14 @@ +// Application-level settings for the Runner target. +// +// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the +// future. If not, the values below would default to using the project name when this becomes a +// 'flutter create' template. + +// The application's name. By default this is also the title of the Flutter window. +PRODUCT_NAME = flutter_application_1 + +// The application's bundle identifier +PRODUCT_BUNDLE_IDENTIFIER = com.example.flutterApplication1 + +// The copyright displayed in application information +PRODUCT_COPYRIGHT = Copyright © 2025 com.example. All rights reserved. diff --git a/smart_cycling/macos/Runner/Configs/Debug.xcconfig b/smart_cycling/macos/Runner/Configs/Debug.xcconfig new file mode 100644 index 0000000..36b0fd9 --- /dev/null +++ b/smart_cycling/macos/Runner/Configs/Debug.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Debug.xcconfig" +#include "Warnings.xcconfig" diff --git a/smart_cycling/macos/Runner/Configs/Release.xcconfig b/smart_cycling/macos/Runner/Configs/Release.xcconfig new file mode 100644 index 0000000..dff4f49 --- /dev/null +++ b/smart_cycling/macos/Runner/Configs/Release.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Release.xcconfig" +#include "Warnings.xcconfig" diff --git a/smart_cycling/macos/Runner/Configs/Warnings.xcconfig b/smart_cycling/macos/Runner/Configs/Warnings.xcconfig new file mode 100644 index 0000000..42bcbf4 --- /dev/null +++ b/smart_cycling/macos/Runner/Configs/Warnings.xcconfig @@ -0,0 +1,13 @@ +WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings +GCC_WARN_UNDECLARED_SELECTOR = YES +CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES +CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE +CLANG_WARN__DUPLICATE_METHOD_MATCH = YES +CLANG_WARN_PRAGMA_PACK = YES +CLANG_WARN_STRICT_PROTOTYPES = YES +CLANG_WARN_COMMA = YES +GCC_WARN_STRICT_SELECTOR_MATCH = YES +CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES +CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES +GCC_WARN_SHADOW = YES +CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/smart_cycling/macos/Runner/DebugProfile.entitlements b/smart_cycling/macos/Runner/DebugProfile.entitlements new file mode 100644 index 0000000..dddb8a3 --- /dev/null +++ b/smart_cycling/macos/Runner/DebugProfile.entitlements @@ -0,0 +1,12 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.cs.allow-jit + + com.apple.security.network.server + + + diff --git a/smart_cycling/macos/Runner/Info.plist b/smart_cycling/macos/Runner/Info.plist new file mode 100644 index 0000000..4789daa --- /dev/null +++ b/smart_cycling/macos/Runner/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSMinimumSystemVersion + $(MACOSX_DEPLOYMENT_TARGET) + NSHumanReadableCopyright + $(PRODUCT_COPYRIGHT) + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/smart_cycling/macos/Runner/MainFlutterWindow.swift b/smart_cycling/macos/Runner/MainFlutterWindow.swift new file mode 100644 index 0000000..3cc05eb --- /dev/null +++ b/smart_cycling/macos/Runner/MainFlutterWindow.swift @@ -0,0 +1,15 @@ +import Cocoa +import FlutterMacOS + +class MainFlutterWindow: NSWindow { + override func awakeFromNib() { + let flutterViewController = FlutterViewController() + let windowFrame = self.frame + self.contentViewController = flutterViewController + self.setFrame(windowFrame, display: true) + + RegisterGeneratedPlugins(registry: flutterViewController) + + super.awakeFromNib() + } +} diff --git a/smart_cycling/macos/Runner/Release.entitlements b/smart_cycling/macos/Runner/Release.entitlements new file mode 100644 index 0000000..852fa1a --- /dev/null +++ b/smart_cycling/macos/Runner/Release.entitlements @@ -0,0 +1,8 @@ + + + + + com.apple.security.app-sandbox + + + diff --git a/smart_cycling/macos/RunnerTests/RunnerTests.swift b/smart_cycling/macos/RunnerTests/RunnerTests.swift new file mode 100644 index 0000000..61f3bd1 --- /dev/null +++ b/smart_cycling/macos/RunnerTests/RunnerTests.swift @@ -0,0 +1,12 @@ +import Cocoa +import FlutterMacOS +import XCTest + +class RunnerTests: XCTestCase { + + func testExample() { + // If you add code to the Runner application, consider adding tests here. + // See https://developer.apple.com/documentation/xctest for more information about using XCTest. + } + +} diff --git a/smart_cycling/pubspec.yaml b/smart_cycling/pubspec.yaml new file mode 100644 index 0000000..06e8055 --- /dev/null +++ b/smart_cycling/pubspec.yaml @@ -0,0 +1,44 @@ +name: smart_cycling +description: "A new Flutter project." +publish_to: 'none' + +version: 1.0.0+1 + +environment: + sdk: ^3.6.1 + +dependencies: + flutter: + sdk: flutter + + # Library untuk koneksi ke database Laragon/MySQL + http: ^1.1.0 + + # Library untuk ikon tambahan + font_awesome_flutter: ^10.7.0 + + # Library untuk menyimpan sesi "Halo Nama" agar tidak hilang + shared_preferences: ^2.3.5 + + cupertino_icons: ^1.0.8 + google_fonts: ^6.3.0 + device_preview: ^1.2.0 + image_picker: ^1.2.0 + flutter_map: ^6.1.0 + latlong2: ^0.9.1 + geolocator: ^10.1.0 + intl: ^0.19.0 + flutter_tts: 4.1.0 + fl_chart: ^0.68.0 + +dev_dependencies: + flutter_test: + sdk: flutter + flutter_lints: ^5.0.0 + +flutter: + uses-material-design: true + + # Pendaftaran folder gambar + assets: + - assets/images/ \ No newline at end of file diff --git a/smart_cycling/test/widget_test.dart b/smart_cycling/test/widget_test.dart new file mode 100644 index 0000000..fd9306c --- /dev/null +++ b/smart_cycling/test/widget_test.dart @@ -0,0 +1,30 @@ +// This is a basic Flutter widget test. +// +// To perform an interaction with a widget in your test, use the WidgetTester +// utility in the flutter_test package. For example, you can send tap and scroll +// gestures. You can also use WidgetTester to find child widgets in the widget +// tree, read text, and verify that the values of widget properties are correct. + +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import 'package:smart_cycling/main.dart'; + +void main() { + testWidgets('Counter increments smoke test', (WidgetTester tester) async { + // Build our app and trigger a frame. + await tester.pumpWidget(const MyApp()); + + // Verify that our counter starts at 0. + expect(find.text('0'), findsOneWidget); + expect(find.text('1'), findsNothing); + + // Tap the '+' icon and trigger a frame. + await tester.tap(find.byIcon(Icons.add)); + await tester.pump(); + + // Verify that our counter has incremented. + expect(find.text('0'), findsNothing); + expect(find.text('1'), findsOneWidget); + }); +} diff --git a/smart_cycling/web/favicon.png b/smart_cycling/web/favicon.png new file mode 100644 index 0000000..8aaa46a Binary files /dev/null and b/smart_cycling/web/favicon.png differ diff --git a/smart_cycling/web/icons/Icon-192.png b/smart_cycling/web/icons/Icon-192.png new file mode 100644 index 0000000..b749bfe Binary files /dev/null and b/smart_cycling/web/icons/Icon-192.png differ diff --git a/smart_cycling/web/icons/Icon-512.png b/smart_cycling/web/icons/Icon-512.png new file mode 100644 index 0000000..88cfd48 Binary files /dev/null and b/smart_cycling/web/icons/Icon-512.png differ diff --git a/smart_cycling/web/icons/Icon-maskable-192.png b/smart_cycling/web/icons/Icon-maskable-192.png new file mode 100644 index 0000000..eb9b4d7 Binary files /dev/null and b/smart_cycling/web/icons/Icon-maskable-192.png differ diff --git a/smart_cycling/web/icons/Icon-maskable-512.png b/smart_cycling/web/icons/Icon-maskable-512.png new file mode 100644 index 0000000..d69c566 Binary files /dev/null and b/smart_cycling/web/icons/Icon-maskable-512.png differ diff --git a/smart_cycling/web/index.html b/smart_cycling/web/index.html new file mode 100644 index 0000000..34a4134 --- /dev/null +++ b/smart_cycling/web/index.html @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + flutter_application_1 + + + + + + diff --git a/smart_cycling/web/manifest.json b/smart_cycling/web/manifest.json new file mode 100644 index 0000000..dd8e066 --- /dev/null +++ b/smart_cycling/web/manifest.json @@ -0,0 +1,35 @@ +{ + "name": "flutter_application_1", + "short_name": "flutter_application_1", + "start_url": ".", + "display": "standalone", + "background_color": "#0175C2", + "theme_color": "#0175C2", + "description": "A new Flutter project.", + "orientation": "portrait-primary", + "prefer_related_applications": false, + "icons": [ + { + "src": "icons/Icon-192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "icons/Icon-512.png", + "sizes": "512x512", + "type": "image/png" + }, + { + "src": "icons/Icon-maskable-192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "icons/Icon-maskable-512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ] +} diff --git a/smart_cycling/windows/.gitignore b/smart_cycling/windows/.gitignore new file mode 100644 index 0000000..d492d0d --- /dev/null +++ b/smart_cycling/windows/.gitignore @@ -0,0 +1,17 @@ +flutter/ephemeral/ + +# Visual Studio user-specific files. +*.suo +*.user +*.userosscache +*.sln.docstates + +# Visual Studio build-related files. +x64/ +x86/ + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ diff --git a/smart_cycling/windows/CMakeLists.txt b/smart_cycling/windows/CMakeLists.txt new file mode 100644 index 0000000..8cc860b --- /dev/null +++ b/smart_cycling/windows/CMakeLists.txt @@ -0,0 +1,108 @@ +# Project-level configuration. +cmake_minimum_required(VERSION 3.14) +project(flutter_application_1 LANGUAGES CXX) + +# The name of the executable created for the application. Change this to change +# the on-disk name of your application. +set(BINARY_NAME "flutter_application_1") + +# Explicitly opt in to modern CMake behaviors to avoid warnings with recent +# versions of CMake. +cmake_policy(VERSION 3.14...3.25) + +# Define build configuration option. +get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) +if(IS_MULTICONFIG) + set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release" + CACHE STRING "" FORCE) +else() + if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") + endif() +endif() +# Define settings for the Profile build mode. +set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") +set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") +set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}") +set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}") + +# Use Unicode for all projects. +add_definitions(-DUNICODE -D_UNICODE) + +# Compilation settings that should be applied to most targets. +# +# Be cautious about adding new options here, as plugins use this function by +# default. In most cases, you should add new options to specific targets instead +# of modifying this function. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_17) + target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100") + target_compile_options(${TARGET} PRIVATE /EHsc) + target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0") + target_compile_definitions(${TARGET} PRIVATE "$<$:_DEBUG>") +endfunction() + +# Flutter library and tool build rules. +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# Application build; see runner/CMakeLists.txt. +add_subdirectory("runner") + + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) + + +# === Installation === +# Support files are copied into place next to the executable, so that it can +# run in place. This is done instead of making a separate bundle (as on Linux) +# so that building and running from within Visual Studio will work. +set(BUILD_BUNDLE_DIR "$") +# Make the "install" step default, as it's required to run. +set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1) +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) +endif() + +set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") +set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}") + +install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +if(PLUGIN_BUNDLED_LIBRARIES) + install(FILES "${PLUGIN_BUNDLED_LIBRARIES}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endif() + +# Copy the native assets provided by the build.dart from all packages. +set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/windows/") +install(DIRECTORY "${NATIVE_ASSETS_DIR}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +# Fully re-copy the assets directory on each build to avoid having stale files +# from a previous install. +set(FLUTTER_ASSET_DIR_NAME "flutter_assets") +install(CODE " + file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") + " COMPONENT Runtime) +install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" + DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) + +# Install the AOT library on non-Debug builds only. +install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + CONFIGURATIONS Profile;Release + COMPONENT Runtime) diff --git a/smart_cycling/windows/flutter/CMakeLists.txt b/smart_cycling/windows/flutter/CMakeLists.txt new file mode 100644 index 0000000..903f489 --- /dev/null +++ b/smart_cycling/windows/flutter/CMakeLists.txt @@ -0,0 +1,109 @@ +# This file controls Flutter-level build steps. It should not be edited. +cmake_minimum_required(VERSION 3.14) + +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. +set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") + +# Set fallback configurations for older versions of the flutter tool. +if (NOT DEFINED FLUTTER_TARGET_PLATFORM) + set(FLUTTER_TARGET_PLATFORM "windows-x64") +endif() + +# === Flutter Library === +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) +set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) +set(AOT_LIBRARY "${PROJECT_DIR}/build/windows/app.so" PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "flutter_export.h" + "flutter_windows.h" + "flutter_messenger.h" + "flutter_plugin_registrar.h" + "flutter_texture_registrar.h" +) +list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib") +add_dependencies(flutter flutter_assemble) + +# === Wrapper === +list(APPEND CPP_WRAPPER_SOURCES_CORE + "core_implementations.cc" + "standard_codec.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_PLUGIN + "plugin_registrar.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_APP + "flutter_engine.cc" + "flutter_view_controller.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/") + +# Wrapper sources needed for a plugin. +add_library(flutter_wrapper_plugin STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} +) +apply_standard_settings(flutter_wrapper_plugin) +set_target_properties(flutter_wrapper_plugin PROPERTIES + POSITION_INDEPENDENT_CODE ON) +set_target_properties(flutter_wrapper_plugin PROPERTIES + CXX_VISIBILITY_PRESET hidden) +target_link_libraries(flutter_wrapper_plugin PUBLIC flutter) +target_include_directories(flutter_wrapper_plugin PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_plugin flutter_assemble) + +# Wrapper sources needed for the runner. +add_library(flutter_wrapper_app STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_APP} +) +apply_standard_settings(flutter_wrapper_app) +target_link_libraries(flutter_wrapper_app PUBLIC flutter) +target_include_directories(flutter_wrapper_app PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_app flutter_assemble) + +# === Flutter tool backend === +# _phony_ is a non-existent file to force this command to run every time, +# since currently there's no way to get a full input/output list from the +# flutter tool. +set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_") +set_source_files_properties("${PHONY_OUTPUT}" PROPERTIES SYMBOLIC TRUE) +add_custom_command( + OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} + ${PHONY_OUTPUT} + COMMAND ${CMAKE_COMMAND} -E env + ${FLUTTER_TOOL_ENVIRONMENT} + "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" + ${FLUTTER_TARGET_PLATFORM} $ + VERBATIM +) +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} +) diff --git a/smart_cycling/windows/runner/CMakeLists.txt b/smart_cycling/windows/runner/CMakeLists.txt new file mode 100644 index 0000000..394917c --- /dev/null +++ b/smart_cycling/windows/runner/CMakeLists.txt @@ -0,0 +1,40 @@ +cmake_minimum_required(VERSION 3.14) +project(runner LANGUAGES CXX) + +# Define the application target. To change its name, change BINARY_NAME in the +# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer +# work. +# +# Any new source files that you add to the application should be added here. +add_executable(${BINARY_NAME} WIN32 + "flutter_window.cpp" + "main.cpp" + "utils.cpp" + "win32_window.cpp" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" + "Runner.rc" + "runner.exe.manifest" +) + +# Apply the standard set of build settings. This can be removed for applications +# that need different build settings. +apply_standard_settings(${BINARY_NAME}) + +# Add preprocessor definitions for the build version. +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION=\"${FLUTTER_VERSION}\"") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MAJOR=${FLUTTER_VERSION_MAJOR}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MINOR=${FLUTTER_VERSION_MINOR}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_PATCH=${FLUTTER_VERSION_PATCH}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_BUILD=${FLUTTER_VERSION_BUILD}") + +# Disable Windows macros that collide with C++ standard library functions. +target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") + +# Add dependency libraries and include directories. Add any application-specific +# dependencies here. +target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) +target_link_libraries(${BINARY_NAME} PRIVATE "dwmapi.lib") +target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") + +# Run the Flutter tool portions of the build. This must not be removed. +add_dependencies(${BINARY_NAME} flutter_assemble) diff --git a/smart_cycling/windows/runner/Runner.rc b/smart_cycling/windows/runner/Runner.rc new file mode 100644 index 0000000..765011b --- /dev/null +++ b/smart_cycling/windows/runner/Runner.rc @@ -0,0 +1,121 @@ +// Microsoft Visual C++ generated resource script. +// +#pragma code_page(65001) +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_APP_ICON ICON "resources\\app_icon.ico" + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +#if defined(FLUTTER_VERSION_MAJOR) && defined(FLUTTER_VERSION_MINOR) && defined(FLUTTER_VERSION_PATCH) && defined(FLUTTER_VERSION_BUILD) +#define VERSION_AS_NUMBER FLUTTER_VERSION_MAJOR,FLUTTER_VERSION_MINOR,FLUTTER_VERSION_PATCH,FLUTTER_VERSION_BUILD +#else +#define VERSION_AS_NUMBER 1,0,0,0 +#endif + +#if defined(FLUTTER_VERSION) +#define VERSION_AS_STRING FLUTTER_VERSION +#else +#define VERSION_AS_STRING "1.0.0" +#endif + +VS_VERSION_INFO VERSIONINFO + FILEVERSION VERSION_AS_NUMBER + PRODUCTVERSION VERSION_AS_NUMBER + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef _DEBUG + FILEFLAGS VS_FF_DEBUG +#else + FILEFLAGS 0x0L +#endif + FILEOS VOS__WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904e4" + BEGIN + VALUE "CompanyName", "com.example" "\0" + VALUE "FileDescription", "flutter_application_1" "\0" + VALUE "FileVersion", VERSION_AS_STRING "\0" + VALUE "InternalName", "flutter_application_1" "\0" + VALUE "LegalCopyright", "Copyright (C) 2025 com.example. All rights reserved." "\0" + VALUE "OriginalFilename", "flutter_application_1.exe" "\0" + VALUE "ProductName", "flutter_application_1" "\0" + VALUE "ProductVersion", VERSION_AS_STRING "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED diff --git a/smart_cycling/windows/runner/flutter_window.cpp b/smart_cycling/windows/runner/flutter_window.cpp new file mode 100644 index 0000000..955ee30 --- /dev/null +++ b/smart_cycling/windows/runner/flutter_window.cpp @@ -0,0 +1,71 @@ +#include "flutter_window.h" + +#include + +#include "flutter/generated_plugin_registrant.h" + +FlutterWindow::FlutterWindow(const flutter::DartProject& project) + : project_(project) {} + +FlutterWindow::~FlutterWindow() {} + +bool FlutterWindow::OnCreate() { + if (!Win32Window::OnCreate()) { + return false; + } + + RECT frame = GetClientArea(); + + // The size here must match the window dimensions to avoid unnecessary surface + // creation / destruction in the startup path. + flutter_controller_ = std::make_unique( + frame.right - frame.left, frame.bottom - frame.top, project_); + // Ensure that basic setup of the controller was successful. + if (!flutter_controller_->engine() || !flutter_controller_->view()) { + return false; + } + RegisterPlugins(flutter_controller_->engine()); + SetChildContent(flutter_controller_->view()->GetNativeWindow()); + + flutter_controller_->engine()->SetNextFrameCallback([&]() { + this->Show(); + }); + + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + + return true; +} + +void FlutterWindow::OnDestroy() { + if (flutter_controller_) { + flutter_controller_ = nullptr; + } + + Win32Window::OnDestroy(); +} + +LRESULT +FlutterWindow::MessageHandler(HWND hwnd, UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + // Give Flutter, including plugins, an opportunity to handle window messages. + if (flutter_controller_) { + std::optional result = + flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam, + lparam); + if (result) { + return *result; + } + } + + switch (message) { + case WM_FONTCHANGE: + flutter_controller_->engine()->ReloadSystemFonts(); + break; + } + + return Win32Window::MessageHandler(hwnd, message, wparam, lparam); +} diff --git a/smart_cycling/windows/runner/flutter_window.h b/smart_cycling/windows/runner/flutter_window.h new file mode 100644 index 0000000..6da0652 --- /dev/null +++ b/smart_cycling/windows/runner/flutter_window.h @@ -0,0 +1,33 @@ +#ifndef RUNNER_FLUTTER_WINDOW_H_ +#define RUNNER_FLUTTER_WINDOW_H_ + +#include +#include + +#include + +#include "win32_window.h" + +// A window that does nothing but host a Flutter view. +class FlutterWindow : public Win32Window { + public: + // Creates a new FlutterWindow hosting a Flutter view running |project|. + explicit FlutterWindow(const flutter::DartProject& project); + virtual ~FlutterWindow(); + + protected: + // Win32Window: + bool OnCreate() override; + void OnDestroy() override; + LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam, + LPARAM const lparam) noexcept override; + + private: + // The project to run. + flutter::DartProject project_; + + // The Flutter instance hosted by this window. + std::unique_ptr flutter_controller_; +}; + +#endif // RUNNER_FLUTTER_WINDOW_H_ diff --git a/smart_cycling/windows/runner/main.cpp b/smart_cycling/windows/runner/main.cpp new file mode 100644 index 0000000..bb23060 --- /dev/null +++ b/smart_cycling/windows/runner/main.cpp @@ -0,0 +1,43 @@ +#include +#include +#include + +#include "flutter_window.h" +#include "utils.h" + +int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, + _In_ wchar_t *command_line, _In_ int show_command) { + // Attach to console when present (e.g., 'flutter run') or create a + // new console when running with a debugger. + if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) { + CreateAndAttachConsole(); + } + + // Initialize COM, so that it is available for use in the library and/or + // plugins. + ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); + + flutter::DartProject project(L"data"); + + std::vector command_line_arguments = + GetCommandLineArguments(); + + project.set_dart_entrypoint_arguments(std::move(command_line_arguments)); + + FlutterWindow window(project); + Win32Window::Point origin(10, 10); + Win32Window::Size size(1280, 720); + if (!window.Create(L"flutter_application_1", origin, size)) { + return EXIT_FAILURE; + } + window.SetQuitOnClose(true); + + ::MSG msg; + while (::GetMessage(&msg, nullptr, 0, 0)) { + ::TranslateMessage(&msg); + ::DispatchMessage(&msg); + } + + ::CoUninitialize(); + return EXIT_SUCCESS; +} diff --git a/smart_cycling/windows/runner/resource.h b/smart_cycling/windows/runner/resource.h new file mode 100644 index 0000000..66a65d1 --- /dev/null +++ b/smart_cycling/windows/runner/resource.h @@ -0,0 +1,16 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by Runner.rc +// +#define IDI_APP_ICON 101 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 102 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/smart_cycling/windows/runner/resources/app_icon.ico b/smart_cycling/windows/runner/resources/app_icon.ico new file mode 100644 index 0000000..c04e20c Binary files /dev/null and b/smart_cycling/windows/runner/resources/app_icon.ico differ diff --git a/smart_cycling/windows/runner/runner.exe.manifest b/smart_cycling/windows/runner/runner.exe.manifest new file mode 100644 index 0000000..153653e --- /dev/null +++ b/smart_cycling/windows/runner/runner.exe.manifest @@ -0,0 +1,14 @@ + + + + + PerMonitorV2 + + + + + + + + + diff --git a/smart_cycling/windows/runner/utils.cpp b/smart_cycling/windows/runner/utils.cpp new file mode 100644 index 0000000..3a0b465 --- /dev/null +++ b/smart_cycling/windows/runner/utils.cpp @@ -0,0 +1,65 @@ +#include "utils.h" + +#include +#include +#include +#include + +#include + +void CreateAndAttachConsole() { + if (::AllocConsole()) { + FILE *unused; + if (freopen_s(&unused, "CONOUT$", "w", stdout)) { + _dup2(_fileno(stdout), 1); + } + if (freopen_s(&unused, "CONOUT$", "w", stderr)) { + _dup2(_fileno(stdout), 2); + } + std::ios::sync_with_stdio(); + FlutterDesktopResyncOutputStreams(); + } +} + +std::vector GetCommandLineArguments() { + // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use. + int argc; + wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc); + if (argv == nullptr) { + return std::vector(); + } + + std::vector command_line_arguments; + + // Skip the first argument as it's the binary name. + for (int i = 1; i < argc; i++) { + command_line_arguments.push_back(Utf8FromUtf16(argv[i])); + } + + ::LocalFree(argv); + + return command_line_arguments; +} + +std::string Utf8FromUtf16(const wchar_t* utf16_string) { + if (utf16_string == nullptr) { + return std::string(); + } + unsigned int target_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + -1, nullptr, 0, nullptr, nullptr) + -1; // remove the trailing null character + int input_length = (int)wcslen(utf16_string); + std::string utf8_string; + if (target_length == 0 || target_length > utf8_string.max_size()) { + return utf8_string; + } + utf8_string.resize(target_length); + int converted_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + input_length, utf8_string.data(), target_length, nullptr, nullptr); + if (converted_length == 0) { + return std::string(); + } + return utf8_string; +} diff --git a/smart_cycling/windows/runner/utils.h b/smart_cycling/windows/runner/utils.h new file mode 100644 index 0000000..3879d54 --- /dev/null +++ b/smart_cycling/windows/runner/utils.h @@ -0,0 +1,19 @@ +#ifndef RUNNER_UTILS_H_ +#define RUNNER_UTILS_H_ + +#include +#include + +// Creates a console for the process, and redirects stdout and stderr to +// it for both the runner and the Flutter library. +void CreateAndAttachConsole(); + +// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string +// encoded in UTF-8. Returns an empty std::string on failure. +std::string Utf8FromUtf16(const wchar_t* utf16_string); + +// Gets the command line arguments passed in as a std::vector, +// encoded in UTF-8. Returns an empty std::vector on failure. +std::vector GetCommandLineArguments(); + +#endif // RUNNER_UTILS_H_ diff --git a/smart_cycling/windows/runner/win32_window.cpp b/smart_cycling/windows/runner/win32_window.cpp new file mode 100644 index 0000000..60608d0 --- /dev/null +++ b/smart_cycling/windows/runner/win32_window.cpp @@ -0,0 +1,288 @@ +#include "win32_window.h" + +#include +#include + +#include "resource.h" + +namespace { + +/// Window attribute that enables dark mode window decorations. +/// +/// Redefined in case the developer's machine has a Windows SDK older than +/// version 10.0.22000.0. +/// See: https://docs.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute +#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE +#define DWMWA_USE_IMMERSIVE_DARK_MODE 20 +#endif + +constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; + +/// Registry key for app theme preference. +/// +/// A value of 0 indicates apps should use dark mode. A non-zero or missing +/// value indicates apps should use light mode. +constexpr const wchar_t kGetPreferredBrightnessRegKey[] = + L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"; +constexpr const wchar_t kGetPreferredBrightnessRegValue[] = L"AppsUseLightTheme"; + +// The number of Win32Window objects that currently exist. +static int g_active_window_count = 0; + +using EnableNonClientDpiScaling = BOOL __stdcall(HWND hwnd); + +// Scale helper to convert logical scaler values to physical using passed in +// scale factor +int Scale(int source, double scale_factor) { + return static_cast(source * scale_factor); +} + +// Dynamically loads the |EnableNonClientDpiScaling| from the User32 module. +// This API is only needed for PerMonitor V1 awareness mode. +void EnableFullDpiSupportIfAvailable(HWND hwnd) { + HMODULE user32_module = LoadLibraryA("User32.dll"); + if (!user32_module) { + return; + } + auto enable_non_client_dpi_scaling = + reinterpret_cast( + GetProcAddress(user32_module, "EnableNonClientDpiScaling")); + if (enable_non_client_dpi_scaling != nullptr) { + enable_non_client_dpi_scaling(hwnd); + } + FreeLibrary(user32_module); +} + +} // namespace + +// Manages the Win32Window's window class registration. +class WindowClassRegistrar { + public: + ~WindowClassRegistrar() = default; + + // Returns the singleton registrar instance. + static WindowClassRegistrar* GetInstance() { + if (!instance_) { + instance_ = new WindowClassRegistrar(); + } + return instance_; + } + + // Returns the name of the window class, registering the class if it hasn't + // previously been registered. + const wchar_t* GetWindowClass(); + + // Unregisters the window class. Should only be called if there are no + // instances of the window. + void UnregisterWindowClass(); + + private: + WindowClassRegistrar() = default; + + static WindowClassRegistrar* instance_; + + bool class_registered_ = false; +}; + +WindowClassRegistrar* WindowClassRegistrar::instance_ = nullptr; + +const wchar_t* WindowClassRegistrar::GetWindowClass() { + if (!class_registered_) { + WNDCLASS window_class{}; + window_class.hCursor = LoadCursor(nullptr, IDC_ARROW); + window_class.lpszClassName = kWindowClassName; + window_class.style = CS_HREDRAW | CS_VREDRAW; + window_class.cbClsExtra = 0; + window_class.cbWndExtra = 0; + window_class.hInstance = GetModuleHandle(nullptr); + window_class.hIcon = + LoadIcon(window_class.hInstance, MAKEINTRESOURCE(IDI_APP_ICON)); + window_class.hbrBackground = 0; + window_class.lpszMenuName = nullptr; + window_class.lpfnWndProc = Win32Window::WndProc; + RegisterClass(&window_class); + class_registered_ = true; + } + return kWindowClassName; +} + +void WindowClassRegistrar::UnregisterWindowClass() { + UnregisterClass(kWindowClassName, nullptr); + class_registered_ = false; +} + +Win32Window::Win32Window() { + ++g_active_window_count; +} + +Win32Window::~Win32Window() { + --g_active_window_count; + Destroy(); +} + +bool Win32Window::Create(const std::wstring& title, + const Point& origin, + const Size& size) { + Destroy(); + + const wchar_t* window_class = + WindowClassRegistrar::GetInstance()->GetWindowClass(); + + const POINT target_point = {static_cast(origin.x), + static_cast(origin.y)}; + HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST); + UINT dpi = FlutterDesktopGetDpiForMonitor(monitor); + double scale_factor = dpi / 96.0; + + HWND window = CreateWindow( + window_class, title.c_str(), WS_OVERLAPPEDWINDOW, + Scale(origin.x, scale_factor), Scale(origin.y, scale_factor), + Scale(size.width, scale_factor), Scale(size.height, scale_factor), + nullptr, nullptr, GetModuleHandle(nullptr), this); + + if (!window) { + return false; + } + + UpdateTheme(window); + + return OnCreate(); +} + +bool Win32Window::Show() { + return ShowWindow(window_handle_, SW_SHOWNORMAL); +} + +// static +LRESULT CALLBACK Win32Window::WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + if (message == WM_NCCREATE) { + auto window_struct = reinterpret_cast(lparam); + SetWindowLongPtr(window, GWLP_USERDATA, + reinterpret_cast(window_struct->lpCreateParams)); + + auto that = static_cast(window_struct->lpCreateParams); + EnableFullDpiSupportIfAvailable(window); + that->window_handle_ = window; + } else if (Win32Window* that = GetThisFromHandle(window)) { + return that->MessageHandler(window, message, wparam, lparam); + } + + return DefWindowProc(window, message, wparam, lparam); +} + +LRESULT +Win32Window::MessageHandler(HWND hwnd, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + switch (message) { + case WM_DESTROY: + window_handle_ = nullptr; + Destroy(); + if (quit_on_close_) { + PostQuitMessage(0); + } + return 0; + + case WM_DPICHANGED: { + auto newRectSize = reinterpret_cast(lparam); + LONG newWidth = newRectSize->right - newRectSize->left; + LONG newHeight = newRectSize->bottom - newRectSize->top; + + SetWindowPos(hwnd, nullptr, newRectSize->left, newRectSize->top, newWidth, + newHeight, SWP_NOZORDER | SWP_NOACTIVATE); + + return 0; + } + case WM_SIZE: { + RECT rect = GetClientArea(); + if (child_content_ != nullptr) { + // Size and position the child window. + MoveWindow(child_content_, rect.left, rect.top, rect.right - rect.left, + rect.bottom - rect.top, TRUE); + } + return 0; + } + + case WM_ACTIVATE: + if (child_content_ != nullptr) { + SetFocus(child_content_); + } + return 0; + + case WM_DWMCOLORIZATIONCOLORCHANGED: + UpdateTheme(hwnd); + return 0; + } + + return DefWindowProc(window_handle_, message, wparam, lparam); +} + +void Win32Window::Destroy() { + OnDestroy(); + + if (window_handle_) { + DestroyWindow(window_handle_); + window_handle_ = nullptr; + } + if (g_active_window_count == 0) { + WindowClassRegistrar::GetInstance()->UnregisterWindowClass(); + } +} + +Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept { + return reinterpret_cast( + GetWindowLongPtr(window, GWLP_USERDATA)); +} + +void Win32Window::SetChildContent(HWND content) { + child_content_ = content; + SetParent(content, window_handle_); + RECT frame = GetClientArea(); + + MoveWindow(content, frame.left, frame.top, frame.right - frame.left, + frame.bottom - frame.top, true); + + SetFocus(child_content_); +} + +RECT Win32Window::GetClientArea() { + RECT frame; + GetClientRect(window_handle_, &frame); + return frame; +} + +HWND Win32Window::GetHandle() { + return window_handle_; +} + +void Win32Window::SetQuitOnClose(bool quit_on_close) { + quit_on_close_ = quit_on_close; +} + +bool Win32Window::OnCreate() { + // No-op; provided for subclasses. + return true; +} + +void Win32Window::OnDestroy() { + // No-op; provided for subclasses. +} + +void Win32Window::UpdateTheme(HWND const window) { + DWORD light_mode; + DWORD light_mode_size = sizeof(light_mode); + LSTATUS result = RegGetValue(HKEY_CURRENT_USER, kGetPreferredBrightnessRegKey, + kGetPreferredBrightnessRegValue, + RRF_RT_REG_DWORD, nullptr, &light_mode, + &light_mode_size); + + if (result == ERROR_SUCCESS) { + BOOL enable_dark_mode = light_mode == 0; + DwmSetWindowAttribute(window, DWMWA_USE_IMMERSIVE_DARK_MODE, + &enable_dark_mode, sizeof(enable_dark_mode)); + } +} diff --git a/smart_cycling/windows/runner/win32_window.h b/smart_cycling/windows/runner/win32_window.h new file mode 100644 index 0000000..e901dde --- /dev/null +++ b/smart_cycling/windows/runner/win32_window.h @@ -0,0 +1,102 @@ +#ifndef RUNNER_WIN32_WINDOW_H_ +#define RUNNER_WIN32_WINDOW_H_ + +#include + +#include +#include +#include + +// A class abstraction for a high DPI-aware Win32 Window. Intended to be +// inherited from by classes that wish to specialize with custom +// rendering and input handling +class Win32Window { + public: + struct Point { + unsigned int x; + unsigned int y; + Point(unsigned int x, unsigned int y) : x(x), y(y) {} + }; + + struct Size { + unsigned int width; + unsigned int height; + Size(unsigned int width, unsigned int height) + : width(width), height(height) {} + }; + + Win32Window(); + virtual ~Win32Window(); + + // Creates a win32 window with |title| that is positioned and sized using + // |origin| and |size|. New windows are created on the default monitor. Window + // sizes are specified to the OS in physical pixels, hence to ensure a + // consistent size this function will scale the inputted width and height as + // as appropriate for the default monitor. The window is invisible until + // |Show| is called. Returns true if the window was created successfully. + bool Create(const std::wstring& title, const Point& origin, const Size& size); + + // Show the current window. Returns true if the window was successfully shown. + bool Show(); + + // Release OS resources associated with window. + void Destroy(); + + // Inserts |content| into the window tree. + void SetChildContent(HWND content); + + // Returns the backing Window handle to enable clients to set icon and other + // window properties. Returns nullptr if the window has been destroyed. + HWND GetHandle(); + + // If true, closing this window will quit the application. + void SetQuitOnClose(bool quit_on_close); + + // Return a RECT representing the bounds of the current client area. + RECT GetClientArea(); + + protected: + // Processes and route salient window messages for mouse handling, + // size change and DPI. Delegates handling of these to member overloads that + // inheriting classes can handle. + virtual LRESULT MessageHandler(HWND window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Called when CreateAndShow is called, allowing subclass window-related + // setup. Subclasses should return false if setup fails. + virtual bool OnCreate(); + + // Called when Destroy is called. + virtual void OnDestroy(); + + private: + friend class WindowClassRegistrar; + + // OS callback called by message pump. Handles the WM_NCCREATE message which + // is passed when the non-client area is being created and enables automatic + // non-client DPI scaling so that the non-client area automatically + // responds to changes in DPI. All other messages are handled by + // MessageHandler. + static LRESULT CALLBACK WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Retrieves a class instance pointer for |window| + static Win32Window* GetThisFromHandle(HWND const window) noexcept; + + // Update the window frame's theme to match the system theme. + static void UpdateTheme(HWND const window); + + bool quit_on_close_ = false; + + // window handle for top level window. + HWND window_handle_ = nullptr; + + // window handle for hosted content. + HWND child_content_ = nullptr; +}; + +#endif // RUNNER_WIN32_WINDOW_H_ diff --git a/smart_cycling_api/.gitattributes b/smart_cycling_api/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/smart_cycling_api/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/smart_cycling_api/README.md b/smart_cycling_api/README.md new file mode 100644 index 0000000..7fe776b --- /dev/null +++ b/smart_cycling_api/README.md @@ -0,0 +1,2 @@ +# smart_cycling_api + diff --git a/smart_cycling_api/add_target_waktu_to_history.php b/smart_cycling_api/add_target_waktu_to_history.php new file mode 100644 index 0000000..8c288db --- /dev/null +++ b/smart_cycling_api/add_target_waktu_to_history.php @@ -0,0 +1,11 @@ + diff --git a/smart_cycling_api/apply_trigger.php b/smart_cycling_api/apply_trigger.php new file mode 100644 index 0000000..b39c5f0 --- /dev/null +++ b/smart_cycling_api/apply_trigger.php @@ -0,0 +1,64 @@ + diff --git a/smart_cycling_api/bulk_import_routes.php b/smart_cycling_api/bulk_import_routes.php new file mode 100644 index 0000000..24f1890 --- /dev/null +++ b/smart_cycling_api/bulk_import_routes.php @@ -0,0 +1,75 @@ +"; + $error_count++; + continue; + } + + // Ekstrak koordinat dari LineString (feature pertama) + $raw_coords = $data['features'][0]['geometry']['coordinates']; + $formatted_coords = []; + foreach ($raw_coords as $coord) { + $formatted_coords[] = [ + 'lat' => $coord[1], + 'lng' => $coord[0] + ]; + } + + // 1. Hitung Jarak Otomatis + $jarak_km = calculateRouteDistance($formatted_coords); + + // 2. Siapkan data database + $json_coords = mysqli_real_escape_string($con, json_encode($formatted_coords)); + + // Nama rute diambil dari nama file (hilangkan .geojson) + $nama_rute = str_replace(['.geojson', '_'], [' ', ' '], $filename); + $nama_rute = ucwords(trim($nama_rute)); + + // Default values sesuai keinginan user + $kondisi_medan = "Belum Diobservasi"; + + $sql = "INSERT INTO routes (nama_rute, jarak, kondisi_medan, titik_koordinat) + VALUES ('$nama_rute', '$jarak_km', '$kondisi_medan', '$json_coords')"; + + if (mysqli_query($con, $sql)) { + // Pindahkan file ke folder 'done' agar tidak di-import ulang + rename($file_path, $done_dir . $filename); + echo "Berhasil Import: $nama_rute ($jarak_km KM)
"; + $success_count++; + } else { + echo "Gagal Import $filename: " . mysqli_error($con) . "
"; + $error_count++; + } +} + +echo "
"; +echo "Proses Selesai!
"; +echo "Berhasil: $success_count rute
"; +echo "Gagal: $error_count rute"; +?> diff --git a/smart_cycling_api/check_db.php b/smart_cycling_api/check_db.php new file mode 100644 index 0000000..5de5ccf --- /dev/null +++ b/smart_cycling_api/check_db.php @@ -0,0 +1,9 @@ + diff --git a/smart_cycling_api/cleanup_dummy_routes.php b/smart_cycling_api/cleanup_dummy_routes.php new file mode 100644 index 0000000..200b191 --- /dev/null +++ b/smart_cycling_api/cleanup_dummy_routes.php @@ -0,0 +1,14 @@ +Sekarang tabel Anda hanya berisi rute asli."; +} else { + echo "GAGAL: " . mysqli_error($con); +} +?> diff --git a/smart_cycling_api/clear_history.php b/smart_cycling_api/clear_history.php new file mode 100644 index 0000000..7741df6 --- /dev/null +++ b/smart_cycling_api/clear_history.php @@ -0,0 +1,24 @@ + 'error', 'message' => 'Missing parameters']); + exit(); + } + + $stmt = $con->prepare("DELETE FROM trip_history WHERE id_users = ?"); + $stmt->bind_param("i", $id_users); + + if ($stmt->execute()) { + echo json_encode(['status' => 'success', 'message' => 'History cleared successfully']); + } else { + echo json_encode(['status' => 'error', 'message' => $con->error]); + } + $stmt->close(); +} else { + echo json_encode(['status' => 'error', 'message' => 'Invalid request method']); +} +?> diff --git a/smart_cycling_api/create_trigger.sql b/smart_cycling_api/create_trigger.sql new file mode 100644 index 0000000..cb1a3cf --- /dev/null +++ b/smart_cycling_api/create_trigger.sql @@ -0,0 +1,42 @@ +-- TRIGGER untuk otomatis menghitung waktu_dasar sebelum INSERT +DELIMITER // +CREATE TRIGGER IF NOT EXISTS trg_calculate_waktu_dasar_insert +BEFORE INSERT ON routes +FOR EACH ROW +BEGIN + DECLARE speed FLOAT DEFAULT 21; + + IF NEW.kondisi_medan = 'Medan Beraspal' THEN + SET speed = 26; + ELSEIF NEW.kondisi_medan = 'Medan Berkerikil' THEN + SET speed = 17.5; + ELSE + SET speed = 21; -- Default / Medan Campuran + END IF; + + SET NEW.waktu_dasar = ROUND((NEW.jarak / speed) * 60); +END; +// + +-- TRIGGER untuk otomatis menghitung waktu_dasar sebelum UPDATE +CREATE TRIGGER IF NOT EXISTS trg_calculate_waktu_dasar_update +BEFORE UPDATE ON routes +FOR EACH ROW +BEGIN + DECLARE speed FLOAT DEFAULT 21; + + -- Hanya hitung ulang jika medan atau jarak berubah + IF NEW.kondisi_medan != OLD.kondisi_medan OR NEW.jarak != OLD.jarak OR NEW.waktu_dasar = 0 THEN + IF NEW.kondisi_medan = 'Medan Beraspal' THEN + SET speed = 26; + ELSEIF NEW.kondisi_medan = 'Medan Berkerikil' THEN + SET speed = 17.5; + ELSE + SET speed = 21; -- Default / Medan Campuran + END IF; + + SET NEW.waktu_dasar = ROUND((NEW.jarak / speed) * 60); + END IF; +END; +// +DELIMITER ; diff --git a/smart_cycling_api/create_trip_history_table.php b/smart_cycling_api/create_trip_history_table.php new file mode 100644 index 0000000..5e91650 --- /dev/null +++ b/smart_cycling_api/create_trip_history_table.php @@ -0,0 +1,22 @@ + diff --git a/smart_cycling_api/delete_account.php b/smart_cycling_api/delete_account.php new file mode 100644 index 0000000..0fd957f --- /dev/null +++ b/smart_cycling_api/delete_account.php @@ -0,0 +1,37 @@ + "error", "message" => "ID User tidak ditemukan"]); + exit(); + } + + // Mulai Transaksi + $con->begin_transaction(); + + try { + // 1. Hapus Riwayat Perjalanan (Otomatis terhapus jika pakai FK CASCADE, tapi eksplisit juga boleh) + $stmt_history = $con->prepare("DELETE FROM trip_history WHERE id_users=?"); + $stmt_history->bind_param("i", $id_users); + $stmt_history->execute(); + $stmt_history->close(); + + // 2. Hapus User + $stmt = $con->prepare("DELETE FROM users WHERE id_users=?"); + $stmt->bind_param("i", $id_users); + $stmt->execute(); + $stmt->close(); + + $con->commit(); + echo json_encode(["status" => "success", "message" => "Akun dan riwayat berhasil dihapus"]); + } catch (Exception $e) { + $con->rollback(); + echo json_encode(["status" => "error", "message" => "Gagal menghapus akun: " . $e->getMessage()]); + } +} +$con->close(); +?> diff --git a/smart_cycling_api/delete_history_item.php b/smart_cycling_api/delete_history_item.php new file mode 100644 index 0000000..a16052f --- /dev/null +++ b/smart_cycling_api/delete_history_item.php @@ -0,0 +1,24 @@ + 'error', 'message' => 'Missing ID parameter']); + exit(); + } + + $stmt = $con->prepare("DELETE FROM trip_history WHERE id_trip_history = ?"); + $stmt->bind_param("i", $id); + + if ($stmt->execute()) { + echo json_encode(['status' => 'success', 'message' => 'History item deleted successfully']); + } else { + echo json_encode(['status' => 'error', 'message' => $con->error]); + } + $stmt->close(); +} else { + echo json_encode(['status' => 'error', 'message' => 'Invalid request method']); +} +?> diff --git a/smart_cycling_api/describe_trip_history.php b/smart_cycling_api/describe_trip_history.php new file mode 100644 index 0000000..e16e0c0 --- /dev/null +++ b/smart_cycling_api/describe_trip_history.php @@ -0,0 +1,9 @@ + diff --git a/smart_cycling_api/edit_profile.php b/smart_cycling_api/edit_profile.php new file mode 100644 index 0000000..decb9a8 --- /dev/null +++ b/smart_cycling_api/edit_profile.php @@ -0,0 +1,62 @@ + "error", "message" => "ID Pengguna tidak ditemukan"]); + exit(); + } + + $updates = []; + $params = []; + $types = ""; + + // Update 'nama' jika diisi + if(!empty($new_nama)) { + $updates[] = "nama=?"; + $params[] = $new_nama; + $types .= "s"; + } + + // Update 'username' jika diisi + if(!empty($new_username)) { + $updates[] = "username=?"; + $params[] = $new_username; + $types .= "s"; + } + + // Update 'password' jika diisi + if(!empty($new_password)) { + $updates[] = "password=?"; + $params[] = password_hash($new_password, PASSWORD_DEFAULT); + $types .= "s"; + } + + if(empty($updates)) { + echo json_encode(["status" => "success", "message" => "Tidak ada data yang diubah"]); + exit(); + } + + // Eksekusi Update + $sql = "UPDATE users SET " . implode(", ", $updates) . " WHERE id_users=?"; + $params[] = $id_users; + $types .= "i"; + + $stmt = $con->prepare($sql); + $stmt->bind_param($types, ...$params); + + if ($stmt->execute()) { + echo json_encode(["status" => "success", "message" => "Profil berhasil diperbarui"]); + } else { + echo json_encode(["status" => "error", "message" => "Gagal memperbarui profil: " . $con->error]); + } + $stmt->close(); +} +$con->close(); +?> \ No newline at end of file diff --git a/smart_cycling_api/geo_helper.php b/smart_cycling_api/geo_helper.php new file mode 100644 index 0000000..146ca92 --- /dev/null +++ b/smart_cycling_api/geo_helper.php @@ -0,0 +1,44 @@ + x, 'lng' => y] + * @return float Total jarak dalam KM + */ +function calculateRouteDistance($coordinates) { + if (count($coordinates) < 2) return 0; + + $totalDistance = 0; + for ($i = 0; $i < count($coordinates) - 1; $i++) { + $totalDistance += calculateDistance( + $coordinates[$i]['lat'], $coordinates[$i]['lng'], + $coordinates[$i+1]['lat'], $coordinates[$i+1]['lng'] + ); + } + return round($totalDistance, 2); +} +?> diff --git a/smart_cycling_api/get_history.php b/smart_cycling_api/get_history.php new file mode 100644 index 0000000..ae9c05a --- /dev/null +++ b/smart_cycling_api/get_history.php @@ -0,0 +1,45 @@ +prepare($sql); + $stmt->bind_param("i", $id_users); + $stmt->execute(); + $result = $stmt->get_result(); + + $history = []; + while ($row = $result->fetch_assoc()) { + $history[] = [ + 'id' => $row['id_trip_history'], + 'id_users' => $row['id_users'], + 'id_routes' => $row['id_routes'], + 'nama_rute' => $row['nama_rute'], + 'jarak' => $row['jarak'], + 'kondisi_medan' => $row['kondisi_medan'], + 'target_waktu' => (int)$row['target_waktu'], + 'tanggal' => $row['tanggal'], + 'status' => $row['status'], + 'jarak_tempuh' => $row['jarak_tempuh'], + 'waktu_tempuh' => (int)$row['waktu_tempuh'], + 'kecepatan_rata_rata' => $row['kecepatan_rata_rata'], + ]; + } + echo json_encode($history); + $stmt->close(); +} else { + echo json_encode(['status' => 'error', 'message' => 'Invalid request method']); +} +?> diff --git a/smart_cycling_api/import_queue/done/1.geojson b/smart_cycling_api/import_queue/done/1.geojson new file mode 100644 index 0000000..a119b7c --- /dev/null +++ b/smart_cycling_api/import_queue/done/1.geojson @@ -0,0 +1,12 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari MMH7952 Darussalam Jatimulyo Kec Jenggawah Kabupaten Jember Jawa Timur 68171 Indonesia ke MMH7952 Darussalam Jatimulyo Kec Jenggawah Kabupaten Jember Jawa Timur 68171 Indonesia", +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia" }, "geometry": { "type": "LineString", "coordinates": [ [ 113.663, -8.32152, 0.0 ], [ 113.66283, -8.32155, 0.0 ], [ 113.66263, -8.32159, 0.0 ], [ 113.66248, -8.3216, 0.0 ], [ 113.66245, -8.3216, 0.0 ], [ 113.66239, -8.32161, 0.0 ], [ 113.6623, -8.3216, 0.0 ], [ 113.66223, -8.32159, 0.0 ], [ 113.66214, -8.32156, 0.0 ], [ 113.66209, -8.32155, 0.0 ], [ 113.66191, -8.32149, 0.0 ], [ 113.66154, -8.32135, 0.0 ], [ 113.66067, -8.32097, 0.0 ], [ 113.66024, -8.32077, 0.0 ], [ 113.66002, -8.32069, 0.0 ], [ 113.65996, -8.32067, 0.0 ], [ 113.65981, -8.32062, 0.0 ], [ 113.6593, -8.32049, 0.0 ], [ 113.65908, -8.32044, 0.0 ], [ 113.65883, -8.32039, 0.0 ], [ 113.65867, -8.32036, 0.0 ], [ 113.6584, -8.32029, 0.0 ], [ 113.65832, -8.32026, 0.0 ], [ 113.65826, -8.32024, 0.0 ], [ 113.65813, -8.32018, 0.0 ], [ 113.65775, -8.31994, 0.0 ], [ 113.65755, -8.31979, 0.0 ], [ 113.65718, -8.31952, 0.0 ], [ 113.65668, -8.31917, 0.0 ], [ 113.65624, -8.31888, 0.0 ], [ 113.65605, -8.31874, 0.0 ], [ 113.656, -8.31872, 0.0 ], [ 113.65591, -8.31866, 0.0 ], [ 113.65557, -8.31847, 0.0 ], [ 113.65476, -8.31807, 0.0 ], [ 113.65423, -8.31782, 0.0 ], [ 113.6537, -8.31758, 0.0 ], [ 113.65312, -8.31733, 0.0 ], [ 113.653, -8.31729, 0.0 ], [ 113.65256, -8.31709, 0.0 ], [ 113.65232, -8.31699, 0.0 ], [ 113.65211, -8.3169, 0.0 ], [ 113.65201, -8.31687, 0.0 ], [ 113.65187, -8.31683, 0.0 ], [ 113.65114, -8.3167, 0.0 ], [ 113.65103, -8.31668, 0.0 ], [ 113.65058, -8.31659, 0.0 ], [ 113.65024, -8.31654, 0.0 ], [ 113.64992, -8.3165, 0.0 ], [ 113.6493, -8.31642, 0.0 ], [ 113.64882, -8.31636, 0.0 ], [ 113.64845, -8.3163, 0.0 ], [ 113.64821, -8.31625, 0.0 ], [ 113.64811, -8.31624, 0.0 ], [ 113.64801, -8.31623, 0.0 ], [ 113.6475, -8.31619, 0.0 ], [ 113.64689, -8.31616, 0.0 ], [ 113.64688, -8.31615, 0.0 ], [ 113.64617, -8.31609, 0.0 ], [ 113.64616, -8.31609, 0.0 ], [ 113.64598, -8.31608, 0.0 ], [ 113.6458, -8.31607, 0.0 ], [ 113.64552, -8.31606, 0.0 ], [ 113.64507, -8.31602, 0.0 ], [ 113.64465, -8.31599, 0.0 ], [ 113.64436, -8.31597, 0.0 ], [ 113.64353, -8.31591, 0.0 ], [ 113.64325, -8.31589, 0.0 ], [ 113.64277, -8.31586, 0.0 ], [ 113.64221, -8.31583, 0.0 ], [ 113.64108, -8.31575, 0.0 ], [ 113.64104, -8.31575, 0.0 ], [ 113.64068, -8.31574, 0.0 ], [ 113.63992, -8.31567, 0.0 ], [ 113.63944, -8.31563, 0.0 ], [ 113.63934, -8.31562, 0.0 ], [ 113.63933, -8.3156, 0.0 ], [ 113.63933, -8.3153, 0.0 ], [ 113.63933, -8.3152, 0.0 ], [ 113.63933, -8.315, 0.0 ], [ 113.63933, -8.31493, 0.0 ], [ 113.63935, -8.31478, 0.0 ], [ 113.63936, -8.31464, 0.0 ], [ 113.63938, -8.31448, 0.0 ], [ 113.63937, -8.3143, 0.0 ], [ 113.63936, -8.31406, 0.0 ], [ 113.63936, -8.31397, 0.0 ], [ 113.63934, -8.31363, 0.0 ], [ 113.63926, -8.31361, 0.0 ], [ 113.63922, -8.3136, 0.0 ], [ 113.63918, -8.31359, 0.0 ], [ 113.63914, -8.31359, 0.0 ], [ 113.63908, -8.3136, 0.0 ], [ 113.63903, -8.31361, 0.0 ], [ 113.63884, -8.31366, 0.0 ], [ 113.63874, -8.31369, 0.0 ], [ 113.6385, -8.31374, 0.0 ], [ 113.63842, -8.31375, 0.0 ], [ 113.63839, -8.31376, 0.0 ], [ 113.63831, -8.31377, 0.0 ], [ 113.63818, -8.31377, 0.0 ], [ 113.63806, -8.31377, 0.0 ], [ 113.63799, -8.31376, 0.0 ], [ 113.63793, -8.31375, 0.0 ], [ 113.63784, -8.31374, 0.0 ], [ 113.63773, -8.31373, 0.0 ], [ 113.63753, -8.3137, 0.0 ], [ 113.63742, -8.31369, 0.0 ], [ 113.63718, -8.31366, 0.0 ], [ 113.6371, -8.31365, 0.0 ], [ 113.63666, -8.31361, 0.0 ], [ 113.63618, -8.31356, 0.0 ], [ 113.63582, -8.31354, 0.0 ], [ 113.63559, -8.31353, 0.0 ], [ 113.63558, -8.3136, 0.0 ], [ 113.63556, -8.31381, 0.0 ], [ 113.63554, -8.31395, 0.0 ], [ 113.63547, -8.31453, 0.0 ], [ 113.63547, -8.31454, 0.0 ], [ 113.63544, -8.31482, 0.0 ], [ 113.63544, -8.31484, 0.0 ], [ 113.63543, -8.31509, 0.0 ], [ 113.63542, -8.31532, 0.0 ], [ 113.63541, -8.31541, 0.0 ], [ 113.63541, -8.3155, 0.0 ], [ 113.63516, -8.31549, 0.0 ], [ 113.6351, -8.31548, 0.0 ], [ 113.63501, -8.31547, 0.0 ], [ 113.63494, -8.31546, 0.0 ], [ 113.63488, -8.31545, 0.0 ], [ 113.63483, -8.31545, 0.0 ], [ 113.63468, -8.31543, 0.0 ], [ 113.63436, -8.31538, 0.0 ], [ 113.63427, -8.31537, 0.0 ], [ 113.63403, -8.31533, 0.0 ], [ 113.63396, -8.31532, 0.0 ], [ 113.63354, -8.31526, 0.0 ], [ 113.63291, -8.31517, 0.0 ], [ 113.63286, -8.31516, 0.0 ], [ 113.63237, -8.31509, 0.0 ], [ 113.63224, -8.31507, 0.0 ], [ 113.6319, -8.31504, 0.0 ], [ 113.63159, -8.31502, 0.0 ], [ 113.6309, -8.31498, 0.0 ], [ 113.63034, -8.31495, 0.0 ], [ 113.62974, -8.3149, 0.0 ], [ 113.62872, -8.3148, 0.0 ], [ 113.62796, -8.31476, 0.0 ], [ 113.62779, -8.31475, 0.0 ], [ 113.62733, -8.31473, 0.0 ], [ 113.62688, -8.31472, 0.0 ], [ 113.62667, -8.31471, 0.0 ], [ 113.62662, -8.31471, 0.0 ], [ 113.62646, -8.31471, 0.0 ], [ 113.62633, -8.31469, 0.0 ], [ 113.62611, -8.31467, 0.0 ], [ 113.626, -8.31465, 0.0 ], [ 113.62583, -8.31463, 0.0 ], [ 113.62579, -8.31463, 0.0 ], [ 113.6257, -8.31462, 0.0 ], [ 113.62549, -8.31458, 0.0 ], [ 113.62531, -8.31455, 0.0 ], [ 113.62528, -8.31455, 0.0 ], [ 113.62521, -8.31454, 0.0 ], [ 113.62502, -8.3145, 0.0 ], [ 113.62495, -8.3145, 0.0 ], [ 113.62481, -8.31448, 0.0 ], [ 113.6246, -8.31445, 0.0 ], [ 113.62433, -8.31441, 0.0 ], [ 113.62416, -8.31439, 0.0 ], [ 113.62393, -8.31436, 0.0 ], [ 113.62375, -8.31433, 0.0 ], [ 113.62325, -8.31426, 0.0 ], [ 113.62317, -8.31425, 0.0 ], [ 113.62316, -8.31425, 0.0 ], [ 113.62249, -8.3142, 0.0 ], [ 113.62212, -8.31417, 0.0 ], [ 113.622, -8.31416, 0.0 ], [ 113.62194, -8.31415, 0.0 ], [ 113.62162, -8.31411, 0.0 ], [ 113.62142, -8.31408, 0.0 ], [ 113.62132, -8.31407, 0.0 ], [ 113.6208, -8.31397, 0.0 ], [ 113.6205, -8.3139, 0.0 ], [ 113.62042, -8.31389, 0.0 ], [ 113.61761, -8.31347, 0.0 ], [ 113.61721, -8.3134, 0.0 ], [ 113.61703, -8.31337, 0.0 ], [ 113.61637, -8.31326, 0.0 ], [ 113.61537, -8.31308, 0.0 ], [ 113.61468, -8.31294, 0.0 ], [ 113.61413, -8.31282, 0.0 ], [ 113.61372, -8.31361, 0.0 ], [ 113.61356, -8.31393, 0.0 ], [ 113.61355, -8.31394, 0.0 ], [ 113.61318, -8.31463, 0.0 ], [ 113.61308, -8.3148, 0.0 ], [ 113.61265, -8.31559, 0.0 ], [ 113.61256, -8.31575, 0.0 ], [ 113.61248, -8.31591, 0.0 ], [ 113.61243, -8.31598, 0.0 ], [ 113.61226, -8.3163, 0.0 ], [ 113.61202, -8.31676, 0.0 ], [ 113.6118, -8.31717, 0.0 ], [ 113.61155, -8.31764, 0.0 ], [ 113.61134, -8.31809, 0.0 ], [ 113.61127, -8.31823, 0.0 ], [ 113.61115, -8.31849, 0.0 ], [ 113.61103, -8.31876, 0.0 ], [ 113.6108, -8.31928, 0.0 ], [ 113.61071, -8.31948, 0.0 ], [ 113.61063, -8.31967, 0.0 ], [ 113.61049, -8.32001, 0.0 ], [ 113.61048, -8.32004, 0.0 ], [ 113.6103, -8.32058, 0.0 ], [ 113.61016, -8.32105, 0.0 ], [ 113.60999, -8.32166, 0.0 ], [ 113.60996, -8.32174, 0.0 ], [ 113.60993, -8.32183, 0.0 ], [ 113.60979, -8.32232, 0.0 ], [ 113.60969, -8.32263, 0.0 ], [ 113.60938, -8.32365, 0.0 ], [ 113.60911, -8.32454, 0.0 ], [ 113.60908, -8.32466, 0.0 ], [ 113.60896, -8.32508, 0.0 ], [ 113.60893, -8.32519, 0.0 ], [ 113.60888, -8.32536, 0.0 ], [ 113.60885, -8.32548, 0.0 ], [ 113.60882, -8.32561, 0.0 ], [ 113.60879, -8.32571, 0.0 ], [ 113.60877, -8.3258, 0.0 ], [ 113.60871, -8.32606, 0.0 ], [ 113.60866, -8.32633, 0.0 ], [ 113.60863, -8.32654, 0.0 ], [ 113.60856, -8.32686, 0.0 ], [ 113.60855, -8.32693, 0.0 ], [ 113.60853, -8.32706, 0.0 ], [ 113.60852, -8.32716, 0.0 ], [ 113.60849, -8.32733, 0.0 ], [ 113.60847, -8.32751, 0.0 ], [ 113.60835, -8.32869, 0.0 ], [ 113.60835, -8.32894, 0.0 ], [ 113.60831, -8.32938, 0.0 ], [ 113.60829, -8.32956, 0.0 ], [ 113.60826, -8.32992, 0.0 ], [ 113.60823, -8.3303, 0.0 ], [ 113.6082, -8.33068, 0.0 ], [ 113.60818, -8.33082, 0.0 ], [ 113.60818, -8.33085, 0.0 ], [ 113.60814, -8.33123, 0.0 ], [ 113.60813, -8.33131, 0.0 ], [ 113.60814, -8.33136, 0.0 ], [ 113.60809, -8.33202, 0.0 ], [ 113.60806, -8.33236, 0.0 ], [ 113.60804, -8.33266, 0.0 ], [ 113.60804, -8.33269, 0.0 ], [ 113.60799, -8.33324, 0.0 ], [ 113.60788, -8.3347, 0.0 ], [ 113.60788, -8.33473, 0.0 ], [ 113.60783, -8.33506, 0.0 ], [ 113.60781, -8.33539, 0.0 ], [ 113.6078, -8.33553, 0.0 ], [ 113.60771, -8.33587, 0.0 ], [ 113.60768, -8.33599, 0.0 ], [ 113.60762, -8.33649, 0.0 ], [ 113.60761, -8.33658, 0.0 ], [ 113.60763, -8.33751, 0.0 ], [ 113.6076, -8.33794, 0.0 ], [ 113.6076, -8.33833, 0.0 ], [ 113.6076, -8.33848, 0.0 ], [ 113.60757, -8.33877, 0.0 ], [ 113.60754, -8.3392, 0.0 ], [ 113.6075, -8.33968, 0.0 ], [ 113.60746, -8.34002, 0.0 ], [ 113.60742, -8.34034, 0.0 ], [ 113.60741, -8.34051, 0.0 ], [ 113.6074, -8.3406, 0.0 ], [ 113.6074, -8.34061, 0.0 ], [ 113.6074, -8.34067, 0.0 ], [ 113.60733, -8.34124, 0.0 ], [ 113.60732, -8.34137, 0.0 ], [ 113.60729, -8.34163, 0.0 ], [ 113.60727, -8.34181, 0.0 ], [ 113.60724, -8.34206, 0.0 ], [ 113.6071, -8.3425, 0.0 ], [ 113.60707, -8.34269, 0.0 ], [ 113.60704, -8.3429, 0.0 ], [ 113.60698, -8.34313, 0.0 ], [ 113.60692, -8.3434, 0.0 ], [ 113.60686, -8.34366, 0.0 ], [ 113.60666, -8.34421, 0.0 ], [ 113.60642, -8.34483, 0.0 ], [ 113.6064, -8.3449, 0.0 ], [ 113.60624, -8.34545, 0.0 ], [ 113.60604, -8.34606, 0.0 ], [ 113.60595, -8.34633, 0.0 ], [ 113.60596, -8.34655, 0.0 ], [ 113.60596, -8.34662, 0.0 ], [ 113.60571, -8.34749, 0.0 ], [ 113.60662, -8.3477, 0.0 ], [ 113.60704, -8.34779, 0.0 ], [ 113.60744, -8.34791, 0.0 ], [ 113.60781, -8.348, 0.0 ], [ 113.60796, -8.34804, 0.0 ], [ 113.60863, -8.34819, 0.0 ], [ 113.60866, -8.3482, 0.0 ], [ 113.609, -8.34826, 0.0 ], [ 113.60918, -8.34831, 0.0 ], [ 113.60938, -8.34836, 0.0 ], [ 113.60986, -8.34849, 0.0 ], [ 113.61001, -8.34854, 0.0 ], [ 113.61005, -8.34855, 0.0 ], [ 113.61018, -8.34859, 0.0 ], [ 113.61022, -8.3486, 0.0 ], [ 113.61068, -8.34875, 0.0 ], [ 113.61076, -8.34878, 0.0 ], [ 113.61138, -8.34896, 0.0 ], [ 113.61142, -8.34897, 0.0 ], [ 113.61177, -8.34907, 0.0 ], [ 113.61182, -8.34909, 0.0 ], [ 113.61244, -8.34927, 0.0 ], [ 113.61248, -8.34929, 0.0 ], [ 113.6127, -8.34935, 0.0 ], [ 113.61275, -8.34937, 0.0 ], [ 113.61284, -8.3494, 0.0 ], [ 113.61294, -8.34944, 0.0 ], [ 113.61307, -8.34949, 0.0 ], [ 113.61345, -8.34964, 0.0 ], [ 113.61348, -8.34965, 0.0 ], [ 113.6137, -8.34974, 0.0 ], [ 113.61381, -8.3498, 0.0 ], [ 113.614, -8.3499, 0.0 ], [ 113.61412, -8.34996, 0.0 ], [ 113.61423, -8.35002, 0.0 ], [ 113.61427, -8.35004, 0.0 ], [ 113.61433, -8.35008, 0.0 ], [ 113.61444, -8.35015, 0.0 ], [ 113.61453, -8.35022, 0.0 ], [ 113.61461, -8.35029, 0.0 ], [ 113.61472, -8.3504, 0.0 ], [ 113.61473, -8.35041, 0.0 ], [ 113.61482, -8.35053, 0.0 ], [ 113.61508, -8.35089, 0.0 ], [ 113.61518, -8.35104, 0.0 ], [ 113.61524, -8.35114, 0.0 ], [ 113.61532, -8.35131, 0.0 ], [ 113.61538, -8.35138, 0.0 ], [ 113.61549, -8.35148, 0.0 ], [ 113.61558, -8.35155, 0.0 ], [ 113.616, -8.35183, 0.0 ], [ 113.61668, -8.35227, 0.0 ], [ 113.61785, -8.35301, 0.0 ], [ 113.61822, -8.35324, 0.0 ], [ 113.61842, -8.35338, 0.0 ], [ 113.61865, -8.35356, 0.0 ], [ 113.61887, -8.35375, 0.0 ], [ 113.61954, -8.35433, 0.0 ], [ 113.61956, -8.35435, 0.0 ], [ 113.61969, -8.35447, 0.0 ], [ 113.6199, -8.35466, 0.0 ], [ 113.62004, -8.35481, 0.0 ], [ 113.62011, -8.35489, 0.0 ], [ 113.6202, -8.35501, 0.0 ], [ 113.62058, -8.35551, 0.0 ], [ 113.62069, -8.35565, 0.0 ], [ 113.62072, -8.35569, 0.0 ], [ 113.62128, -8.35641, 0.0 ], [ 113.6215, -8.35668, 0.0 ], [ 113.6219, -8.35711, 0.0 ], [ 113.62227, -8.35748, 0.0 ], [ 113.62253, -8.35778, 0.0 ], [ 113.62262, -8.3579, 0.0 ], [ 113.62273, -8.35803, 0.0 ], [ 113.62291, -8.35823, 0.0 ], [ 113.62307, -8.3584, 0.0 ], [ 113.62314, -8.35848, 0.0 ], [ 113.62341, -8.35873, 0.0 ], [ 113.62359, -8.35888, 0.0 ], [ 113.62371, -8.35896, 0.0 ], [ 113.62409, -8.35918, 0.0 ], [ 113.62417, -8.35922, 0.0 ], [ 113.6251, -8.35964, 0.0 ], [ 113.62606, -8.3601, 0.0 ], [ 113.62621, -8.36015, 0.0 ], [ 113.62769, -8.36077, 0.0 ], [ 113.62782, -8.36083, 0.0 ], [ 113.62783, -8.36083, 0.0 ], [ 113.62821, -8.36098, 0.0 ], [ 113.62836, -8.36104, 0.0 ], [ 113.62909, -8.36133, 0.0 ], [ 113.62968, -8.36157, 0.0 ], [ 113.63033, -8.36182, 0.0 ], [ 113.63082, -8.362, 0.0 ], [ 113.63135, -8.3622, 0.0 ], [ 113.63255, -8.36263, 0.0 ], [ 113.63303, -8.36279, 0.0 ], [ 113.63305, -8.3627, 0.0 ], [ 113.63324, -8.36188, 0.0 ], [ 113.63346, -8.361, 0.0 ], [ 113.63367, -8.36013, 0.0 ], [ 113.63388, -8.35922, 0.0 ], [ 113.63409, -8.35831, 0.0 ], [ 113.63426, -8.35743, 0.0 ], [ 113.63447, -8.35637, 0.0 ], [ 113.63451, -8.35619, 0.0 ], [ 113.63482, -8.35459, 0.0 ], [ 113.63524, -8.35247, 0.0 ], [ 113.63543, -8.35153, 0.0 ], [ 113.63545, -8.35135, 0.0 ], [ 113.63545, -8.3513, 0.0 ], [ 113.63555, -8.35067, 0.0 ], [ 113.63555, -8.35062, 0.0 ], [ 113.63568, -8.34975, 0.0 ], [ 113.63577, -8.34901, 0.0 ], [ 113.63577, -8.34883, 0.0 ], [ 113.63594, -8.34814, 0.0 ], [ 113.63598, -8.34795, 0.0 ], [ 113.63607, -8.34707, 0.0 ], [ 113.63615, -8.34619, 0.0 ], [ 113.63614, -8.34601, 0.0 ], [ 113.63614, -8.34583, 0.0 ], [ 113.63613, -8.34526, 0.0 ], [ 113.63615, -8.34508, 0.0 ], [ 113.63617, -8.3449, 0.0 ], [ 113.63622, -8.34438, 0.0 ], [ 113.63626, -8.34349, 0.0 ], [ 113.63632, -8.34261, 0.0 ], [ 113.63703, -8.3427, 0.0 ], [ 113.63849, -8.34289, 0.0 ], [ 113.63981, -8.34299, 0.0 ], [ 113.64057, -8.34305, 0.0 ], [ 113.64098, -8.34306, 0.0 ], [ 113.64148, -8.34308, 0.0 ], [ 113.64184, -8.3431, 0.0 ], [ 113.64224, -8.34312, 0.0 ], [ 113.64267, -8.34313, 0.0 ], [ 113.64275, -8.34313, 0.0 ], [ 113.64293, -8.34314, 0.0 ], [ 113.64299, -8.34314, 0.0 ], [ 113.64299, -8.34308, 0.0 ], [ 113.64302, -8.34246, 0.0 ], [ 113.64303, -8.34226, 0.0 ], [ 113.64306, -8.34135, 0.0 ], [ 113.64307, -8.34129, 0.0 ], [ 113.64312, -8.34045, 0.0 ], [ 113.64311, -8.33954, 0.0 ], [ 113.6431, -8.33924, 0.0 ], [ 113.64309, -8.33862, 0.0 ], [ 113.6431, -8.3377, 0.0 ], [ 113.64297, -8.3368, 0.0 ], [ 113.64293, -8.33584, 0.0 ], [ 113.64291, -8.33511, 0.0 ], [ 113.64291, -8.33435, 0.0 ], [ 113.64291, -8.33415, 0.0 ], [ 113.64292, -8.33405, 0.0 ], [ 113.64291, -8.33387, 0.0 ], [ 113.6429, -8.33348, 0.0 ], [ 113.64291, -8.33321, 0.0 ], [ 113.64291, -8.33319, 0.0 ], [ 113.64291, -8.33318, 0.0 ], [ 113.64292, -8.33317, 0.0 ], [ 113.64293, -8.33316, 0.0 ], [ 113.64295, -8.33315, 0.0 ], [ 113.64301, -8.33314, 0.0 ], [ 113.64309, -8.33312, 0.0 ], [ 113.64365, -8.3331, 0.0 ], [ 113.64406, -8.3331, 0.0 ], [ 113.64446, -8.33311, 0.0 ], [ 113.6447, -8.33311, 0.0 ], [ 113.64478, -8.33311, 0.0 ], [ 113.64483, -8.3331, 0.0 ], [ 113.64486, -8.33309, 0.0 ], [ 113.64489, -8.33309, 0.0 ], [ 113.6449, -8.33308, 0.0 ], [ 113.64492, -8.33307, 0.0 ], [ 113.64493, -8.33306, 0.0 ], [ 113.64495, -8.33303, 0.0 ], [ 113.64493, -8.33259, 0.0 ], [ 113.64492, -8.33231, 0.0 ], [ 113.6449, -8.33174, 0.0 ], [ 113.64491, -8.33167, 0.0 ], [ 113.64491, -8.33164, 0.0 ], [ 113.64492, -8.33162, 0.0 ], [ 113.64493, -8.3316, 0.0 ], [ 113.64494, -8.33159, 0.0 ], [ 113.64496, -8.33158, 0.0 ], [ 113.64498, -8.33157, 0.0 ], [ 113.64502, -8.33157, 0.0 ], [ 113.64506, -8.33157, 0.0 ], [ 113.64569, -8.33162, 0.0 ], [ 113.64583, -8.33162, 0.0 ], [ 113.64601, -8.33162, 0.0 ], [ 113.6462, -8.33161, 0.0 ], [ 113.64629, -8.33161, 0.0 ], [ 113.64638, -8.33162, 0.0 ], [ 113.64666, -8.33163, 0.0 ], [ 113.64688, -8.33166, 0.0 ], [ 113.64692, -8.33166, 0.0 ], [ 113.64746, -8.33176, 0.0 ], [ 113.64764, -8.33178, 0.0 ], [ 113.64785, -8.3318, 0.0 ], [ 113.64804, -8.33182, 0.0 ], [ 113.64818, -8.33183, 0.0 ], [ 113.64825, -8.33183, 0.0 ], [ 113.64879, -8.33185, 0.0 ], [ 113.64907, -8.33187, 0.0 ], [ 113.64932, -8.33189, 0.0 ], [ 113.64967, -8.33191, 0.0 ], [ 113.65003, -8.33191, 0.0 ], [ 113.6503, -8.33191, 0.0 ], [ 113.65051, -8.33191, 0.0 ], [ 113.65101, -8.3319, 0.0 ], [ 113.65118, -8.3319, 0.0 ], [ 113.65123, -8.33191, 0.0 ], [ 113.65137, -8.33192, 0.0 ], [ 113.65169, -8.33196, 0.0 ], [ 113.65206, -8.33203, 0.0 ], [ 113.65245, -8.3321, 0.0 ], [ 113.65287, -8.33217, 0.0 ], [ 113.65296, -8.33218, 0.0 ], [ 113.65314, -8.33222, 0.0 ], [ 113.65365, -8.33232, 0.0 ], [ 113.65367, -8.33232, 0.0 ], [ 113.65403, -8.33238, 0.0 ], [ 113.65422, -8.33241, 0.0 ], [ 113.65461, -8.33245, 0.0 ], [ 113.65499, -8.33249, 0.0 ], [ 113.6556, -8.33252, 0.0 ], [ 113.65569, -8.33252, 0.0 ], [ 113.6561, -8.33254, 0.0 ], [ 113.65632, -8.33254, 0.0 ], [ 113.65636, -8.33254, 0.0 ], [ 113.65705, -8.33254, 0.0 ], [ 113.65717, -8.33254, 0.0 ], [ 113.65743, -8.33254, 0.0 ], [ 113.65759, -8.33253, 0.0 ], [ 113.65773, -8.33252, 0.0 ], [ 113.65805, -8.33249, 0.0 ], [ 113.65825, -8.33246, 0.0 ], [ 113.65859, -8.33241, 0.0 ], [ 113.65867, -8.33239, 0.0 ], [ 113.65877, -8.33238, 0.0 ], [ 113.6589, -8.33236, 0.0 ], [ 113.65906, -8.33235, 0.0 ], [ 113.65921, -8.33233, 0.0 ], [ 113.65928, -8.33232, 0.0 ], [ 113.65934, -8.33231, 0.0 ], [ 113.65948, -8.33226, 0.0 ], [ 113.65957, -8.33223, 0.0 ], [ 113.65969, -8.3322, 0.0 ], [ 113.65979, -8.33218, 0.0 ], [ 113.65983, -8.33217, 0.0 ], [ 113.65995, -8.33214, 0.0 ], [ 113.66002, -8.33213, 0.0 ], [ 113.66005, -8.33212, 0.0 ], [ 113.66007, -8.33211, 0.0 ], [ 113.66011, -8.33209, 0.0 ], [ 113.66017, -8.33206, 0.0 ], [ 113.66026, -8.33201, 0.0 ], [ 113.66032, -8.33199, 0.0 ], [ 113.66039, -8.33198, 0.0 ], [ 113.66047, -8.33198, 0.0 ], [ 113.66058, -8.33199, 0.0 ], [ 113.66066, -8.33201, 0.0 ], [ 113.66138, -8.33224, 0.0 ], [ 113.66337, -8.33289, 0.0 ], [ 113.66343, -8.33276, 0.0 ], [ 113.66351, -8.33255, 0.0 ], [ 113.66397, -8.33139, 0.0 ], [ 113.66423, -8.33072, 0.0 ], [ 113.66463, -8.32971, 0.0 ], [ 113.66476, -8.32938, 0.0 ], [ 113.66489, -8.32904, 0.0 ], [ 113.66496, -8.32887, 0.0 ], [ 113.66542, -8.3277, 0.0 ], [ 113.66587, -8.32655, 0.0 ], [ 113.66615, -8.32588, 0.0 ], [ 113.66621, -8.32573, 0.0 ], [ 113.66646, -8.32511, 0.0 ], [ 113.66656, -8.32489, 0.0 ], [ 113.66676, -8.32439, 0.0 ], [ 113.66691, -8.32401, 0.0 ], [ 113.66699, -8.32388, 0.0 ], [ 113.66672, -8.3237, 0.0 ], [ 113.666, -8.32326, 0.0 ], [ 113.66569, -8.32308, 0.0 ], [ 113.66491, -8.32262, 0.0 ], [ 113.66476, -8.32252, 0.0 ], [ 113.66444, -8.32233, 0.0 ], [ 113.66373, -8.32192, 0.0 ], [ 113.6635, -8.3218, 0.0 ], [ 113.66338, -8.32174, 0.0 ], [ 113.66324, -8.32168, 0.0 ], [ 113.66315, -8.32165, 0.0 ], [ 113.6631, -8.32162, 0.0 ], [ 113.66307, -8.3216, 0.0 ], [ 113.66305, -8.32157, 0.0 ], [ 113.663, -8.32152, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia" }, "geometry": { "type": "Point", "coordinates": [ 113.6630025, -8.3215175, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MJ24+X7V, Krajan, Ambulu, Kec. Ambulu, Kabupaten Jember, Jawa Timur, Indonesia" }, "geometry": { "type": "Point", "coordinates": [ 113.6057139, -8.3474866, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JJPM+V45, Pontang Krajan, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia" }, "geometry": { "type": "Point", "coordinates": [ 113.6330338, -8.3627852, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MMG8+CPQ, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia" }, "geometry": { "type": "Point", "coordinates": [ 113.6669859, -8.3238821, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia" }, "geometry": { "type": "Point", "coordinates": [ 113.6630025, -8.3215175, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/2.geojson b/smart_cycling_api/import_queue/done/2.geojson new file mode 100644 index 0000000..7e02e05 --- /dev/null +++ b/smart_cycling_api/import_queue/done/2.geojson @@ -0,0 +1,12 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.663, -8.32152, 0.0 ], [ 113.66283, -8.32155, 0.0 ], [ 113.66263, -8.32159, 0.0 ], [ 113.66248, -8.3216, 0.0 ], [ 113.66245, -8.3216, 0.0 ], [ 113.66239, -8.32161, 0.0 ], [ 113.6623, -8.3216, 0.0 ], [ 113.66223, -8.32159, 0.0 ], [ 113.66214, -8.32156, 0.0 ], [ 113.66209, -8.32155, 0.0 ], [ 113.66191, -8.32149, 0.0 ], [ 113.66154, -8.32135, 0.0 ], [ 113.66067, -8.32097, 0.0 ], [ 113.66024, -8.32077, 0.0 ], [ 113.66002, -8.32069, 0.0 ], [ 113.65996, -8.32067, 0.0 ], [ 113.65981, -8.32062, 0.0 ], [ 113.6593, -8.32049, 0.0 ], [ 113.65908, -8.32044, 0.0 ], [ 113.65883, -8.32039, 0.0 ], [ 113.65867, -8.32036, 0.0 ], [ 113.6584, -8.32029, 0.0 ], [ 113.65832, -8.32026, 0.0 ], [ 113.65826, -8.32024, 0.0 ], [ 113.65813, -8.32018, 0.0 ], [ 113.65775, -8.31994, 0.0 ], [ 113.65755, -8.31979, 0.0 ], [ 113.65718, -8.31952, 0.0 ], [ 113.65668, -8.31917, 0.0 ], [ 113.65624, -8.31888, 0.0 ], [ 113.65605, -8.31874, 0.0 ], [ 113.656, -8.31872, 0.0 ], [ 113.65591, -8.31866, 0.0 ], [ 113.65557, -8.31847, 0.0 ], [ 113.65476, -8.31807, 0.0 ], [ 113.65423, -8.31782, 0.0 ], [ 113.6537, -8.31758, 0.0 ], [ 113.65312, -8.31733, 0.0 ], [ 113.653, -8.31729, 0.0 ], [ 113.65256, -8.31709, 0.0 ], [ 113.65232, -8.31699, 0.0 ], [ 113.65211, -8.3169, 0.0 ], [ 113.65201, -8.31687, 0.0 ], [ 113.65187, -8.31683, 0.0 ], [ 113.65114, -8.3167, 0.0 ], [ 113.65103, -8.31668, 0.0 ], [ 113.65058, -8.31659, 0.0 ], [ 113.65024, -8.31654, 0.0 ], [ 113.64992, -8.3165, 0.0 ], [ 113.6493, -8.31642, 0.0 ], [ 113.64882, -8.31636, 0.0 ], [ 113.64845, -8.3163, 0.0 ], [ 113.64821, -8.31625, 0.0 ], [ 113.64811, -8.31624, 0.0 ], [ 113.64801, -8.31623, 0.0 ], [ 113.6475, -8.31619, 0.0 ], [ 113.64689, -8.31616, 0.0 ], [ 113.64688, -8.31615, 0.0 ], [ 113.64617, -8.31609, 0.0 ], [ 113.64616, -8.31609, 0.0 ], [ 113.64598, -8.31608, 0.0 ], [ 113.6458, -8.31607, 0.0 ], [ 113.64552, -8.31606, 0.0 ], [ 113.64507, -8.31602, 0.0 ], [ 113.64465, -8.31599, 0.0 ], [ 113.64436, -8.31597, 0.0 ], [ 113.64353, -8.31591, 0.0 ], [ 113.64325, -8.31589, 0.0 ], [ 113.64277, -8.31586, 0.0 ], [ 113.64221, -8.31583, 0.0 ], [ 113.64108, -8.31575, 0.0 ], [ 113.64104, -8.31575, 0.0 ], [ 113.64068, -8.31574, 0.0 ], [ 113.63992, -8.31567, 0.0 ], [ 113.63944, -8.31563, 0.0 ], [ 113.63934, -8.31562, 0.0 ], [ 113.63933, -8.3156, 0.0 ], [ 113.63933, -8.3153, 0.0 ], [ 113.63933, -8.3152, 0.0 ], [ 113.63933, -8.315, 0.0 ], [ 113.63933, -8.31493, 0.0 ], [ 113.63935, -8.31478, 0.0 ], [ 113.63936, -8.31464, 0.0 ], [ 113.63938, -8.31448, 0.0 ], [ 113.63937, -8.3143, 0.0 ], [ 113.63936, -8.31406, 0.0 ], [ 113.63936, -8.31397, 0.0 ], [ 113.63934, -8.31363, 0.0 ], [ 113.63926, -8.31361, 0.0 ], [ 113.63922, -8.3136, 0.0 ], [ 113.63918, -8.31359, 0.0 ], [ 113.63914, -8.31359, 0.0 ], [ 113.63908, -8.3136, 0.0 ], [ 113.63903, -8.31361, 0.0 ], [ 113.63884, -8.31366, 0.0 ], [ 113.63874, -8.31369, 0.0 ], [ 113.6385, -8.31374, 0.0 ], [ 113.63842, -8.31375, 0.0 ], [ 113.63839, -8.31376, 0.0 ], [ 113.63831, -8.31377, 0.0 ], [ 113.63818, -8.31377, 0.0 ], [ 113.63806, -8.31377, 0.0 ], [ 113.63799, -8.31376, 0.0 ], [ 113.63793, -8.31375, 0.0 ], [ 113.63784, -8.31374, 0.0 ], [ 113.63773, -8.31373, 0.0 ], [ 113.63753, -8.3137, 0.0 ], [ 113.63742, -8.31369, 0.0 ], [ 113.63718, -8.31366, 0.0 ], [ 113.6371, -8.31365, 0.0 ], [ 113.63666, -8.31361, 0.0 ], [ 113.63618, -8.31356, 0.0 ], [ 113.63582, -8.31354, 0.0 ], [ 113.63559, -8.31353, 0.0 ], [ 113.63558, -8.3136, 0.0 ], [ 113.63556, -8.31381, 0.0 ], [ 113.63554, -8.31395, 0.0 ], [ 113.63547, -8.31453, 0.0 ], [ 113.63547, -8.31454, 0.0 ], [ 113.63544, -8.31482, 0.0 ], [ 113.63544, -8.31484, 0.0 ], [ 113.63543, -8.31509, 0.0 ], [ 113.63542, -8.31532, 0.0 ], [ 113.63541, -8.31541, 0.0 ], [ 113.63541, -8.3155, 0.0 ], [ 113.63516, -8.31549, 0.0 ], [ 113.6351, -8.31548, 0.0 ], [ 113.63501, -8.31547, 0.0 ], [ 113.63494, -8.31546, 0.0 ], [ 113.63488, -8.31545, 0.0 ], [ 113.63483, -8.31545, 0.0 ], [ 113.63468, -8.31543, 0.0 ], [ 113.63436, -8.31538, 0.0 ], [ 113.63427, -8.31537, 0.0 ], [ 113.63403, -8.31533, 0.0 ], [ 113.63396, -8.31532, 0.0 ], [ 113.63354, -8.31526, 0.0 ], [ 113.63291, -8.31517, 0.0 ], [ 113.63286, -8.31516, 0.0 ], [ 113.63237, -8.31509, 0.0 ], [ 113.63224, -8.31507, 0.0 ], [ 113.6319, -8.31504, 0.0 ], [ 113.63159, -8.31502, 0.0 ], [ 113.6309, -8.31498, 0.0 ], [ 113.63034, -8.31495, 0.0 ], [ 113.62974, -8.3149, 0.0 ], [ 113.62872, -8.3148, 0.0 ], [ 113.62796, -8.31476, 0.0 ], [ 113.62779, -8.31475, 0.0 ], [ 113.62733, -8.31473, 0.0 ], [ 113.62688, -8.31472, 0.0 ], [ 113.62667, -8.31471, 0.0 ], [ 113.62662, -8.31471, 0.0 ], [ 113.62646, -8.31471, 0.0 ], [ 113.62633, -8.31469, 0.0 ], [ 113.62611, -8.31467, 0.0 ], [ 113.626, -8.31465, 0.0 ], [ 113.62583, -8.31463, 0.0 ], [ 113.62579, -8.31463, 0.0 ], [ 113.6257, -8.31462, 0.0 ], [ 113.62549, -8.31458, 0.0 ], [ 113.62531, -8.31455, 0.0 ], [ 113.62528, -8.31455, 0.0 ], [ 113.62521, -8.31454, 0.0 ], [ 113.62502, -8.3145, 0.0 ], [ 113.62495, -8.3145, 0.0 ], [ 113.62481, -8.31448, 0.0 ], [ 113.6246, -8.31445, 0.0 ], [ 113.62433, -8.31441, 0.0 ], [ 113.62416, -8.31439, 0.0 ], [ 113.62393, -8.31436, 0.0 ], [ 113.62375, -8.31433, 0.0 ], [ 113.62325, -8.31426, 0.0 ], [ 113.62317, -8.31425, 0.0 ], [ 113.62316, -8.31425, 0.0 ], [ 113.62249, -8.3142, 0.0 ], [ 113.62212, -8.31417, 0.0 ], [ 113.622, -8.31416, 0.0 ], [ 113.62194, -8.31415, 0.0 ], [ 113.62162, -8.31411, 0.0 ], [ 113.62142, -8.31408, 0.0 ], [ 113.62132, -8.31407, 0.0 ], [ 113.6208, -8.31397, 0.0 ], [ 113.6205, -8.3139, 0.0 ], [ 113.62042, -8.31389, 0.0 ], [ 113.61761, -8.31347, 0.0 ], [ 113.61721, -8.3134, 0.0 ], [ 113.61703, -8.31337, 0.0 ], [ 113.61637, -8.31326, 0.0 ], [ 113.61537, -8.31308, 0.0 ], [ 113.61468, -8.31294, 0.0 ], [ 113.61413, -8.31282, 0.0 ], [ 113.61372, -8.31361, 0.0 ], [ 113.61356, -8.31393, 0.0 ], [ 113.61355, -8.31394, 0.0 ], [ 113.61318, -8.31463, 0.0 ], [ 113.61308, -8.3148, 0.0 ], [ 113.61265, -8.31559, 0.0 ], [ 113.61256, -8.31575, 0.0 ], [ 113.61248, -8.31591, 0.0 ], [ 113.61243, -8.31598, 0.0 ], [ 113.61226, -8.3163, 0.0 ], [ 113.61202, -8.31676, 0.0 ], [ 113.6118, -8.31717, 0.0 ], [ 113.61155, -8.31764, 0.0 ], [ 113.61134, -8.31809, 0.0 ], [ 113.61127, -8.31823, 0.0 ], [ 113.61115, -8.31849, 0.0 ], [ 113.61103, -8.31876, 0.0 ], [ 113.6108, -8.31928, 0.0 ], [ 113.61071, -8.31948, 0.0 ], [ 113.61063, -8.31967, 0.0 ], [ 113.61049, -8.32001, 0.0 ], [ 113.61048, -8.32004, 0.0 ], [ 113.6103, -8.32058, 0.0 ], [ 113.61016, -8.32105, 0.0 ], [ 113.60999, -8.32166, 0.0 ], [ 113.60996, -8.32174, 0.0 ], [ 113.60993, -8.32183, 0.0 ], [ 113.60979, -8.32232, 0.0 ], [ 113.60969, -8.32263, 0.0 ], [ 113.60938, -8.32365, 0.0 ], [ 113.60911, -8.32454, 0.0 ], [ 113.60908, -8.32466, 0.0 ], [ 113.60896, -8.32508, 0.0 ], [ 113.60893, -8.32519, 0.0 ], [ 113.60888, -8.32536, 0.0 ], [ 113.60885, -8.32548, 0.0 ], [ 113.60882, -8.32561, 0.0 ], [ 113.60879, -8.32571, 0.0 ], [ 113.60877, -8.3258, 0.0 ], [ 113.60871, -8.32606, 0.0 ], [ 113.60866, -8.32633, 0.0 ], [ 113.60863, -8.32654, 0.0 ], [ 113.60856, -8.32686, 0.0 ], [ 113.60855, -8.32693, 0.0 ], [ 113.60853, -8.32706, 0.0 ], [ 113.60852, -8.32716, 0.0 ], [ 113.60849, -8.32733, 0.0 ], [ 113.60847, -8.32751, 0.0 ], [ 113.60835, -8.32869, 0.0 ], [ 113.60835, -8.32894, 0.0 ], [ 113.60831, -8.32938, 0.0 ], [ 113.60829, -8.32956, 0.0 ], [ 113.60826, -8.32992, 0.0 ], [ 113.60823, -8.3303, 0.0 ], [ 113.6082, -8.33068, 0.0 ], [ 113.60818, -8.33082, 0.0 ], [ 113.60818, -8.33085, 0.0 ], [ 113.60814, -8.33123, 0.0 ], [ 113.60813, -8.33131, 0.0 ], [ 113.60814, -8.33136, 0.0 ], [ 113.60809, -8.33202, 0.0 ], [ 113.60806, -8.33236, 0.0 ], [ 113.60804, -8.33266, 0.0 ], [ 113.60804, -8.33269, 0.0 ], [ 113.60799, -8.33324, 0.0 ], [ 113.60788, -8.3347, 0.0 ], [ 113.60788, -8.33473, 0.0 ], [ 113.60783, -8.33506, 0.0 ], [ 113.60781, -8.33539, 0.0 ], [ 113.6078, -8.33553, 0.0 ], [ 113.60771, -8.33587, 0.0 ], [ 113.60768, -8.33599, 0.0 ], [ 113.60762, -8.33649, 0.0 ], [ 113.60761, -8.33658, 0.0 ], [ 113.60763, -8.33751, 0.0 ], [ 113.6076, -8.33794, 0.0 ], [ 113.6076, -8.33833, 0.0 ], [ 113.6076, -8.33848, 0.0 ], [ 113.60757, -8.33877, 0.0 ], [ 113.60754, -8.3392, 0.0 ], [ 113.6075, -8.33968, 0.0 ], [ 113.60746, -8.34002, 0.0 ], [ 113.60742, -8.34034, 0.0 ], [ 113.60741, -8.34051, 0.0 ], [ 113.6074, -8.3406, 0.0 ], [ 113.6074, -8.34061, 0.0 ], [ 113.6074, -8.34067, 0.0 ], [ 113.60733, -8.34124, 0.0 ], [ 113.60732, -8.34137, 0.0 ], [ 113.60729, -8.34163, 0.0 ], [ 113.60727, -8.34181, 0.0 ], [ 113.60724, -8.34206, 0.0 ], [ 113.6071, -8.3425, 0.0 ], [ 113.60707, -8.34269, 0.0 ], [ 113.60704, -8.3429, 0.0 ], [ 113.60698, -8.34313, 0.0 ], [ 113.60692, -8.3434, 0.0 ], [ 113.60686, -8.34366, 0.0 ], [ 113.60666, -8.34421, 0.0 ], [ 113.60642, -8.34483, 0.0 ], [ 113.6064, -8.3449, 0.0 ], [ 113.60624, -8.34545, 0.0 ], [ 113.60604, -8.34606, 0.0 ], [ 113.60595, -8.34633, 0.0 ], [ 113.60596, -8.34655, 0.0 ], [ 113.60596, -8.34662, 0.0 ], [ 113.60571, -8.34749, 0.0 ], [ 113.60565, -8.34748, 0.0 ], [ 113.60571, -8.34749, 0.0 ], [ 113.60662, -8.3477, 0.0 ], [ 113.60704, -8.34779, 0.0 ], [ 113.60744, -8.34791, 0.0 ], [ 113.60781, -8.348, 0.0 ], [ 113.60796, -8.34804, 0.0 ], [ 113.60863, -8.34819, 0.0 ], [ 113.60866, -8.3482, 0.0 ], [ 113.609, -8.34826, 0.0 ], [ 113.60918, -8.34831, 0.0 ], [ 113.60938, -8.34836, 0.0 ], [ 113.60986, -8.34849, 0.0 ], [ 113.61001, -8.34854, 0.0 ], [ 113.61005, -8.34855, 0.0 ], [ 113.61018, -8.34859, 0.0 ], [ 113.61022, -8.3486, 0.0 ], [ 113.61068, -8.34875, 0.0 ], [ 113.61076, -8.34878, 0.0 ], [ 113.61138, -8.34896, 0.0 ], [ 113.61142, -8.34897, 0.0 ], [ 113.61177, -8.34907, 0.0 ], [ 113.61182, -8.34909, 0.0 ], [ 113.61244, -8.34927, 0.0 ], [ 113.61248, -8.34929, 0.0 ], [ 113.6127, -8.34935, 0.0 ], [ 113.61275, -8.34937, 0.0 ], [ 113.61284, -8.3494, 0.0 ], [ 113.61294, -8.34944, 0.0 ], [ 113.61307, -8.34949, 0.0 ], [ 113.61345, -8.34964, 0.0 ], [ 113.61348, -8.34965, 0.0 ], [ 113.6137, -8.34974, 0.0 ], [ 113.61381, -8.3498, 0.0 ], [ 113.614, -8.3499, 0.0 ], [ 113.61412, -8.34996, 0.0 ], [ 113.61423, -8.35002, 0.0 ], [ 113.61427, -8.35004, 0.0 ], [ 113.61433, -8.35008, 0.0 ], [ 113.61444, -8.35015, 0.0 ], [ 113.61453, -8.35022, 0.0 ], [ 113.61461, -8.35029, 0.0 ], [ 113.61472, -8.3504, 0.0 ], [ 113.61473, -8.35041, 0.0 ], [ 113.61482, -8.35053, 0.0 ], [ 113.61508, -8.35089, 0.0 ], [ 113.61518, -8.35104, 0.0 ], [ 113.61524, -8.35114, 0.0 ], [ 113.61532, -8.35131, 0.0 ], [ 113.61538, -8.35138, 0.0 ], [ 113.61549, -8.35148, 0.0 ], [ 113.61558, -8.35155, 0.0 ], [ 113.616, -8.35183, 0.0 ], [ 113.61668, -8.35227, 0.0 ], [ 113.61785, -8.35301, 0.0 ], [ 113.61822, -8.35324, 0.0 ], [ 113.61842, -8.35338, 0.0 ], [ 113.61865, -8.35356, 0.0 ], [ 113.61887, -8.35375, 0.0 ], [ 113.61954, -8.35433, 0.0 ], [ 113.61956, -8.35435, 0.0 ], [ 113.61969, -8.35447, 0.0 ], [ 113.6199, -8.35466, 0.0 ], [ 113.62004, -8.35481, 0.0 ], [ 113.62011, -8.35489, 0.0 ], [ 113.6202, -8.35501, 0.0 ], [ 113.62058, -8.35551, 0.0 ], [ 113.62069, -8.35565, 0.0 ], [ 113.62072, -8.35569, 0.0 ], [ 113.62128, -8.35641, 0.0 ], [ 113.6215, -8.35668, 0.0 ], [ 113.6219, -8.35711, 0.0 ], [ 113.62227, -8.35748, 0.0 ], [ 113.62253, -8.35778, 0.0 ], [ 113.62262, -8.3579, 0.0 ], [ 113.62273, -8.35803, 0.0 ], [ 113.62291, -8.35823, 0.0 ], [ 113.62307, -8.3584, 0.0 ], [ 113.62314, -8.35848, 0.0 ], [ 113.62341, -8.35873, 0.0 ], [ 113.62359, -8.35888, 0.0 ], [ 113.62371, -8.35896, 0.0 ], [ 113.62409, -8.35918, 0.0 ], [ 113.62417, -8.35922, 0.0 ], [ 113.6251, -8.35964, 0.0 ], [ 113.62606, -8.3601, 0.0 ], [ 113.62621, -8.36015, 0.0 ], [ 113.62769, -8.36077, 0.0 ], [ 113.62782, -8.36083, 0.0 ], [ 113.62783, -8.36083, 0.0 ], [ 113.62821, -8.36098, 0.0 ], [ 113.62836, -8.36104, 0.0 ], [ 113.62909, -8.36133, 0.0 ], [ 113.62968, -8.36157, 0.0 ], [ 113.63033, -8.36182, 0.0 ], [ 113.63082, -8.362, 0.0 ], [ 113.63135, -8.3622, 0.0 ], [ 113.63255, -8.36263, 0.0 ], [ 113.63303, -8.36279, 0.0 ], [ 113.63412, -8.36315, 0.0 ], [ 113.63439, -8.36322, 0.0 ], [ 113.63494, -8.36341, 0.0 ], [ 113.635, -8.36342, 0.0 ], [ 113.63529, -8.3635, 0.0 ], [ 113.63582, -8.36365, 0.0 ], [ 113.63585, -8.36365, 0.0 ], [ 113.63611, -8.36371, 0.0 ], [ 113.63643, -8.36377, 0.0 ], [ 113.63682, -8.36385, 0.0 ], [ 113.63737, -8.36397, 0.0 ], [ 113.63814, -8.36413, 0.0 ], [ 113.63837, -8.36418, 0.0 ], [ 113.63855, -8.36419, 0.0 ], [ 113.63961, -8.3644, 0.0 ], [ 113.64033, -8.36453, 0.0 ], [ 113.64076, -8.3646, 0.0 ], [ 113.64096, -8.36463, 0.0 ], [ 113.64159, -8.36476, 0.0 ], [ 113.64207, -8.36485, 0.0 ], [ 113.64218, -8.36487, 0.0 ], [ 113.64292, -8.36497, 0.0 ], [ 113.64328, -8.36504, 0.0 ], [ 113.64337, -8.36505, 0.0 ], [ 113.6437, -8.36513, 0.0 ], [ 113.64381, -8.36515, 0.0 ], [ 113.64392, -8.36516, 0.0 ], [ 113.6441, -8.36519, 0.0 ], [ 113.64412, -8.36519, 0.0 ], [ 113.64415, -8.3652, 0.0 ], [ 113.64535, -8.3654, 0.0 ], [ 113.64557, -8.36543, 0.0 ], [ 113.64593, -8.36549, 0.0 ], [ 113.64612, -8.36552, 0.0 ], [ 113.64701, -8.36565, 0.0 ], [ 113.64716, -8.36567, 0.0 ], [ 113.64726, -8.36569, 0.0 ], [ 113.64731, -8.3657, 0.0 ], [ 113.64778, -8.36577, 0.0 ], [ 113.64898, -8.36589, 0.0 ], [ 113.64908, -8.36592, 0.0 ], [ 113.64972, -8.36597, 0.0 ], [ 113.65003, -8.36601, 0.0 ], [ 113.65027, -8.36604, 0.0 ], [ 113.6504, -8.36606, 0.0 ], [ 113.65057, -8.36607, 0.0 ], [ 113.65071, -8.36608, 0.0 ], [ 113.65105, -8.36615, 0.0 ], [ 113.65134, -8.36621, 0.0 ], [ 113.65139, -8.36622, 0.0 ], [ 113.65153, -8.36626, 0.0 ], [ 113.65166, -8.36629, 0.0 ], [ 113.65179, -8.36633, 0.0 ], [ 113.65192, -8.36638, 0.0 ], [ 113.65234, -8.36656, 0.0 ], [ 113.65285, -8.36681, 0.0 ], [ 113.653, -8.36689, 0.0 ], [ 113.6532, -8.367, 0.0 ], [ 113.65383, -8.36734, 0.0 ], [ 113.65389, -8.36736, 0.0 ], [ 113.65467, -8.36777, 0.0 ], [ 113.65547, -8.36823, 0.0 ], [ 113.65593, -8.3685, 0.0 ], [ 113.65632, -8.36875, 0.0 ], [ 113.65659, -8.36893, 0.0 ], [ 113.65696, -8.36917, 0.0 ], [ 113.65701, -8.36921, 0.0 ], [ 113.65706, -8.36924, 0.0 ], [ 113.65711, -8.36928, 0.0 ], [ 113.65763, -8.36962, 0.0 ], [ 113.65795, -8.36984, 0.0 ], [ 113.65833, -8.37011, 0.0 ], [ 113.65849, -8.37021, 0.0 ], [ 113.65863, -8.37031, 0.0 ], [ 113.65877, -8.37042, 0.0 ], [ 113.6589, -8.37052, 0.0 ], [ 113.659, -8.3706, 0.0 ], [ 113.65906, -8.37066, 0.0 ], [ 113.65914, -8.37073, 0.0 ], [ 113.6592, -8.37081, 0.0 ], [ 113.65922, -8.37084, 0.0 ], [ 113.65934, -8.37098, 0.0 ], [ 113.65948, -8.37117, 0.0 ], [ 113.66022, -8.37235, 0.0 ], [ 113.66024, -8.37238, 0.0 ], [ 113.66035, -8.37212, 0.0 ], [ 113.66038, -8.372, 0.0 ], [ 113.66041, -8.37191, 0.0 ], [ 113.66051, -8.37146, 0.0 ], [ 113.6606, -8.37099, 0.0 ], [ 113.66062, -8.37087, 0.0 ], [ 113.66074, -8.37014, 0.0 ], [ 113.66082, -8.36964, 0.0 ], [ 113.66092, -8.36909, 0.0 ], [ 113.66092, -8.36908, 0.0 ], [ 113.66094, -8.36899, 0.0 ], [ 113.661, -8.36859, 0.0 ], [ 113.66102, -8.36849, 0.0 ], [ 113.66103, -8.36839, 0.0 ], [ 113.66108, -8.36807, 0.0 ], [ 113.66116, -8.36751, 0.0 ], [ 113.66133, -8.36663, 0.0 ], [ 113.6614, -8.36619, 0.0 ], [ 113.6615, -8.36575, 0.0 ], [ 113.66166, -8.36487, 0.0 ], [ 113.66211, -8.364, 0.0 ], [ 113.66215, -8.36393, 0.0 ], [ 113.66248, -8.36328, 0.0 ], [ 113.66254, -8.36315, 0.0 ], [ 113.66258, -8.36307, 0.0 ], [ 113.66277, -8.36268, 0.0 ], [ 113.66297, -8.36227, 0.0 ], [ 113.66307, -8.36207, 0.0 ], [ 113.66313, -8.36196, 0.0 ], [ 113.66317, -8.36188, 0.0 ], [ 113.66338, -8.36145, 0.0 ], [ 113.66339, -8.36143, 0.0 ], [ 113.66367, -8.36086, 0.0 ], [ 113.66385, -8.36052, 0.0 ], [ 113.66405, -8.36014, 0.0 ], [ 113.66412, -8.36001, 0.0 ], [ 113.66414, -8.35999, 0.0 ], [ 113.66437, -8.3595, 0.0 ], [ 113.66443, -8.35938, 0.0 ], [ 113.66444, -8.35934, 0.0 ], [ 113.66445, -8.35932, 0.0 ], [ 113.66446, -8.3593, 0.0 ], [ 113.66446, -8.35928, 0.0 ], [ 113.66446, -8.35927, 0.0 ], [ 113.66447, -8.35925, 0.0 ], [ 113.6645, -8.35888, 0.0 ], [ 113.66451, -8.35865, 0.0 ], [ 113.66453, -8.35818, 0.0 ], [ 113.66458, -8.35756, 0.0 ], [ 113.6646, -8.35711, 0.0 ], [ 113.66464, -8.35656, 0.0 ], [ 113.66464, -8.3565, 0.0 ], [ 113.66465, -8.35644, 0.0 ], [ 113.66467, -8.35639, 0.0 ], [ 113.66469, -8.35633, 0.0 ], [ 113.6647, -8.35629, 0.0 ], [ 113.66472, -8.35625, 0.0 ], [ 113.66475, -8.35619, 0.0 ], [ 113.66478, -8.35614, 0.0 ], [ 113.66478, -8.35613, 0.0 ], [ 113.66482, -8.35607, 0.0 ], [ 113.66487, -8.35599, 0.0 ], [ 113.6649, -8.35593, 0.0 ], [ 113.66492, -8.35591, 0.0 ], [ 113.66498, -8.3558, 0.0 ], [ 113.66505, -8.35569, 0.0 ], [ 113.66511, -8.35559, 0.0 ], [ 113.66512, -8.35557, 0.0 ], [ 113.66521, -8.35543, 0.0 ], [ 113.66531, -8.35526, 0.0 ], [ 113.66544, -8.35505, 0.0 ], [ 113.6655, -8.35494, 0.0 ], [ 113.66555, -8.35483, 0.0 ], [ 113.66556, -8.35481, 0.0 ], [ 113.66556, -8.3548, 0.0 ], [ 113.66557, -8.35478, 0.0 ], [ 113.66557, -8.35477, 0.0 ], [ 113.66558, -8.35475, 0.0 ], [ 113.66558, -8.35472, 0.0 ], [ 113.66559, -8.35466, 0.0 ], [ 113.6656, -8.35455, 0.0 ], [ 113.66562, -8.35441, 0.0 ], [ 113.66564, -8.35417, 0.0 ], [ 113.66565, -8.35402, 0.0 ], [ 113.66566, -8.35392, 0.0 ], [ 113.6657, -8.35345, 0.0 ], [ 113.66576, -8.35252, 0.0 ], [ 113.66577, -8.35243, 0.0 ], [ 113.66579, -8.35213, 0.0 ], [ 113.66581, -8.3518, 0.0 ], [ 113.66582, -8.35163, 0.0 ], [ 113.66582, -8.35161, 0.0 ], [ 113.66586, -8.35121, 0.0 ], [ 113.66594, -8.35025, 0.0 ], [ 113.66595, -8.35016, 0.0 ], [ 113.66598, -8.34971, 0.0 ], [ 113.66604, -8.349, 0.0 ], [ 113.66604, -8.34898, 0.0 ], [ 113.66604, -8.34888, 0.0 ], [ 113.66605, -8.34879, 0.0 ], [ 113.66606, -8.34872, 0.0 ], [ 113.66608, -8.34864, 0.0 ], [ 113.6661, -8.34855, 0.0 ], [ 113.66614, -8.34843, 0.0 ], [ 113.66619, -8.3483, 0.0 ], [ 113.66619, -8.34828, 0.0 ], [ 113.6663, -8.34799, 0.0 ], [ 113.66643, -8.34763, 0.0 ], [ 113.66645, -8.34759, 0.0 ], [ 113.6666, -8.34722, 0.0 ], [ 113.66678, -8.34679, 0.0 ], [ 113.66687, -8.34653, 0.0 ], [ 113.66711, -8.34586, 0.0 ], [ 113.66727, -8.34539, 0.0 ], [ 113.66739, -8.34504, 0.0 ], [ 113.66753, -8.34459, 0.0 ], [ 113.66775, -8.34387, 0.0 ], [ 113.66778, -8.34377, 0.0 ], [ 113.66786, -8.34358, 0.0 ], [ 113.66794, -8.34339, 0.0 ], [ 113.668, -8.34327, 0.0 ], [ 113.66803, -8.3432, 0.0 ], [ 113.66804, -8.34318, 0.0 ], [ 113.66808, -8.34305, 0.0 ], [ 113.66813, -8.34288, 0.0 ], [ 113.66815, -8.34281, 0.0 ], [ 113.66815, -8.34276, 0.0 ], [ 113.66816, -8.34266, 0.0 ], [ 113.66817, -8.34257, 0.0 ], [ 113.66817, -8.34248, 0.0 ], [ 113.66817, -8.34227, 0.0 ], [ 113.66819, -8.34208, 0.0 ], [ 113.66821, -8.34185, 0.0 ], [ 113.66824, -8.34149, 0.0 ], [ 113.66825, -8.3414, 0.0 ], [ 113.66828, -8.34102, 0.0 ], [ 113.66834, -8.34013, 0.0 ], [ 113.66843, -8.33921, 0.0 ], [ 113.66847, -8.33834, 0.0 ], [ 113.66856, -8.33746, 0.0 ], [ 113.66864, -8.33651, 0.0 ], [ 113.66872, -8.3356, 0.0 ], [ 113.66876, -8.33512, 0.0 ], [ 113.66877, -8.33507, 0.0 ], [ 113.66878, -8.33484, 0.0 ], [ 113.66879, -8.33451, 0.0 ], [ 113.6688, -8.3343, 0.0 ], [ 113.66882, -8.3338, 0.0 ], [ 113.66883, -8.33367, 0.0 ], [ 113.66884, -8.33356, 0.0 ], [ 113.6689, -8.33293, 0.0 ], [ 113.66891, -8.33275, 0.0 ], [ 113.66891, -8.33264, 0.0 ], [ 113.66897, -8.33187, 0.0 ], [ 113.669, -8.33173, 0.0 ], [ 113.66902, -8.33145, 0.0 ], [ 113.66903, -8.33144, 0.0 ], [ 113.66903, -8.33138, 0.0 ], [ 113.66905, -8.33126, 0.0 ], [ 113.66905, -8.33123, 0.0 ], [ 113.66909, -8.33062, 0.0 ], [ 113.66908, -8.33035, 0.0 ], [ 113.66912, -8.3298, 0.0 ], [ 113.6692, -8.32901, 0.0 ], [ 113.66921, -8.32895, 0.0 ], [ 113.66928, -8.32791, 0.0 ], [ 113.66935, -8.32685, 0.0 ], [ 113.66944, -8.3259, 0.0 ], [ 113.66945, -8.32566, 0.0 ], [ 113.66944, -8.32547, 0.0 ], [ 113.66943, -8.32542, 0.0 ], [ 113.6694, -8.32537, 0.0 ], [ 113.66938, -8.32533, 0.0 ], [ 113.66934, -8.32528, 0.0 ], [ 113.6693, -8.32523, 0.0 ], [ 113.66925, -8.32519, 0.0 ], [ 113.66917, -8.32514, 0.0 ], [ 113.66907, -8.32509, 0.0 ], [ 113.66896, -8.32503, 0.0 ], [ 113.66883, -8.32495, 0.0 ], [ 113.66876, -8.32491, 0.0 ], [ 113.6683, -8.32467, 0.0 ], [ 113.66787, -8.32441, 0.0 ], [ 113.6678, -8.32437, 0.0 ], [ 113.66699, -8.32388, 0.0 ], [ 113.66672, -8.3237, 0.0 ], [ 113.666, -8.32326, 0.0 ], [ 113.66569, -8.32308, 0.0 ], [ 113.66491, -8.32262, 0.0 ], [ 113.66476, -8.32252, 0.0 ], [ 113.66444, -8.32233, 0.0 ], [ 113.66373, -8.32192, 0.0 ], [ 113.6635, -8.3218, 0.0 ], [ 113.66338, -8.32174, 0.0 ], [ 113.66324, -8.32168, 0.0 ], [ 113.66315, -8.32165, 0.0 ], [ 113.6631, -8.32162, 0.0 ], [ 113.66307, -8.3216, 0.0 ], [ 113.66305, -8.32157, 0.0 ], [ 113.663, -8.32152, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6630025, -8.3215175, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MJ24+X7V, Krajan, Ambulu, Kec. Ambulu, Kabupaten Jember, Jawa Timur, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6056497, -8.3474764, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JMH6+332, Karang Templek, Andongsari, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6602215, -8.372349, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6630025, -8.3215175, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/3.geojson b/smart_cycling_api/import_queue/done/3.geojson new file mode 100644 index 0000000..4da00ad --- /dev/null +++ b/smart_cycling_api/import_queue/done/3.geojson @@ -0,0 +1,12 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.663, -8.32152, 0.0 ], [ 113.66283, -8.32155, 0.0 ], [ 113.66263, -8.32159, 0.0 ], [ 113.66248, -8.3216, 0.0 ], [ 113.66245, -8.3216, 0.0 ], [ 113.66239, -8.32161, 0.0 ], [ 113.6623, -8.3216, 0.0 ], [ 113.66223, -8.32159, 0.0 ], [ 113.66214, -8.32156, 0.0 ], [ 113.66209, -8.32155, 0.0 ], [ 113.66191, -8.32149, 0.0 ], [ 113.66154, -8.32135, 0.0 ], [ 113.66067, -8.32097, 0.0 ], [ 113.66024, -8.32077, 0.0 ], [ 113.66002, -8.32069, 0.0 ], [ 113.65996, -8.32067, 0.0 ], [ 113.65981, -8.32062, 0.0 ], [ 113.6593, -8.32049, 0.0 ], [ 113.65908, -8.32044, 0.0 ], [ 113.65883, -8.32039, 0.0 ], [ 113.65867, -8.32036, 0.0 ], [ 113.6584, -8.32029, 0.0 ], [ 113.65832, -8.32026, 0.0 ], [ 113.65826, -8.32024, 0.0 ], [ 113.65813, -8.32018, 0.0 ], [ 113.65775, -8.31994, 0.0 ], [ 113.65755, -8.31979, 0.0 ], [ 113.65718, -8.31952, 0.0 ], [ 113.65668, -8.31917, 0.0 ], [ 113.65624, -8.31888, 0.0 ], [ 113.65605, -8.31874, 0.0 ], [ 113.656, -8.31872, 0.0 ], [ 113.65591, -8.31866, 0.0 ], [ 113.65557, -8.31847, 0.0 ], [ 113.65476, -8.31807, 0.0 ], [ 113.65423, -8.31782, 0.0 ], [ 113.6537, -8.31758, 0.0 ], [ 113.65312, -8.31733, 0.0 ], [ 113.653, -8.31729, 0.0 ], [ 113.65256, -8.31709, 0.0 ], [ 113.65232, -8.31699, 0.0 ], [ 113.65211, -8.3169, 0.0 ], [ 113.65201, -8.31687, 0.0 ], [ 113.65187, -8.31683, 0.0 ], [ 113.65114, -8.3167, 0.0 ], [ 113.65103, -8.31668, 0.0 ], [ 113.65058, -8.31659, 0.0 ], [ 113.65024, -8.31654, 0.0 ], [ 113.64992, -8.3165, 0.0 ], [ 113.6493, -8.31642, 0.0 ], [ 113.64882, -8.31636, 0.0 ], [ 113.64845, -8.3163, 0.0 ], [ 113.64821, -8.31625, 0.0 ], [ 113.64811, -8.31624, 0.0 ], [ 113.64801, -8.31623, 0.0 ], [ 113.6475, -8.31619, 0.0 ], [ 113.64689, -8.31616, 0.0 ], [ 113.64688, -8.31615, 0.0 ], [ 113.64617, -8.31609, 0.0 ], [ 113.64616, -8.31609, 0.0 ], [ 113.64598, -8.31608, 0.0 ], [ 113.6458, -8.31607, 0.0 ], [ 113.64552, -8.31606, 0.0 ], [ 113.64507, -8.31602, 0.0 ], [ 113.64465, -8.31599, 0.0 ], [ 113.64436, -8.31597, 0.0 ], [ 113.64353, -8.31591, 0.0 ], [ 113.64325, -8.31589, 0.0 ], [ 113.64277, -8.31586, 0.0 ], [ 113.64221, -8.31583, 0.0 ], [ 113.64108, -8.31575, 0.0 ], [ 113.64104, -8.31575, 0.0 ], [ 113.64068, -8.31574, 0.0 ], [ 113.63992, -8.31567, 0.0 ], [ 113.63944, -8.31563, 0.0 ], [ 113.63934, -8.31562, 0.0 ], [ 113.63933, -8.3156, 0.0 ], [ 113.63933, -8.3153, 0.0 ], [ 113.63933, -8.3152, 0.0 ], [ 113.63933, -8.315, 0.0 ], [ 113.63933, -8.31493, 0.0 ], [ 113.63935, -8.31478, 0.0 ], [ 113.63936, -8.31464, 0.0 ], [ 113.63938, -8.31448, 0.0 ], [ 113.63937, -8.3143, 0.0 ], [ 113.63936, -8.31406, 0.0 ], [ 113.63936, -8.31397, 0.0 ], [ 113.63934, -8.31363, 0.0 ], [ 113.63926, -8.31361, 0.0 ], [ 113.63922, -8.3136, 0.0 ], [ 113.63918, -8.31359, 0.0 ], [ 113.63914, -8.31359, 0.0 ], [ 113.63908, -8.3136, 0.0 ], [ 113.63903, -8.31361, 0.0 ], [ 113.63884, -8.31366, 0.0 ], [ 113.63874, -8.31369, 0.0 ], [ 113.6385, -8.31374, 0.0 ], [ 113.63842, -8.31375, 0.0 ], [ 113.63839, -8.31376, 0.0 ], [ 113.63831, -8.31377, 0.0 ], [ 113.63818, -8.31377, 0.0 ], [ 113.63806, -8.31377, 0.0 ], [ 113.63799, -8.31376, 0.0 ], [ 113.63793, -8.31375, 0.0 ], [ 113.63784, -8.31374, 0.0 ], [ 113.63773, -8.31373, 0.0 ], [ 113.63753, -8.3137, 0.0 ], [ 113.63742, -8.31369, 0.0 ], [ 113.63718, -8.31366, 0.0 ], [ 113.6371, -8.31365, 0.0 ], [ 113.63666, -8.31361, 0.0 ], [ 113.63618, -8.31356, 0.0 ], [ 113.63582, -8.31354, 0.0 ], [ 113.63559, -8.31353, 0.0 ], [ 113.63558, -8.3136, 0.0 ], [ 113.63556, -8.31381, 0.0 ], [ 113.63554, -8.31395, 0.0 ], [ 113.63547, -8.31453, 0.0 ], [ 113.63547, -8.31454, 0.0 ], [ 113.63544, -8.31482, 0.0 ], [ 113.63544, -8.31484, 0.0 ], [ 113.63543, -8.31509, 0.0 ], [ 113.63542, -8.31532, 0.0 ], [ 113.63541, -8.31541, 0.0 ], [ 113.63541, -8.3155, 0.0 ], [ 113.63516, -8.31549, 0.0 ], [ 113.6351, -8.31548, 0.0 ], [ 113.63501, -8.31547, 0.0 ], [ 113.63494, -8.31546, 0.0 ], [ 113.63488, -8.31545, 0.0 ], [ 113.63483, -8.31545, 0.0 ], [ 113.63468, -8.31543, 0.0 ], [ 113.63436, -8.31538, 0.0 ], [ 113.63427, -8.31537, 0.0 ], [ 113.63403, -8.31533, 0.0 ], [ 113.63396, -8.31532, 0.0 ], [ 113.63354, -8.31526, 0.0 ], [ 113.63291, -8.31517, 0.0 ], [ 113.63286, -8.31516, 0.0 ], [ 113.63237, -8.31509, 0.0 ], [ 113.63224, -8.31507, 0.0 ], [ 113.6319, -8.31504, 0.0 ], [ 113.63159, -8.31502, 0.0 ], [ 113.6309, -8.31498, 0.0 ], [ 113.63034, -8.31495, 0.0 ], [ 113.62974, -8.3149, 0.0 ], [ 113.62872, -8.3148, 0.0 ], [ 113.62796, -8.31476, 0.0 ], [ 113.62779, -8.31475, 0.0 ], [ 113.62733, -8.31473, 0.0 ], [ 113.62688, -8.31472, 0.0 ], [ 113.62667, -8.31471, 0.0 ], [ 113.62662, -8.31471, 0.0 ], [ 113.62646, -8.31471, 0.0 ], [ 113.62633, -8.31469, 0.0 ], [ 113.62611, -8.31467, 0.0 ], [ 113.626, -8.31465, 0.0 ], [ 113.62583, -8.31463, 0.0 ], [ 113.62579, -8.31463, 0.0 ], [ 113.6257, -8.31462, 0.0 ], [ 113.62549, -8.31458, 0.0 ], [ 113.62531, -8.31455, 0.0 ], [ 113.62528, -8.31455, 0.0 ], [ 113.62521, -8.31454, 0.0 ], [ 113.62502, -8.3145, 0.0 ], [ 113.62495, -8.3145, 0.0 ], [ 113.62481, -8.31448, 0.0 ], [ 113.6246, -8.31445, 0.0 ], [ 113.62433, -8.31441, 0.0 ], [ 113.62416, -8.31439, 0.0 ], [ 113.62393, -8.31436, 0.0 ], [ 113.62375, -8.31433, 0.0 ], [ 113.62325, -8.31426, 0.0 ], [ 113.62317, -8.31425, 0.0 ], [ 113.62316, -8.31425, 0.0 ], [ 113.62249, -8.3142, 0.0 ], [ 113.62212, -8.31417, 0.0 ], [ 113.622, -8.31416, 0.0 ], [ 113.62194, -8.31415, 0.0 ], [ 113.62162, -8.31411, 0.0 ], [ 113.62142, -8.31408, 0.0 ], [ 113.62132, -8.31407, 0.0 ], [ 113.6208, -8.31397, 0.0 ], [ 113.6205, -8.3139, 0.0 ], [ 113.62042, -8.31389, 0.0 ], [ 113.61761, -8.31347, 0.0 ], [ 113.61721, -8.3134, 0.0 ], [ 113.61703, -8.31337, 0.0 ], [ 113.61637, -8.31326, 0.0 ], [ 113.61537, -8.31308, 0.0 ], [ 113.61468, -8.31294, 0.0 ], [ 113.61413, -8.31282, 0.0 ], [ 113.61438, -8.31236, 0.0 ], [ 113.6146, -8.31197, 0.0 ], [ 113.61478, -8.31165, 0.0 ], [ 113.61547, -8.31028, 0.0 ], [ 113.61582, -8.30962, 0.0 ], [ 113.61595, -8.30941, 0.0 ], [ 113.61625, -8.30887, 0.0 ], [ 113.61652, -8.30841, 0.0 ], [ 113.61661, -8.30826, 0.0 ], [ 113.61671, -8.30809, 0.0 ], [ 113.61672, -8.30807, 0.0 ], [ 113.61681, -8.30792, 0.0 ], [ 113.61718, -8.30731, 0.0 ], [ 113.61742, -8.30691, 0.0 ], [ 113.61774, -8.30636, 0.0 ], [ 113.61793, -8.30599, 0.0 ], [ 113.61826, -8.30537, 0.0 ], [ 113.61839, -8.30513, 0.0 ], [ 113.61896, -8.30416, 0.0 ], [ 113.61907, -8.30398, 0.0 ], [ 113.61936, -8.3035, 0.0 ], [ 113.6195, -8.30327, 0.0 ], [ 113.61967, -8.303, 0.0 ], [ 113.61982, -8.30277, 0.0 ], [ 113.61997, -8.30258, 0.0 ], [ 113.6201, -8.30244, 0.0 ], [ 113.62025, -8.30229, 0.0 ], [ 113.62036, -8.30219, 0.0 ], [ 113.62041, -8.30214, 0.0 ], [ 113.62058, -8.30198, 0.0 ], [ 113.62073, -8.30182, 0.0 ], [ 113.6215, -8.30112, 0.0 ], [ 113.62181, -8.30083, 0.0 ], [ 113.62211, -8.30055, 0.0 ], [ 113.6224, -8.30029, 0.0 ], [ 113.62263, -8.30008, 0.0 ], [ 113.62351, -8.29926, 0.0 ], [ 113.62377, -8.29902, 0.0 ], [ 113.62404, -8.29877, 0.0 ], [ 113.62437, -8.29846, 0.0 ], [ 113.62448, -8.29835, 0.0 ], [ 113.62475, -8.2981, 0.0 ], [ 113.62498, -8.29785, 0.0 ], [ 113.6251, -8.29772, 0.0 ], [ 113.62518, -8.29763, 0.0 ], [ 113.62573, -8.297, 0.0 ], [ 113.62633, -8.29633, 0.0 ], [ 113.62652, -8.29612, 0.0 ], [ 113.6267, -8.29593, 0.0 ], [ 113.62688, -8.29575, 0.0 ], [ 113.62691, -8.29572, 0.0 ], [ 113.62728, -8.29533, 0.0 ], [ 113.6273, -8.29532, 0.0 ], [ 113.62736, -8.29526, 0.0 ], [ 113.62762, -8.29497, 0.0 ], [ 113.62778, -8.2948, 0.0 ], [ 113.62791, -8.29466, 0.0 ], [ 113.62795, -8.29463, 0.0 ], [ 113.62818, -8.29434, 0.0 ], [ 113.62839, -8.29405, 0.0 ], [ 113.62843, -8.29401, 0.0 ], [ 113.62888, -8.29345, 0.0 ], [ 113.62916, -8.29308, 0.0 ], [ 113.62949, -8.29259, 0.0 ], [ 113.62965, -8.29234, 0.0 ], [ 113.62986, -8.29202, 0.0 ], [ 113.63, -8.29183, 0.0 ], [ 113.63009, -8.29172, 0.0 ], [ 113.63028, -8.29148, 0.0 ], [ 113.6303, -8.29145, 0.0 ], [ 113.63036, -8.29138, 0.0 ], [ 113.63046, -8.29126, 0.0 ], [ 113.63053, -8.2912, 0.0 ], [ 113.63063, -8.29108, 0.0 ], [ 113.63069, -8.29103, 0.0 ], [ 113.63077, -8.29095, 0.0 ], [ 113.63093, -8.2908, 0.0 ], [ 113.63128, -8.29054, 0.0 ], [ 113.6314, -8.29046, 0.0 ], [ 113.63164, -8.2903, 0.0 ], [ 113.63168, -8.29027, 0.0 ], [ 113.63199, -8.29007, 0.0 ], [ 113.63201, -8.29005, 0.0 ], [ 113.63223, -8.28991, 0.0 ], [ 113.6325, -8.28972, 0.0 ], [ 113.63258, -8.28966, 0.0 ], [ 113.63285, -8.28943, 0.0 ], [ 113.63301, -8.28929, 0.0 ], [ 113.63322, -8.2891, 0.0 ], [ 113.63324, -8.28908, 0.0 ], [ 113.63354, -8.28883, 0.0 ], [ 113.6338, -8.2886, 0.0 ], [ 113.63399, -8.28843, 0.0 ], [ 113.63409, -8.28831, 0.0 ], [ 113.6342, -8.28816, 0.0 ], [ 113.63421, -8.28815, 0.0 ], [ 113.63423, -8.28813, 0.0 ], [ 113.63428, -8.28803, 0.0 ], [ 113.63436, -8.28787, 0.0 ], [ 113.63445, -8.28764, 0.0 ], [ 113.63456, -8.28727, 0.0 ], [ 113.63458, -8.28722, 0.0 ], [ 113.63459, -8.28716, 0.0 ], [ 113.63476, -8.28658, 0.0 ], [ 113.63507, -8.28547, 0.0 ], [ 113.63516, -8.28521, 0.0 ], [ 113.63519, -8.2851, 0.0 ], [ 113.6353, -8.28474, 0.0 ], [ 113.63541, -8.28447, 0.0 ], [ 113.63548, -8.28432, 0.0 ], [ 113.63551, -8.28425, 0.0 ], [ 113.63565, -8.28399, 0.0 ], [ 113.63574, -8.28382, 0.0 ], [ 113.63581, -8.2837, 0.0 ], [ 113.63595, -8.28348, 0.0 ], [ 113.63608, -8.28327, 0.0 ], [ 113.63627, -8.28297, 0.0 ], [ 113.6363, -8.28292, 0.0 ], [ 113.63665, -8.28238, 0.0 ], [ 113.63676, -8.28221, 0.0 ], [ 113.63687, -8.28205, 0.0 ], [ 113.63698, -8.28188, 0.0 ], [ 113.63711, -8.28172, 0.0 ], [ 113.63732, -8.28147, 0.0 ], [ 113.63792, -8.28079, 0.0 ], [ 113.6383, -8.28037, 0.0 ], [ 113.63833, -8.28033, 0.0 ], [ 113.63845, -8.2802, 0.0 ], [ 113.63881, -8.27978, 0.0 ], [ 113.64021, -8.2782, 0.0 ], [ 113.64033, -8.27806, 0.0 ], [ 113.64065, -8.27769, 0.0 ], [ 113.64089, -8.27742, 0.0 ], [ 113.64194, -8.2762, 0.0 ], [ 113.64286, -8.27517, 0.0 ], [ 113.6434, -8.27455, 0.0 ], [ 113.64362, -8.27431, 0.0 ], [ 113.64363, -8.27431, 0.0 ], [ 113.64385, -8.27407, 0.0 ], [ 113.64439, -8.27351, 0.0 ], [ 113.64464, -8.27326, 0.0 ], [ 113.64491, -8.27296, 0.0 ], [ 113.64505, -8.27279, 0.0 ], [ 113.64518, -8.27262, 0.0 ], [ 113.64533, -8.27244, 0.0 ], [ 113.64544, -8.27229, 0.0 ], [ 113.64554, -8.27216, 0.0 ], [ 113.64563, -8.27203, 0.0 ], [ 113.64568, -8.27195, 0.0 ], [ 113.64573, -8.27186, 0.0 ], [ 113.64591, -8.2715, 0.0 ], [ 113.64604, -8.27127, 0.0 ], [ 113.64631, -8.27077, 0.0 ], [ 113.64658, -8.27023, 0.0 ], [ 113.64664, -8.27012, 0.0 ], [ 113.64666, -8.27007, 0.0 ], [ 113.64674, -8.26991, 0.0 ], [ 113.64682, -8.26975, 0.0 ], [ 113.647, -8.26939, 0.0 ], [ 113.64717, -8.26905, 0.0 ], [ 113.64722, -8.26893, 0.0 ], [ 113.64745, -8.26846, 0.0 ], [ 113.64747, -8.26841, 0.0 ], [ 113.6477, -8.26791, 0.0 ], [ 113.64779, -8.26772, 0.0 ], [ 113.64854, -8.26802, 0.0 ], [ 113.64865, -8.26806, 0.0 ], [ 113.64885, -8.26815, 0.0 ], [ 113.64898, -8.26821, 0.0 ], [ 113.64909, -8.26827, 0.0 ], [ 113.6492, -8.26837, 0.0 ], [ 113.64928, -8.26845, 0.0 ], [ 113.6493, -8.26847, 0.0 ], [ 113.64942, -8.26862, 0.0 ], [ 113.64952, -8.26875, 0.0 ], [ 113.6497, -8.26899, 0.0 ], [ 113.64986, -8.2692, 0.0 ], [ 113.65018, -8.26962, 0.0 ], [ 113.65053, -8.27009, 0.0 ], [ 113.65068, -8.27028, 0.0 ], [ 113.65086, -8.27053, 0.0 ], [ 113.651, -8.2707, 0.0 ], [ 113.65106, -8.27079, 0.0 ], [ 113.65118, -8.27094, 0.0 ], [ 113.65144, -8.27129, 0.0 ], [ 113.65197, -8.27199, 0.0 ], [ 113.652, -8.27202, 0.0 ], [ 113.65202, -8.27205, 0.0 ], [ 113.65217, -8.27225, 0.0 ], [ 113.65236, -8.27251, 0.0 ], [ 113.65266, -8.2729, 0.0 ], [ 113.65307, -8.27346, 0.0 ], [ 113.65312, -8.27352, 0.0 ], [ 113.65373, -8.27438, 0.0 ], [ 113.65376, -8.27443, 0.0 ], [ 113.65384, -8.27454, 0.0 ], [ 113.65412, -8.27494, 0.0 ], [ 113.6542, -8.27507, 0.0 ], [ 113.65432, -8.27525, 0.0 ], [ 113.65432, -8.27526, 0.0 ], [ 113.65443, -8.27539, 0.0 ], [ 113.65446, -8.27543, 0.0 ], [ 113.65454, -8.27551, 0.0 ], [ 113.65456, -8.27552, 0.0 ], [ 113.65463, -8.27557, 0.0 ], [ 113.65473, -8.2756, 0.0 ], [ 113.65488, -8.27563, 0.0 ], [ 113.6551, -8.27567, 0.0 ], [ 113.65518, -8.27568, 0.0 ], [ 113.65542, -8.27571, 0.0 ], [ 113.65562, -8.27574, 0.0 ], [ 113.65582, -8.27577, 0.0 ], [ 113.65588, -8.2758, 0.0 ], [ 113.6559, -8.2758, 0.0 ], [ 113.65601, -8.27586, 0.0 ], [ 113.65614, -8.27595, 0.0 ], [ 113.65628, -8.27608, 0.0 ], [ 113.65642, -8.2762, 0.0 ], [ 113.6565, -8.27627, 0.0 ], [ 113.65656, -8.27633, 0.0 ], [ 113.65661, -8.27635, 0.0 ], [ 113.65666, -8.27636, 0.0 ], [ 113.65672, -8.27638, 0.0 ], [ 113.65679, -8.27638, 0.0 ], [ 113.65694, -8.27637, 0.0 ], [ 113.65718, -8.27635, 0.0 ], [ 113.65729, -8.27635, 0.0 ], [ 113.65736, -8.27635, 0.0 ], [ 113.65743, -8.27637, 0.0 ], [ 113.65771, -8.27647, 0.0 ], [ 113.65821, -8.27668, 0.0 ], [ 113.6583, -8.27671, 0.0 ], [ 113.65835, -8.27673, 0.0 ], [ 113.65849, -8.27679, 0.0 ], [ 113.65886, -8.27695, 0.0 ], [ 113.65907, -8.27704, 0.0 ], [ 113.65955, -8.27724, 0.0 ], [ 113.66006, -8.27746, 0.0 ], [ 113.6612, -8.27795, 0.0 ], [ 113.66146, -8.27806, 0.0 ], [ 113.66167, -8.27815, 0.0 ], [ 113.66178, -8.2782, 0.0 ], [ 113.66183, -8.27824, 0.0 ], [ 113.66187, -8.27828, 0.0 ], [ 113.66189, -8.27829, 0.0 ], [ 113.66193, -8.27835, 0.0 ], [ 113.662, -8.27848, 0.0 ], [ 113.66206, -8.27864, 0.0 ], [ 113.66218, -8.27894, 0.0 ], [ 113.66219, -8.27897, 0.0 ], [ 113.66245, -8.27961, 0.0 ], [ 113.66266, -8.28011, 0.0 ], [ 113.66298, -8.28091, 0.0 ], [ 113.66305, -8.28108, 0.0 ], [ 113.66361, -8.28244, 0.0 ], [ 113.66373, -8.28274, 0.0 ], [ 113.66454, -8.2847, 0.0 ], [ 113.66474, -8.28521, 0.0 ], [ 113.66524, -8.28643, 0.0 ], [ 113.66525, -8.28646, 0.0 ], [ 113.6654, -8.28682, 0.0 ], [ 113.66547, -8.287, 0.0 ], [ 113.66558, -8.28725, 0.0 ], [ 113.6656, -8.28729, 0.0 ], [ 113.66574, -8.28763, 0.0 ], [ 113.66587, -8.28797, 0.0 ], [ 113.66601, -8.28832, 0.0 ], [ 113.66624, -8.28889, 0.0 ], [ 113.66628, -8.28898, 0.0 ], [ 113.66634, -8.28914, 0.0 ], [ 113.66645, -8.28941, 0.0 ], [ 113.66654, -8.28964, 0.0 ], [ 113.66656, -8.28968, 0.0 ], [ 113.66657, -8.28972, 0.0 ], [ 113.66665, -8.28992, 0.0 ], [ 113.66678, -8.29024, 0.0 ], [ 113.66684, -8.29037, 0.0 ], [ 113.66704, -8.29086, 0.0 ], [ 113.66736, -8.29166, 0.0 ], [ 113.66758, -8.29221, 0.0 ], [ 113.6677, -8.29253, 0.0 ], [ 113.66796, -8.29317, 0.0 ], [ 113.66804, -8.29338, 0.0 ], [ 113.66808, -8.29345, 0.0 ], [ 113.66813, -8.29354, 0.0 ], [ 113.66822, -8.29369, 0.0 ], [ 113.66937, -8.29516, 0.0 ], [ 113.66938, -8.29518, 0.0 ], [ 113.66964, -8.29551, 0.0 ], [ 113.66998, -8.29596, 0.0 ], [ 113.67, -8.29599, 0.0 ], [ 113.67002, -8.29601, 0.0 ], [ 113.67018, -8.29621, 0.0 ], [ 113.67021, -8.29626, 0.0 ], [ 113.67024, -8.29629, 0.0 ], [ 113.67031, -8.29641, 0.0 ], [ 113.67042, -8.29656, 0.0 ], [ 113.67044, -8.29659, 0.0 ], [ 113.67048, -8.29664, 0.0 ], [ 113.67078, -8.29703, 0.0 ], [ 113.67089, -8.29718, 0.0 ], [ 113.67109, -8.29745, 0.0 ], [ 113.67143, -8.29789, 0.0 ], [ 113.67176, -8.29832, 0.0 ], [ 113.67195, -8.29856, 0.0 ], [ 113.67203, -8.29868, 0.0 ], [ 113.67207, -8.29873, 0.0 ], [ 113.67213, -8.29882, 0.0 ], [ 113.67215, -8.29884, 0.0 ], [ 113.6723, -8.29904, 0.0 ], [ 113.67234, -8.29908, 0.0 ], [ 113.67257, -8.29942, 0.0 ], [ 113.67275, -8.29967, 0.0 ], [ 113.67297, -8.29998, 0.0 ], [ 113.67305, -8.3001, 0.0 ], [ 113.67313, -8.3002, 0.0 ], [ 113.67341, -8.30056, 0.0 ], [ 113.6737, -8.30089, 0.0 ], [ 113.6738, -8.30101, 0.0 ], [ 113.67361, -8.30119, 0.0 ], [ 113.67339, -8.3014, 0.0 ], [ 113.67312, -8.30168, 0.0 ], [ 113.67298, -8.30182, 0.0 ], [ 113.6729, -8.3019, 0.0 ], [ 113.67282, -8.30198, 0.0 ], [ 113.67267, -8.30213, 0.0 ], [ 113.67243, -8.30234, 0.0 ], [ 113.67208, -8.30266, 0.0 ], [ 113.67199, -8.30274, 0.0 ], [ 113.6717, -8.303, 0.0 ], [ 113.67136, -8.3033, 0.0 ], [ 113.67104, -8.30361, 0.0 ], [ 113.67089, -8.30373, 0.0 ], [ 113.67073, -8.30388, 0.0 ], [ 113.67069, -8.30391, 0.0 ], [ 113.67051, -8.30407, 0.0 ], [ 113.67034, -8.30421, 0.0 ], [ 113.67023, -8.3043, 0.0 ], [ 113.67017, -8.30435, 0.0 ], [ 113.67011, -8.30441, 0.0 ], [ 113.67006, -8.30446, 0.0 ], [ 113.67001, -8.30452, 0.0 ], [ 113.66986, -8.30465, 0.0 ], [ 113.66977, -8.30474, 0.0 ], [ 113.66975, -8.30475, 0.0 ], [ 113.66961, -8.30487, 0.0 ], [ 113.66944, -8.30501, 0.0 ], [ 113.66923, -8.3052, 0.0 ], [ 113.66917, -8.30526, 0.0 ], [ 113.66904, -8.30539, 0.0 ], [ 113.66888, -8.30554, 0.0 ], [ 113.66876, -8.30564, 0.0 ], [ 113.66871, -8.30567, 0.0 ], [ 113.66863, -8.30575, 0.0 ], [ 113.66849, -8.30587, 0.0 ], [ 113.66846, -8.30589, 0.0 ], [ 113.66829, -8.30603, 0.0 ], [ 113.66807, -8.30621, 0.0 ], [ 113.66798, -8.30627, 0.0 ], [ 113.66793, -8.30633, 0.0 ], [ 113.66789, -8.30639, 0.0 ], [ 113.66786, -8.30644, 0.0 ], [ 113.66783, -8.30649, 0.0 ], [ 113.6678, -8.3066, 0.0 ], [ 113.66776, -8.30679, 0.0 ], [ 113.66769, -8.30712, 0.0 ], [ 113.66764, -8.30738, 0.0 ], [ 113.66754, -8.30801, 0.0 ], [ 113.66741, -8.30873, 0.0 ], [ 113.66724, -8.30966, 0.0 ], [ 113.66702, -8.31079, 0.0 ], [ 113.66685, -8.31177, 0.0 ], [ 113.66682, -8.3119, 0.0 ], [ 113.66676, -8.31225, 0.0 ], [ 113.66669, -8.31266, 0.0 ], [ 113.6666, -8.31314, 0.0 ], [ 113.66657, -8.31332, 0.0 ], [ 113.66654, -8.31349, 0.0 ], [ 113.66651, -8.31366, 0.0 ], [ 113.66644, -8.31408, 0.0 ], [ 113.66636, -8.31451, 0.0 ], [ 113.66636, -8.31456, 0.0 ], [ 113.66632, -8.31474, 0.0 ], [ 113.6662, -8.31544, 0.0 ], [ 113.66607, -8.31615, 0.0 ], [ 113.66604, -8.31633, 0.0 ], [ 113.66599, -8.31654, 0.0 ], [ 113.66588, -8.31684, 0.0 ], [ 113.66581, -8.31701, 0.0 ], [ 113.66575, -8.31716, 0.0 ], [ 113.66561, -8.31745, 0.0 ], [ 113.66522, -8.31809, 0.0 ], [ 113.6648, -8.31876, 0.0 ], [ 113.66469, -8.31894, 0.0 ], [ 113.66458, -8.3191, 0.0 ], [ 113.66446, -8.31927, 0.0 ], [ 113.66437, -8.3194, 0.0 ], [ 113.66427, -8.31961, 0.0 ], [ 113.66425, -8.31964, 0.0 ], [ 113.66423, -8.31968, 0.0 ], [ 113.6642, -8.31974, 0.0 ], [ 113.66416, -8.3198, 0.0 ], [ 113.66404, -8.31998, 0.0 ], [ 113.66377, -8.32041, 0.0 ], [ 113.66366, -8.32057, 0.0 ], [ 113.66356, -8.32072, 0.0 ], [ 113.66344, -8.32087, 0.0 ], [ 113.66333, -8.32101, 0.0 ], [ 113.66318, -8.32118, 0.0 ], [ 113.66311, -8.32127, 0.0 ], [ 113.66305, -8.32137, 0.0 ], [ 113.66302, -8.32143, 0.0 ], [ 113.663, -8.32152, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6630025, -8.3215175, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Pasar Asem Karanganyar Ambulu, Jalan Kopral Soetomo, Sentong, Karanganyar, Kabupaten Jember, Jawa Timur", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6141284, -8.3128226, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PJJX+W3P, Bringan Lawang, Wonojati, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6477861, -8.2677205, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6630025, -8.3215175, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/4.geojson b/smart_cycling_api/import_queue/done/4.geojson new file mode 100644 index 0000000..be52cc8 --- /dev/null +++ b/smart_cycling_api/import_queue/done/4.geojson @@ -0,0 +1,14 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari UD. BUMBU MASAK RIVA JATIMULYO, Jalan Pasar Lerok, Bringin Sari, Jatimulyo, Kabupaten Jember, Jawa Timur ke MMF9+QJG, Jl. Ps. Lerok, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari UD. BUMBU MASAK RIVA JATIMULYO, Jalan Pasar Lerok, Bringin Sari, Jatimulyo, Kabupaten Jember, Jawa Timur ke MMF9+QJG, Jl. Ps. Lerok, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.66945, -8.32553, 0.0 ], [ 113.66944, -8.32547, 0.0 ], [ 113.66943, -8.32542, 0.0 ], [ 113.6694, -8.32537, 0.0 ], [ 113.66938, -8.32533, 0.0 ], [ 113.66934, -8.32528, 0.0 ], [ 113.6693, -8.32523, 0.0 ], [ 113.66925, -8.32519, 0.0 ], [ 113.66917, -8.32514, 0.0 ], [ 113.66907, -8.32509, 0.0 ], [ 113.66896, -8.32503, 0.0 ], [ 113.66883, -8.32495, 0.0 ], [ 113.66876, -8.32491, 0.0 ], [ 113.6683, -8.32467, 0.0 ], [ 113.66787, -8.32441, 0.0 ], [ 113.6678, -8.32437, 0.0 ], [ 113.66699, -8.32388, 0.0 ], [ 113.66672, -8.3237, 0.0 ], [ 113.666, -8.32326, 0.0 ], [ 113.66569, -8.32308, 0.0 ], [ 113.66491, -8.32262, 0.0 ], [ 113.66476, -8.32252, 0.0 ], [ 113.66444, -8.32233, 0.0 ], [ 113.66373, -8.32192, 0.0 ], [ 113.6635, -8.3218, 0.0 ], [ 113.66338, -8.32174, 0.0 ], [ 113.66324, -8.32168, 0.0 ], [ 113.66315, -8.32165, 0.0 ], [ 113.6631, -8.32162, 0.0 ], [ 113.66307, -8.3216, 0.0 ], [ 113.66305, -8.32157, 0.0 ], [ 113.663, -8.32152, 0.0 ], [ 113.66302, -8.32143, 0.0 ], [ 113.66305, -8.32137, 0.0 ], [ 113.66311, -8.32127, 0.0 ], [ 113.66318, -8.32118, 0.0 ], [ 113.66333, -8.32101, 0.0 ], [ 113.66344, -8.32087, 0.0 ], [ 113.66356, -8.32072, 0.0 ], [ 113.66366, -8.32057, 0.0 ], [ 113.66377, -8.32041, 0.0 ], [ 113.66404, -8.31998, 0.0 ], [ 113.66416, -8.3198, 0.0 ], [ 113.6642, -8.31974, 0.0 ], [ 113.66423, -8.31968, 0.0 ], [ 113.66425, -8.31964, 0.0 ], [ 113.66427, -8.31961, 0.0 ], [ 113.66437, -8.3194, 0.0 ], [ 113.66446, -8.31927, 0.0 ], [ 113.66458, -8.3191, 0.0 ], [ 113.66469, -8.31894, 0.0 ], [ 113.6648, -8.31876, 0.0 ], [ 113.66522, -8.31809, 0.0 ], [ 113.66561, -8.31745, 0.0 ], [ 113.66575, -8.31716, 0.0 ], [ 113.66581, -8.31701, 0.0 ], [ 113.66588, -8.31684, 0.0 ], [ 113.66599, -8.31654, 0.0 ], [ 113.66604, -8.31633, 0.0 ], [ 113.66607, -8.31615, 0.0 ], [ 113.6662, -8.31544, 0.0 ], [ 113.66632, -8.31474, 0.0 ], [ 113.66636, -8.31456, 0.0 ], [ 113.66636, -8.31451, 0.0 ], [ 113.66644, -8.31408, 0.0 ], [ 113.66651, -8.31366, 0.0 ], [ 113.66654, -8.31349, 0.0 ], [ 113.66657, -8.31332, 0.0 ], [ 113.6666, -8.31314, 0.0 ], [ 113.66669, -8.31266, 0.0 ], [ 113.66676, -8.31225, 0.0 ], [ 113.66682, -8.3119, 0.0 ], [ 113.66685, -8.31177, 0.0 ], [ 113.66702, -8.31079, 0.0 ], [ 113.66724, -8.30966, 0.0 ], [ 113.66741, -8.30873, 0.0 ], [ 113.66754, -8.30801, 0.0 ], [ 113.66764, -8.30738, 0.0 ], [ 113.66769, -8.30712, 0.0 ], [ 113.66776, -8.30679, 0.0 ], [ 113.6678, -8.3066, 0.0 ], [ 113.66783, -8.30649, 0.0 ], [ 113.66786, -8.30644, 0.0 ], [ 113.66789, -8.30639, 0.0 ], [ 113.66793, -8.30633, 0.0 ], [ 113.66798, -8.30627, 0.0 ], [ 113.66807, -8.30621, 0.0 ], [ 113.66829, -8.30603, 0.0 ], [ 113.66846, -8.30589, 0.0 ], [ 113.66849, -8.30587, 0.0 ], [ 113.66863, -8.30575, 0.0 ], [ 113.66871, -8.30567, 0.0 ], [ 113.66876, -8.30564, 0.0 ], [ 113.66888, -8.30554, 0.0 ], [ 113.66904, -8.30539, 0.0 ], [ 113.66917, -8.30526, 0.0 ], [ 113.66923, -8.3052, 0.0 ], [ 113.66944, -8.30501, 0.0 ], [ 113.66961, -8.30487, 0.0 ], [ 113.66975, -8.30475, 0.0 ], [ 113.66977, -8.30474, 0.0 ], [ 113.66986, -8.30465, 0.0 ], [ 113.67001, -8.30452, 0.0 ], [ 113.67006, -8.30446, 0.0 ], [ 113.67011, -8.30441, 0.0 ], [ 113.67017, -8.30435, 0.0 ], [ 113.67023, -8.3043, 0.0 ], [ 113.67034, -8.30421, 0.0 ], [ 113.67051, -8.30407, 0.0 ], [ 113.67069, -8.30391, 0.0 ], [ 113.67073, -8.30388, 0.0 ], [ 113.67089, -8.30373, 0.0 ], [ 113.67104, -8.30361, 0.0 ], [ 113.67136, -8.3033, 0.0 ], [ 113.6717, -8.303, 0.0 ], [ 113.67199, -8.30274, 0.0 ], [ 113.67208, -8.30266, 0.0 ], [ 113.67243, -8.30234, 0.0 ], [ 113.67267, -8.30213, 0.0 ], [ 113.67282, -8.30198, 0.0 ], [ 113.6729, -8.3019, 0.0 ], [ 113.67298, -8.30182, 0.0 ], [ 113.67312, -8.30168, 0.0 ], [ 113.67339, -8.3014, 0.0 ], [ 113.67361, -8.30119, 0.0 ], [ 113.6738, -8.30101, 0.0 ], [ 113.67399, -8.30124, 0.0 ], [ 113.67416, -8.30148, 0.0 ], [ 113.67429, -8.30163, 0.0 ], [ 113.67438, -8.30173, 0.0 ], [ 113.67453, -8.30185, 0.0 ], [ 113.6746, -8.30189, 0.0 ], [ 113.67463, -8.3019, 0.0 ], [ 113.67469, -8.30192, 0.0 ], [ 113.67478, -8.30192, 0.0 ], [ 113.67486, -8.30191, 0.0 ], [ 113.67493, -8.30189, 0.0 ], [ 113.67504, -8.30183, 0.0 ], [ 113.67533, -8.30164, 0.0 ], [ 113.67582, -8.3013, 0.0 ], [ 113.67607, -8.30115, 0.0 ], [ 113.6762, -8.30107, 0.0 ], [ 113.67675, -8.30073, 0.0 ], [ 113.67686, -8.30066, 0.0 ], [ 113.67742, -8.30032, 0.0 ], [ 113.67764, -8.30019, 0.0 ], [ 113.67797, -8.29999, 0.0 ], [ 113.67806, -8.29992, 0.0 ], [ 113.67811, -8.29988, 0.0 ], [ 113.6783, -8.29975, 0.0 ], [ 113.67852, -8.29964, 0.0 ], [ 113.67861, -8.2996, 0.0 ], [ 113.67874, -8.29952, 0.0 ], [ 113.67883, -8.29946, 0.0 ], [ 113.67885, -8.29946, 0.0 ], [ 113.67894, -8.29941, 0.0 ], [ 113.67902, -8.2994, 0.0 ], [ 113.67908, -8.29939, 0.0 ], [ 113.67912, -8.29939, 0.0 ], [ 113.67916, -8.29939, 0.0 ], [ 113.67917, -8.29939, 0.0 ], [ 113.6793, -8.29942, 0.0 ], [ 113.67948, -8.29944, 0.0 ], [ 113.67963, -8.29946, 0.0 ], [ 113.67988, -8.29949, 0.0 ], [ 113.68086, -8.29962, 0.0 ], [ 113.68159, -8.29969, 0.0 ], [ 113.68193, -8.29972, 0.0 ], [ 113.68195, -8.29972, 0.0 ], [ 113.68197, -8.29972, 0.0 ], [ 113.682, -8.29971, 0.0 ], [ 113.68203, -8.2997, 0.0 ], [ 113.68206, -8.29968, 0.0 ], [ 113.68211, -8.29963, 0.0 ], [ 113.68261, -8.29917, 0.0 ], [ 113.68264, -8.29915, 0.0 ], [ 113.68267, -8.29913, 0.0 ], [ 113.68273, -8.29911, 0.0 ], [ 113.68278, -8.29909, 0.0 ], [ 113.68296, -8.29904, 0.0 ], [ 113.68302, -8.29906, 0.0 ], [ 113.68315, -8.29911, 0.0 ], [ 113.68322, -8.29914, 0.0 ], [ 113.68326, -8.29915, 0.0 ], [ 113.68328, -8.29916, 0.0 ], [ 113.68335, -8.29918, 0.0 ], [ 113.6834, -8.29921, 0.0 ], [ 113.68344, -8.29924, 0.0 ], [ 113.68347, -8.29927, 0.0 ], [ 113.68351, -8.29934, 0.0 ], [ 113.68353, -8.29939, 0.0 ], [ 113.68353, -8.2994, 0.0 ], [ 113.68354, -8.29947, 0.0 ], [ 113.68354, -8.29957, 0.0 ], [ 113.68354, -8.29963, 0.0 ], [ 113.68354, -8.29978, 0.0 ], [ 113.68356, -8.29985, 0.0 ], [ 113.68359, -8.2999, 0.0 ], [ 113.68361, -8.29993, 0.0 ], [ 113.68368, -8.29997, 0.0 ], [ 113.68374, -8.29999, 0.0 ], [ 113.68382, -8.30001, 0.0 ], [ 113.68413, -8.30006, 0.0 ], [ 113.68427, -8.30008, 0.0 ], [ 113.68436, -8.30009, 0.0 ], [ 113.68471, -8.30014, 0.0 ], [ 113.68496, -8.30018, 0.0 ], [ 113.68524, -8.30021, 0.0 ], [ 113.68526, -8.30021, 0.0 ], [ 113.68549, -8.30023, 0.0 ], [ 113.68562, -8.30024, 0.0 ], [ 113.68593, -8.3003, 0.0 ], [ 113.68633, -8.30035, 0.0 ], [ 113.68654, -8.30038, 0.0 ], [ 113.68689, -8.30043, 0.0 ], [ 113.68699, -8.30044, 0.0 ], [ 113.68709, -8.30045, 0.0 ], [ 113.68725, -8.30048, 0.0 ], [ 113.68733, -8.30049, 0.0 ], [ 113.68746, -8.3005, 0.0 ], [ 113.6876, -8.30052, 0.0 ], [ 113.6877, -8.30054, 0.0 ], [ 113.6878, -8.30055, 0.0 ], [ 113.68809, -8.30059, 0.0 ], [ 113.68866, -8.30067, 0.0 ], [ 113.68895, -8.30071, 0.0 ], [ 113.68936, -8.30076, 0.0 ], [ 113.68966, -8.3008, 0.0 ], [ 113.68976, -8.30011, 0.0 ], [ 113.68991, -8.29937, 0.0 ], [ 113.68992, -8.29935, 0.0 ], [ 113.69004, -8.2988, 0.0 ], [ 113.69006, -8.29871, 0.0 ], [ 113.6901, -8.29858, 0.0 ], [ 113.69018, -8.29825, 0.0 ], [ 113.69025, -8.29798, 0.0 ], [ 113.6903, -8.29776, 0.0 ], [ 113.69033, -8.2976, 0.0 ], [ 113.6904, -8.29732, 0.0 ], [ 113.69044, -8.29712, 0.0 ], [ 113.69052, -8.29681, 0.0 ], [ 113.69067, -8.29612, 0.0 ], [ 113.69078, -8.29568, 0.0 ], [ 113.69082, -8.29552, 0.0 ], [ 113.69094, -8.29515, 0.0 ], [ 113.69115, -8.29454, 0.0 ], [ 113.69123, -8.29431, 0.0 ], [ 113.69135, -8.29397, 0.0 ], [ 113.69156, -8.29347, 0.0 ], [ 113.69163, -8.2933, 0.0 ], [ 113.69164, -8.29328, 0.0 ], [ 113.69181, -8.29279, 0.0 ], [ 113.69202, -8.29217, 0.0 ], [ 113.6922, -8.29148, 0.0 ], [ 113.69226, -8.29122, 0.0 ], [ 113.69228, -8.29114, 0.0 ], [ 113.69231, -8.291, 0.0 ], [ 113.69233, -8.29089, 0.0 ], [ 113.69236, -8.29069, 0.0 ], [ 113.69237, -8.29058, 0.0 ], [ 113.69225, -8.2906, 0.0 ], [ 113.69204, -8.29061, 0.0 ], [ 113.69171, -8.29063, 0.0 ], [ 113.69123, -8.29065, 0.0 ], [ 113.69096, -8.29068, 0.0 ], [ 113.69072, -8.29072, 0.0 ], [ 113.69066, -8.29073, 0.0 ], [ 113.69036, -8.29079, 0.0 ], [ 113.69012, -8.29084, 0.0 ], [ 113.68983, -8.29094, 0.0 ], [ 113.68955, -8.2911, 0.0 ], [ 113.68937, -8.29123, 0.0 ], [ 113.68917, -8.29141, 0.0 ], [ 113.68896, -8.29158, 0.0 ], [ 113.68882, -8.29167, 0.0 ], [ 113.68871, -8.29174, 0.0 ], [ 113.68862, -8.29177, 0.0 ], [ 113.68852, -8.29178, 0.0 ], [ 113.68851, -8.29178, 0.0 ], [ 113.68844, -8.29179, 0.0 ], [ 113.68826, -8.29179, 0.0 ], [ 113.68806, -8.2918, 0.0 ], [ 113.68792, -8.29182, 0.0 ], [ 113.68777, -8.29184, 0.0 ], [ 113.68764, -8.29187, 0.0 ], [ 113.68752, -8.29189, 0.0 ], [ 113.68745, -8.29191, 0.0 ], [ 113.68709, -8.29199, 0.0 ], [ 113.68684, -8.29206, 0.0 ], [ 113.68644, -8.29221, 0.0 ], [ 113.68626, -8.29228, 0.0 ], [ 113.68622, -8.29231, 0.0 ], [ 113.6862, -8.29233, 0.0 ], [ 113.68617, -8.29237, 0.0 ], [ 113.68613, -8.29244, 0.0 ], [ 113.68609, -8.29249, 0.0 ], [ 113.68596, -8.29274, 0.0 ], [ 113.68594, -8.29278, 0.0 ], [ 113.6859, -8.29281, 0.0 ], [ 113.68581, -8.29288, 0.0 ], [ 113.68572, -8.29292, 0.0 ], [ 113.68543, -8.293, 0.0 ], [ 113.68534, -8.29302, 0.0 ], [ 113.68525, -8.29305, 0.0 ], [ 113.68508, -8.2931, 0.0 ], [ 113.685, -8.29313, 0.0 ], [ 113.68459, -8.29322, 0.0 ], [ 113.68455, -8.29323, 0.0 ], [ 113.68437, -8.29327, 0.0 ], [ 113.68413, -8.29332, 0.0 ], [ 113.68372, -8.29339, 0.0 ], [ 113.68337, -8.29348, 0.0 ], [ 113.68313, -8.29354, 0.0 ], [ 113.68278, -8.29363, 0.0 ], [ 113.68277, -8.2943, 0.0 ], [ 113.68277, -8.29435, 0.0 ], [ 113.68273, -8.29468, 0.0 ], [ 113.68272, -8.29471, 0.0 ], [ 113.68271, -8.29475, 0.0 ], [ 113.68269, -8.29485, 0.0 ], [ 113.68267, -8.29494, 0.0 ], [ 113.68264, -8.29508, 0.0 ], [ 113.68261, -8.29515, 0.0 ], [ 113.6826, -8.2952, 0.0 ], [ 113.68255, -8.29536, 0.0 ], [ 113.68249, -8.29562, 0.0 ], [ 113.68244, -8.29601, 0.0 ], [ 113.68239, -8.29625, 0.0 ], [ 113.68237, -8.29635, 0.0 ], [ 113.6823, -8.29663, 0.0 ], [ 113.68229, -8.29669, 0.0 ], [ 113.68217, -8.29714, 0.0 ], [ 113.68214, -8.29725, 0.0 ], [ 113.68212, -8.29733, 0.0 ], [ 113.6821, -8.29744, 0.0 ], [ 113.68194, -8.29813, 0.0 ], [ 113.68188, -8.2984, 0.0 ], [ 113.68177, -8.29884, 0.0 ], [ 113.68176, -8.29888, 0.0 ], [ 113.68171, -8.29913, 0.0 ], [ 113.68159, -8.29969, 0.0 ], [ 113.68086, -8.29962, 0.0 ], [ 113.67988, -8.29949, 0.0 ], [ 113.67963, -8.29946, 0.0 ], [ 113.67948, -8.29944, 0.0 ], [ 113.6793, -8.29942, 0.0 ], [ 113.67917, -8.29939, 0.0 ], [ 113.67916, -8.29939, 0.0 ], [ 113.67912, -8.29939, 0.0 ], [ 113.67908, -8.29939, 0.0 ], [ 113.67902, -8.2994, 0.0 ], [ 113.67894, -8.29941, 0.0 ], [ 113.67885, -8.29946, 0.0 ], [ 113.67883, -8.29946, 0.0 ], [ 113.67874, -8.29952, 0.0 ], [ 113.67861, -8.2996, 0.0 ], [ 113.67852, -8.29964, 0.0 ], [ 113.6783, -8.29975, 0.0 ], [ 113.67811, -8.29988, 0.0 ], [ 113.67806, -8.29992, 0.0 ], [ 113.67797, -8.29999, 0.0 ], [ 113.67764, -8.30019, 0.0 ], [ 113.67742, -8.30032, 0.0 ], [ 113.67686, -8.30066, 0.0 ], [ 113.67675, -8.30073, 0.0 ], [ 113.6762, -8.30107, 0.0 ], [ 113.67607, -8.30115, 0.0 ], [ 113.67582, -8.3013, 0.0 ], [ 113.67533, -8.30164, 0.0 ], [ 113.67504, -8.30183, 0.0 ], [ 113.67493, -8.30189, 0.0 ], [ 113.67486, -8.30191, 0.0 ], [ 113.67478, -8.30192, 0.0 ], [ 113.67469, -8.30192, 0.0 ], [ 113.67463, -8.3019, 0.0 ], [ 113.6746, -8.30189, 0.0 ], [ 113.67453, -8.30185, 0.0 ], [ 113.67438, -8.30173, 0.0 ], [ 113.67429, -8.30163, 0.0 ], [ 113.67416, -8.30148, 0.0 ], [ 113.67399, -8.30124, 0.0 ], [ 113.6738, -8.30101, 0.0 ], [ 113.67361, -8.30119, 0.0 ], [ 113.67339, -8.3014, 0.0 ], [ 113.67312, -8.30168, 0.0 ], [ 113.67298, -8.30182, 0.0 ], [ 113.6729, -8.3019, 0.0 ], [ 113.67282, -8.30198, 0.0 ], [ 113.67267, -8.30213, 0.0 ], [ 113.67243, -8.30234, 0.0 ], [ 113.67208, -8.30266, 0.0 ], [ 113.67199, -8.30274, 0.0 ], [ 113.6717, -8.303, 0.0 ], [ 113.67136, -8.3033, 0.0 ], [ 113.67104, -8.30361, 0.0 ], [ 113.67089, -8.30373, 0.0 ], [ 113.67073, -8.30388, 0.0 ], [ 113.67069, -8.30391, 0.0 ], [ 113.67051, -8.30407, 0.0 ], [ 113.67034, -8.30421, 0.0 ], [ 113.67023, -8.3043, 0.0 ], [ 113.67017, -8.30435, 0.0 ], [ 113.67011, -8.30441, 0.0 ], [ 113.67006, -8.30446, 0.0 ], [ 113.67001, -8.30452, 0.0 ], [ 113.66986, -8.30465, 0.0 ], [ 113.66977, -8.30474, 0.0 ], [ 113.66975, -8.30475, 0.0 ], [ 113.66961, -8.30487, 0.0 ], [ 113.66944, -8.30501, 0.0 ], [ 113.66923, -8.3052, 0.0 ], [ 113.66917, -8.30526, 0.0 ], [ 113.66904, -8.30539, 0.0 ], [ 113.66888, -8.30554, 0.0 ], [ 113.66876, -8.30564, 0.0 ], [ 113.66871, -8.30567, 0.0 ], [ 113.66863, -8.30575, 0.0 ], [ 113.66849, -8.30587, 0.0 ], [ 113.66846, -8.30589, 0.0 ], [ 113.66829, -8.30603, 0.0 ], [ 113.66807, -8.30621, 0.0 ], [ 113.66798, -8.30627, 0.0 ], [ 113.66793, -8.30633, 0.0 ], [ 113.66789, -8.30639, 0.0 ], [ 113.66786, -8.30644, 0.0 ], [ 113.66783, -8.30649, 0.0 ], [ 113.6678, -8.3066, 0.0 ], [ 113.66776, -8.30679, 0.0 ], [ 113.66769, -8.30712, 0.0 ], [ 113.66764, -8.30738, 0.0 ], [ 113.66754, -8.30801, 0.0 ], [ 113.6683, -8.3081, 0.0 ], [ 113.66861, -8.30813, 0.0 ], [ 113.66875, -8.30863, 0.0 ], [ 113.66882, -8.30885, 0.0 ], [ 113.66898, -8.30943, 0.0 ], [ 113.669, -8.3095, 0.0 ], [ 113.66906, -8.30972, 0.0 ], [ 113.66914, -8.31, 0.0 ], [ 113.66918, -8.31016, 0.0 ], [ 113.66926, -8.31043, 0.0 ], [ 113.66928, -8.3105, 0.0 ], [ 113.66935, -8.31076, 0.0 ], [ 113.66936, -8.31081, 0.0 ], [ 113.66938, -8.31089, 0.0 ], [ 113.66939, -8.31101, 0.0 ], [ 113.66939, -8.31102, 0.0 ], [ 113.66939, -8.31105, 0.0 ], [ 113.66941, -8.31121, 0.0 ], [ 113.66942, -8.31135, 0.0 ], [ 113.66943, -8.31146, 0.0 ], [ 113.66947, -8.31191, 0.0 ], [ 113.66949, -8.31208, 0.0 ], [ 113.6695, -8.31228, 0.0 ], [ 113.66952, -8.31242, 0.0 ], [ 113.66954, -8.31302, 0.0 ], [ 113.66952, -8.31357, 0.0 ], [ 113.66954, -8.31388, 0.0 ], [ 113.66952, -8.31412, 0.0 ], [ 113.66949, -8.31444, 0.0 ], [ 113.66945, -8.31481, 0.0 ], [ 113.66943, -8.31492, 0.0 ], [ 113.66941, -8.31511, 0.0 ], [ 113.66932, -8.31544, 0.0 ], [ 113.66927, -8.31564, 0.0 ], [ 113.66911, -8.31614, 0.0 ], [ 113.66876, -8.31708, 0.0 ], [ 113.66864, -8.31731, 0.0 ], [ 113.66831, -8.31792, 0.0 ], [ 113.66822, -8.31807, 0.0 ], [ 113.66818, -8.31811, 0.0 ], [ 113.6681, -8.31823, 0.0 ], [ 113.66802, -8.31841, 0.0 ], [ 113.66795, -8.31855, 0.0 ], [ 113.66791, -8.31863, 0.0 ], [ 113.66784, -8.31884, 0.0 ], [ 113.66772, -8.31915, 0.0 ], [ 113.6676, -8.31952, 0.0 ], [ 113.66756, -8.31962, 0.0 ], [ 113.66753, -8.31968, 0.0 ], [ 113.66743, -8.31992, 0.0 ], [ 113.66724, -8.32035, 0.0 ], [ 113.66723, -8.32036, 0.0 ], [ 113.66721, -8.32037, 0.0 ], [ 113.66719, -8.32039, 0.0 ], [ 113.66701, -8.32066, 0.0 ], [ 113.66692, -8.32078, 0.0 ], [ 113.66678, -8.32099, 0.0 ], [ 113.66675, -8.32104, 0.0 ], [ 113.66674, -8.32107, 0.0 ], [ 113.66673, -8.32108, 0.0 ], [ 113.66673, -8.3211, 0.0 ], [ 113.66673, -8.32111, 0.0 ], [ 113.66673, -8.32112, 0.0 ], [ 113.66674, -8.32113, 0.0 ], [ 113.66674, -8.32114, 0.0 ], [ 113.66675, -8.32115, 0.0 ], [ 113.66676, -8.32116, 0.0 ], [ 113.66677, -8.32117, 0.0 ], [ 113.66679, -8.32117, 0.0 ], [ 113.66682, -8.32118, 0.0 ], [ 113.66685, -8.32118, 0.0 ], [ 113.66697, -8.32121, 0.0 ], [ 113.66706, -8.32124, 0.0 ], [ 113.66714, -8.32127, 0.0 ], [ 113.66721, -8.32129, 0.0 ], [ 113.66761, -8.32144, 0.0 ], [ 113.66807, -8.32164, 0.0 ], [ 113.66806, -8.32167, 0.0 ], [ 113.66797, -8.32182, 0.0 ], [ 113.66785, -8.32204, 0.0 ], [ 113.6678, -8.32214, 0.0 ], [ 113.66767, -8.32241, 0.0 ], [ 113.66766, -8.32243, 0.0 ], [ 113.6675, -8.32278, 0.0 ], [ 113.66736, -8.32308, 0.0 ], [ 113.66729, -8.32323, 0.0 ], [ 113.66711, -8.32361, 0.0 ], [ 113.66699, -8.32388, 0.0 ], [ 113.6678, -8.32437, 0.0 ], [ 113.66787, -8.32441, 0.0 ], [ 113.6683, -8.32467, 0.0 ], [ 113.66876, -8.32491, 0.0 ], [ 113.66883, -8.32495, 0.0 ], [ 113.66896, -8.32503, 0.0 ], [ 113.66907, -8.32509, 0.0 ], [ 113.66917, -8.32514, 0.0 ], [ 113.66925, -8.32519, 0.0 ], [ 113.6693, -8.32523, 0.0 ], [ 113.66934, -8.32528, 0.0 ], [ 113.66935, -8.32528, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "UD. BUMBU MASAK RIVA JATIMULYO, Jalan Pasar Lerok, Bringin Sari, Jatimulyo, Kabupaten Jember, Jawa Timur", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6694454, -8.3255303, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Galaxy temporan, Galaksi, Tempurejo, Kabupaten Jember, Jawa Timur", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6922631, -8.2912173, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PM2J+4JV, Jl. KH. Abdurrahman, Tempurejo, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6815904, -8.299688, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MMR9+V2C, Darungan, Sruni, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6675357, -8.3080064, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MMH8+GQ4, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6667372, -8.3211314, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MMF9+QJG, Jl. Ps. Lerok, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6693469, -8.3252849, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/5.geojson b/smart_cycling_api/import_queue/done/5.geojson new file mode 100644 index 0000000..75c2f94 --- /dev/null +++ b/smart_cycling_api/import_queue/done/5.geojson @@ -0,0 +1,12 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari MMG8+CPQ, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke MMG8+CPQ, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari MMG8+CPQ, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke MMG8+CPQ, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.66699, -8.32388, 0.0 ], [ 113.66691, -8.32401, 0.0 ], [ 113.66676, -8.32439, 0.0 ], [ 113.66656, -8.32489, 0.0 ], [ 113.66646, -8.32511, 0.0 ], [ 113.66621, -8.32573, 0.0 ], [ 113.66615, -8.32588, 0.0 ], [ 113.66587, -8.32655, 0.0 ], [ 113.66542, -8.3277, 0.0 ], [ 113.66496, -8.32887, 0.0 ], [ 113.66489, -8.32904, 0.0 ], [ 113.66476, -8.32938, 0.0 ], [ 113.66463, -8.32971, 0.0 ], [ 113.66423, -8.33072, 0.0 ], [ 113.66397, -8.33139, 0.0 ], [ 113.66351, -8.33255, 0.0 ], [ 113.66343, -8.33276, 0.0 ], [ 113.66337, -8.33289, 0.0 ], [ 113.66138, -8.33224, 0.0 ], [ 113.66066, -8.33201, 0.0 ], [ 113.66058, -8.33199, 0.0 ], [ 113.66047, -8.33198, 0.0 ], [ 113.66039, -8.33198, 0.0 ], [ 113.66032, -8.33199, 0.0 ], [ 113.66026, -8.33201, 0.0 ], [ 113.66017, -8.33206, 0.0 ], [ 113.66011, -8.33209, 0.0 ], [ 113.66007, -8.33211, 0.0 ], [ 113.66005, -8.33212, 0.0 ], [ 113.66002, -8.33213, 0.0 ], [ 113.65995, -8.33214, 0.0 ], [ 113.65983, -8.33217, 0.0 ], [ 113.65979, -8.33218, 0.0 ], [ 113.65969, -8.3322, 0.0 ], [ 113.65957, -8.33223, 0.0 ], [ 113.65948, -8.33226, 0.0 ], [ 113.65934, -8.33231, 0.0 ], [ 113.65928, -8.33232, 0.0 ], [ 113.65921, -8.33233, 0.0 ], [ 113.65906, -8.33235, 0.0 ], [ 113.6589, -8.33236, 0.0 ], [ 113.65877, -8.33238, 0.0 ], [ 113.65867, -8.33239, 0.0 ], [ 113.65859, -8.33241, 0.0 ], [ 113.65825, -8.33246, 0.0 ], [ 113.65805, -8.33249, 0.0 ], [ 113.65773, -8.33252, 0.0 ], [ 113.65759, -8.33253, 0.0 ], [ 113.65743, -8.33254, 0.0 ], [ 113.65717, -8.33254, 0.0 ], [ 113.65705, -8.33254, 0.0 ], [ 113.65636, -8.33254, 0.0 ], [ 113.65632, -8.33254, 0.0 ], [ 113.6561, -8.33254, 0.0 ], [ 113.65569, -8.33252, 0.0 ], [ 113.6556, -8.33252, 0.0 ], [ 113.65499, -8.33249, 0.0 ], [ 113.65461, -8.33245, 0.0 ], [ 113.65422, -8.33241, 0.0 ], [ 113.65403, -8.33238, 0.0 ], [ 113.65367, -8.33232, 0.0 ], [ 113.65365, -8.33232, 0.0 ], [ 113.65314, -8.33222, 0.0 ], [ 113.65296, -8.33218, 0.0 ], [ 113.65287, -8.33217, 0.0 ], [ 113.65245, -8.3321, 0.0 ], [ 113.65206, -8.33203, 0.0 ], [ 113.65169, -8.33196, 0.0 ], [ 113.65137, -8.33192, 0.0 ], [ 113.65123, -8.33191, 0.0 ], [ 113.65118, -8.3319, 0.0 ], [ 113.65101, -8.3319, 0.0 ], [ 113.65051, -8.33191, 0.0 ], [ 113.6503, -8.33191, 0.0 ], [ 113.65003, -8.33191, 0.0 ], [ 113.64967, -8.33191, 0.0 ], [ 113.64932, -8.33189, 0.0 ], [ 113.64907, -8.33187, 0.0 ], [ 113.64879, -8.33185, 0.0 ], [ 113.64825, -8.33183, 0.0 ], [ 113.64818, -8.33183, 0.0 ], [ 113.64804, -8.33182, 0.0 ], [ 113.64785, -8.3318, 0.0 ], [ 113.64764, -8.33178, 0.0 ], [ 113.64746, -8.33176, 0.0 ], [ 113.64692, -8.33166, 0.0 ], [ 113.64688, -8.33166, 0.0 ], [ 113.64666, -8.33163, 0.0 ], [ 113.64638, -8.33162, 0.0 ], [ 113.64629, -8.33161, 0.0 ], [ 113.6462, -8.33161, 0.0 ], [ 113.64601, -8.33162, 0.0 ], [ 113.64583, -8.33162, 0.0 ], [ 113.64569, -8.33162, 0.0 ], [ 113.64506, -8.33157, 0.0 ], [ 113.64502, -8.33157, 0.0 ], [ 113.64498, -8.33157, 0.0 ], [ 113.64496, -8.33158, 0.0 ], [ 113.64494, -8.33159, 0.0 ], [ 113.64493, -8.3316, 0.0 ], [ 113.64492, -8.33162, 0.0 ], [ 113.64491, -8.33164, 0.0 ], [ 113.64491, -8.33167, 0.0 ], [ 113.6449, -8.33174, 0.0 ], [ 113.64492, -8.33231, 0.0 ], [ 113.64493, -8.33259, 0.0 ], [ 113.64495, -8.33303, 0.0 ], [ 113.64493, -8.33306, 0.0 ], [ 113.64492, -8.33307, 0.0 ], [ 113.6449, -8.33308, 0.0 ], [ 113.64489, -8.33309, 0.0 ], [ 113.64486, -8.33309, 0.0 ], [ 113.64483, -8.3331, 0.0 ], [ 113.64478, -8.33311, 0.0 ], [ 113.6447, -8.33311, 0.0 ], [ 113.64446, -8.33311, 0.0 ], [ 113.64406, -8.3331, 0.0 ], [ 113.64365, -8.3331, 0.0 ], [ 113.64309, -8.33312, 0.0 ], [ 113.64301, -8.33314, 0.0 ], [ 113.64295, -8.33315, 0.0 ], [ 113.64293, -8.33316, 0.0 ], [ 113.64292, -8.33317, 0.0 ], [ 113.64291, -8.33318, 0.0 ], [ 113.64291, -8.33319, 0.0 ], [ 113.64291, -8.33321, 0.0 ], [ 113.6429, -8.33348, 0.0 ], [ 113.64291, -8.33387, 0.0 ], [ 113.64292, -8.33405, 0.0 ], [ 113.64291, -8.33415, 0.0 ], [ 113.64291, -8.33435, 0.0 ], [ 113.64291, -8.33511, 0.0 ], [ 113.64293, -8.33584, 0.0 ], [ 113.64297, -8.3368, 0.0 ], [ 113.6431, -8.3377, 0.0 ], [ 113.64309, -8.33862, 0.0 ], [ 113.6431, -8.33924, 0.0 ], [ 113.64311, -8.33954, 0.0 ], [ 113.64312, -8.34045, 0.0 ], [ 113.64307, -8.34129, 0.0 ], [ 113.64306, -8.34135, 0.0 ], [ 113.64303, -8.34226, 0.0 ], [ 113.64302, -8.34246, 0.0 ], [ 113.64299, -8.34308, 0.0 ], [ 113.64299, -8.34314, 0.0 ], [ 113.64293, -8.34314, 0.0 ], [ 113.64275, -8.34313, 0.0 ], [ 113.64267, -8.34313, 0.0 ], [ 113.64224, -8.34312, 0.0 ], [ 113.64184, -8.3431, 0.0 ], [ 113.64148, -8.34308, 0.0 ], [ 113.64098, -8.34306, 0.0 ], [ 113.64057, -8.34305, 0.0 ], [ 113.63981, -8.34299, 0.0 ], [ 113.63849, -8.34289, 0.0 ], [ 113.63703, -8.3427, 0.0 ], [ 113.63632, -8.34261, 0.0 ], [ 113.63626, -8.34349, 0.0 ], [ 113.63622, -8.34438, 0.0 ], [ 113.63617, -8.3449, 0.0 ], [ 113.63615, -8.34508, 0.0 ], [ 113.63613, -8.34526, 0.0 ], [ 113.63614, -8.34583, 0.0 ], [ 113.63614, -8.34601, 0.0 ], [ 113.63615, -8.34619, 0.0 ], [ 113.63607, -8.34707, 0.0 ], [ 113.63598, -8.34795, 0.0 ], [ 113.63594, -8.34814, 0.0 ], [ 113.63577, -8.34883, 0.0 ], [ 113.63577, -8.34901, 0.0 ], [ 113.63568, -8.34975, 0.0 ], [ 113.63555, -8.35062, 0.0 ], [ 113.63555, -8.35067, 0.0 ], [ 113.63545, -8.3513, 0.0 ], [ 113.63545, -8.35135, 0.0 ], [ 113.63543, -8.35153, 0.0 ], [ 113.63524, -8.35247, 0.0 ], [ 113.63482, -8.35459, 0.0 ], [ 113.63451, -8.35619, 0.0 ], [ 113.63447, -8.35637, 0.0 ], [ 113.63426, -8.35743, 0.0 ], [ 113.63409, -8.35831, 0.0 ], [ 113.63388, -8.35922, 0.0 ], [ 113.63367, -8.36013, 0.0 ], [ 113.63346, -8.361, 0.0 ], [ 113.63324, -8.36188, 0.0 ], [ 113.63305, -8.3627, 0.0 ], [ 113.63304, -8.36274, 0.0 ], [ 113.63303, -8.36279, 0.0 ], [ 113.63412, -8.36315, 0.0 ], [ 113.63439, -8.36322, 0.0 ], [ 113.63494, -8.36341, 0.0 ], [ 113.635, -8.36342, 0.0 ], [ 113.63529, -8.3635, 0.0 ], [ 113.63582, -8.36365, 0.0 ], [ 113.63585, -8.36365, 0.0 ], [ 113.63611, -8.36371, 0.0 ], [ 113.63643, -8.36377, 0.0 ], [ 113.63682, -8.36385, 0.0 ], [ 113.63737, -8.36397, 0.0 ], [ 113.63814, -8.36413, 0.0 ], [ 113.63837, -8.36418, 0.0 ], [ 113.63855, -8.36419, 0.0 ], [ 113.63961, -8.3644, 0.0 ], [ 113.64033, -8.36453, 0.0 ], [ 113.64076, -8.3646, 0.0 ], [ 113.64096, -8.36463, 0.0 ], [ 113.64159, -8.36476, 0.0 ], [ 113.64207, -8.36485, 0.0 ], [ 113.64218, -8.36487, 0.0 ], [ 113.64292, -8.36497, 0.0 ], [ 113.64328, -8.36504, 0.0 ], [ 113.64337, -8.36505, 0.0 ], [ 113.6437, -8.36513, 0.0 ], [ 113.64381, -8.36515, 0.0 ], [ 113.64392, -8.36516, 0.0 ], [ 113.6441, -8.36519, 0.0 ], [ 113.64412, -8.36519, 0.0 ], [ 113.64415, -8.3652, 0.0 ], [ 113.64535, -8.3654, 0.0 ], [ 113.64557, -8.36543, 0.0 ], [ 113.64593, -8.36549, 0.0 ], [ 113.64612, -8.36552, 0.0 ], [ 113.64701, -8.36565, 0.0 ], [ 113.64716, -8.36567, 0.0 ], [ 113.64726, -8.36569, 0.0 ], [ 113.64731, -8.3657, 0.0 ], [ 113.64778, -8.36577, 0.0 ], [ 113.64898, -8.36589, 0.0 ], [ 113.64908, -8.36592, 0.0 ], [ 113.64972, -8.36597, 0.0 ], [ 113.65003, -8.36601, 0.0 ], [ 113.65027, -8.36604, 0.0 ], [ 113.6504, -8.36606, 0.0 ], [ 113.65057, -8.36607, 0.0 ], [ 113.65071, -8.36608, 0.0 ], [ 113.65105, -8.36615, 0.0 ], [ 113.65134, -8.36621, 0.0 ], [ 113.65139, -8.36622, 0.0 ], [ 113.65153, -8.36626, 0.0 ], [ 113.65166, -8.36629, 0.0 ], [ 113.65179, -8.36633, 0.0 ], [ 113.65192, -8.36638, 0.0 ], [ 113.65234, -8.36656, 0.0 ], [ 113.65285, -8.36681, 0.0 ], [ 113.653, -8.36689, 0.0 ], [ 113.6532, -8.367, 0.0 ], [ 113.65383, -8.36734, 0.0 ], [ 113.65389, -8.36736, 0.0 ], [ 113.65467, -8.36777, 0.0 ], [ 113.65547, -8.36823, 0.0 ], [ 113.65593, -8.3685, 0.0 ], [ 113.65632, -8.36875, 0.0 ], [ 113.65659, -8.36893, 0.0 ], [ 113.65696, -8.36917, 0.0 ], [ 113.65701, -8.36921, 0.0 ], [ 113.65706, -8.36924, 0.0 ], [ 113.65711, -8.36928, 0.0 ], [ 113.65763, -8.36962, 0.0 ], [ 113.65795, -8.36984, 0.0 ], [ 113.65833, -8.37011, 0.0 ], [ 113.65849, -8.37021, 0.0 ], [ 113.65863, -8.37031, 0.0 ], [ 113.65877, -8.37042, 0.0 ], [ 113.6589, -8.37052, 0.0 ], [ 113.659, -8.3706, 0.0 ], [ 113.65906, -8.37066, 0.0 ], [ 113.65914, -8.37073, 0.0 ], [ 113.6592, -8.37081, 0.0 ], [ 113.65922, -8.37084, 0.0 ], [ 113.65934, -8.37098, 0.0 ], [ 113.65948, -8.37117, 0.0 ], [ 113.66024, -8.37238, 0.0 ], [ 113.66035, -8.37212, 0.0 ], [ 113.66038, -8.372, 0.0 ], [ 113.66041, -8.37191, 0.0 ], [ 113.66051, -8.37146, 0.0 ], [ 113.6606, -8.37099, 0.0 ], [ 113.66062, -8.37087, 0.0 ], [ 113.66064, -8.37073, 0.0 ], [ 113.66074, -8.37014, 0.0 ], [ 113.66082, -8.36964, 0.0 ], [ 113.66092, -8.36909, 0.0 ], [ 113.66092, -8.36908, 0.0 ], [ 113.66094, -8.36899, 0.0 ], [ 113.661, -8.36859, 0.0 ], [ 113.66102, -8.36849, 0.0 ], [ 113.66103, -8.36839, 0.0 ], [ 113.66108, -8.36807, 0.0 ], [ 113.66116, -8.36751, 0.0 ], [ 113.66133, -8.36663, 0.0 ], [ 113.6614, -8.36619, 0.0 ], [ 113.6615, -8.36575, 0.0 ], [ 113.66166, -8.36487, 0.0 ], [ 113.66211, -8.364, 0.0 ], [ 113.66215, -8.36393, 0.0 ], [ 113.66248, -8.36328, 0.0 ], [ 113.66254, -8.36315, 0.0 ], [ 113.66258, -8.36307, 0.0 ], [ 113.66277, -8.36268, 0.0 ], [ 113.66297, -8.36227, 0.0 ], [ 113.66307, -8.36207, 0.0 ], [ 113.66313, -8.36196, 0.0 ], [ 113.66317, -8.36188, 0.0 ], [ 113.66338, -8.36145, 0.0 ], [ 113.66339, -8.36143, 0.0 ], [ 113.66367, -8.36086, 0.0 ], [ 113.66385, -8.36052, 0.0 ], [ 113.66405, -8.36014, 0.0 ], [ 113.66412, -8.36001, 0.0 ], [ 113.66414, -8.35999, 0.0 ], [ 113.66437, -8.3595, 0.0 ], [ 113.66443, -8.35938, 0.0 ], [ 113.66444, -8.35934, 0.0 ], [ 113.66445, -8.35932, 0.0 ], [ 113.66446, -8.3593, 0.0 ], [ 113.66446, -8.35928, 0.0 ], [ 113.66446, -8.35927, 0.0 ], [ 113.66447, -8.35925, 0.0 ], [ 113.6645, -8.35888, 0.0 ], [ 113.66451, -8.35865, 0.0 ], [ 113.66453, -8.35818, 0.0 ], [ 113.66458, -8.35756, 0.0 ], [ 113.6646, -8.35711, 0.0 ], [ 113.66464, -8.35656, 0.0 ], [ 113.66464, -8.3565, 0.0 ], [ 113.66465, -8.35644, 0.0 ], [ 113.66467, -8.35639, 0.0 ], [ 113.66469, -8.35633, 0.0 ], [ 113.6647, -8.35629, 0.0 ], [ 113.66472, -8.35625, 0.0 ], [ 113.66475, -8.35619, 0.0 ], [ 113.66478, -8.35614, 0.0 ], [ 113.66478, -8.35613, 0.0 ], [ 113.66482, -8.35607, 0.0 ], [ 113.66487, -8.35599, 0.0 ], [ 113.6649, -8.35593, 0.0 ], [ 113.66492, -8.35591, 0.0 ], [ 113.66498, -8.3558, 0.0 ], [ 113.66505, -8.35569, 0.0 ], [ 113.66511, -8.35559, 0.0 ], [ 113.66512, -8.35557, 0.0 ], [ 113.66521, -8.35543, 0.0 ], [ 113.66531, -8.35526, 0.0 ], [ 113.66544, -8.35505, 0.0 ], [ 113.6655, -8.35494, 0.0 ], [ 113.66555, -8.35483, 0.0 ], [ 113.66556, -8.35481, 0.0 ], [ 113.66556, -8.3548, 0.0 ], [ 113.66557, -8.35478, 0.0 ], [ 113.66557, -8.35477, 0.0 ], [ 113.66558, -8.35475, 0.0 ], [ 113.66558, -8.35472, 0.0 ], [ 113.66559, -8.35466, 0.0 ], [ 113.6656, -8.35455, 0.0 ], [ 113.66562, -8.35441, 0.0 ], [ 113.66564, -8.35417, 0.0 ], [ 113.66565, -8.35402, 0.0 ], [ 113.66566, -8.35392, 0.0 ], [ 113.6657, -8.35345, 0.0 ], [ 113.66576, -8.35252, 0.0 ], [ 113.66577, -8.35243, 0.0 ], [ 113.66579, -8.35213, 0.0 ], [ 113.66581, -8.3518, 0.0 ], [ 113.66582, -8.35163, 0.0 ], [ 113.66582, -8.35161, 0.0 ], [ 113.66586, -8.35121, 0.0 ], [ 113.66594, -8.35025, 0.0 ], [ 113.66595, -8.35016, 0.0 ], [ 113.66598, -8.34971, 0.0 ], [ 113.66604, -8.349, 0.0 ], [ 113.66604, -8.34898, 0.0 ], [ 113.66604, -8.34888, 0.0 ], [ 113.66605, -8.34879, 0.0 ], [ 113.66606, -8.34872, 0.0 ], [ 113.66608, -8.34864, 0.0 ], [ 113.6661, -8.34855, 0.0 ], [ 113.66614, -8.34843, 0.0 ], [ 113.66619, -8.3483, 0.0 ], [ 113.66619, -8.34828, 0.0 ], [ 113.6663, -8.34799, 0.0 ], [ 113.66643, -8.34763, 0.0 ], [ 113.66645, -8.34759, 0.0 ], [ 113.6666, -8.34722, 0.0 ], [ 113.66678, -8.34679, 0.0 ], [ 113.66687, -8.34653, 0.0 ], [ 113.66711, -8.34586, 0.0 ], [ 113.66727, -8.34539, 0.0 ], [ 113.66739, -8.34504, 0.0 ], [ 113.66753, -8.34459, 0.0 ], [ 113.66775, -8.34387, 0.0 ], [ 113.66778, -8.34377, 0.0 ], [ 113.66786, -8.34358, 0.0 ], [ 113.66794, -8.34339, 0.0 ], [ 113.668, -8.34327, 0.0 ], [ 113.66803, -8.3432, 0.0 ], [ 113.66804, -8.34318, 0.0 ], [ 113.66808, -8.34305, 0.0 ], [ 113.66813, -8.34288, 0.0 ], [ 113.66815, -8.34281, 0.0 ], [ 113.66815, -8.34276, 0.0 ], [ 113.66816, -8.34266, 0.0 ], [ 113.66817, -8.34257, 0.0 ], [ 113.66817, -8.34248, 0.0 ], [ 113.66817, -8.34227, 0.0 ], [ 113.66819, -8.34208, 0.0 ], [ 113.66821, -8.34185, 0.0 ], [ 113.66824, -8.34149, 0.0 ], [ 113.66825, -8.3414, 0.0 ], [ 113.66828, -8.34102, 0.0 ], [ 113.66834, -8.34013, 0.0 ], [ 113.66843, -8.33921, 0.0 ], [ 113.66847, -8.33834, 0.0 ], [ 113.66856, -8.33746, 0.0 ], [ 113.66864, -8.33651, 0.0 ], [ 113.66872, -8.3356, 0.0 ], [ 113.66876, -8.33512, 0.0 ], [ 113.66877, -8.33507, 0.0 ], [ 113.66878, -8.33484, 0.0 ], [ 113.66879, -8.33451, 0.0 ], [ 113.6688, -8.3343, 0.0 ], [ 113.66882, -8.3338, 0.0 ], [ 113.66883, -8.33367, 0.0 ], [ 113.66884, -8.33356, 0.0 ], [ 113.6689, -8.33293, 0.0 ], [ 113.66891, -8.33275, 0.0 ], [ 113.66891, -8.33264, 0.0 ], [ 113.66897, -8.33187, 0.0 ], [ 113.669, -8.33173, 0.0 ], [ 113.66902, -8.33145, 0.0 ], [ 113.66903, -8.33144, 0.0 ], [ 113.66903, -8.33138, 0.0 ], [ 113.66905, -8.33126, 0.0 ], [ 113.66905, -8.33123, 0.0 ], [ 113.66909, -8.33062, 0.0 ], [ 113.66908, -8.33035, 0.0 ], [ 113.66912, -8.3298, 0.0 ], [ 113.6692, -8.32901, 0.0 ], [ 113.66921, -8.32895, 0.0 ], [ 113.66928, -8.32791, 0.0 ], [ 113.66935, -8.32685, 0.0 ], [ 113.66944, -8.3259, 0.0 ], [ 113.66945, -8.32566, 0.0 ], [ 113.66944, -8.32547, 0.0 ], [ 113.66943, -8.32542, 0.0 ], [ 113.6694, -8.32537, 0.0 ], [ 113.66938, -8.32533, 0.0 ], [ 113.66934, -8.32528, 0.0 ], [ 113.6693, -8.32523, 0.0 ], [ 113.66925, -8.32519, 0.0 ], [ 113.66917, -8.32514, 0.0 ], [ 113.66907, -8.32509, 0.0 ], [ 113.66896, -8.32503, 0.0 ], [ 113.66883, -8.32495, 0.0 ], [ 113.66876, -8.32491, 0.0 ], [ 113.6683, -8.32467, 0.0 ], [ 113.66787, -8.32441, 0.0 ], [ 113.6678, -8.32437, 0.0 ], [ 113.66699, -8.32388, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "MMG8+CPQ, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6669859, -8.3238821, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JJPM+V45, Pontang Krajan, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6330427, -8.3627444, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JMH6+R59, Karang Templek, Andongsari, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6606426, -8.3707334, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MMG8+CPQ, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6669859, -8.3238821, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/6.geojson b/smart_cycling_api/import_queue/done/6.geojson new file mode 100644 index 0000000..5d5ddea --- /dev/null +++ b/smart_cycling_api/import_queue/done/6.geojson @@ -0,0 +1,12 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.663, -8.32152, 0.0 ], [ 113.66302, -8.32143, 0.0 ], [ 113.66305, -8.32137, 0.0 ], [ 113.66311, -8.32127, 0.0 ], [ 113.66318, -8.32118, 0.0 ], [ 113.66333, -8.32101, 0.0 ], [ 113.66344, -8.32087, 0.0 ], [ 113.66356, -8.32072, 0.0 ], [ 113.66366, -8.32057, 0.0 ], [ 113.66377, -8.32041, 0.0 ], [ 113.66404, -8.31998, 0.0 ], [ 113.66416, -8.3198, 0.0 ], [ 113.6642, -8.31974, 0.0 ], [ 113.66423, -8.31968, 0.0 ], [ 113.66425, -8.31964, 0.0 ], [ 113.66427, -8.31961, 0.0 ], [ 113.66437, -8.3194, 0.0 ], [ 113.66446, -8.31927, 0.0 ], [ 113.66458, -8.3191, 0.0 ], [ 113.66469, -8.31894, 0.0 ], [ 113.6648, -8.31876, 0.0 ], [ 113.66522, -8.31809, 0.0 ], [ 113.66561, -8.31745, 0.0 ], [ 113.66575, -8.31716, 0.0 ], [ 113.66581, -8.31701, 0.0 ], [ 113.66588, -8.31684, 0.0 ], [ 113.66599, -8.31654, 0.0 ], [ 113.66604, -8.31633, 0.0 ], [ 113.66607, -8.31615, 0.0 ], [ 113.6662, -8.31544, 0.0 ], [ 113.66632, -8.31474, 0.0 ], [ 113.66636, -8.31456, 0.0 ], [ 113.66636, -8.31451, 0.0 ], [ 113.66644, -8.31408, 0.0 ], [ 113.66651, -8.31366, 0.0 ], [ 113.66654, -8.31349, 0.0 ], [ 113.66657, -8.31332, 0.0 ], [ 113.6666, -8.31314, 0.0 ], [ 113.66669, -8.31266, 0.0 ], [ 113.66676, -8.31225, 0.0 ], [ 113.66682, -8.3119, 0.0 ], [ 113.66685, -8.31177, 0.0 ], [ 113.66702, -8.31079, 0.0 ], [ 113.66724, -8.30966, 0.0 ], [ 113.66741, -8.30873, 0.0 ], [ 113.66754, -8.30801, 0.0 ], [ 113.66764, -8.30738, 0.0 ], [ 113.66769, -8.30712, 0.0 ], [ 113.66776, -8.30679, 0.0 ], [ 113.6678, -8.3066, 0.0 ], [ 113.66783, -8.30649, 0.0 ], [ 113.66786, -8.30644, 0.0 ], [ 113.66789, -8.30639, 0.0 ], [ 113.66793, -8.30633, 0.0 ], [ 113.66798, -8.30627, 0.0 ], [ 113.66807, -8.30621, 0.0 ], [ 113.66829, -8.30603, 0.0 ], [ 113.66846, -8.30589, 0.0 ], [ 113.66849, -8.30587, 0.0 ], [ 113.66863, -8.30575, 0.0 ], [ 113.66871, -8.30567, 0.0 ], [ 113.66876, -8.30564, 0.0 ], [ 113.66888, -8.30554, 0.0 ], [ 113.66904, -8.30539, 0.0 ], [ 113.66917, -8.30526, 0.0 ], [ 113.66923, -8.3052, 0.0 ], [ 113.66944, -8.30501, 0.0 ], [ 113.66961, -8.30487, 0.0 ], [ 113.66975, -8.30475, 0.0 ], [ 113.66977, -8.30474, 0.0 ], [ 113.66986, -8.30465, 0.0 ], [ 113.67001, -8.30452, 0.0 ], [ 113.67006, -8.30446, 0.0 ], [ 113.67011, -8.30441, 0.0 ], [ 113.67017, -8.30435, 0.0 ], [ 113.67023, -8.3043, 0.0 ], [ 113.67034, -8.30421, 0.0 ], [ 113.67051, -8.30407, 0.0 ], [ 113.67069, -8.30391, 0.0 ], [ 113.67073, -8.30388, 0.0 ], [ 113.67089, -8.30373, 0.0 ], [ 113.67104, -8.30361, 0.0 ], [ 113.67136, -8.3033, 0.0 ], [ 113.6717, -8.303, 0.0 ], [ 113.67199, -8.30274, 0.0 ], [ 113.67208, -8.30266, 0.0 ], [ 113.67243, -8.30234, 0.0 ], [ 113.67267, -8.30213, 0.0 ], [ 113.67282, -8.30198, 0.0 ], [ 113.6729, -8.3019, 0.0 ], [ 113.67298, -8.30182, 0.0 ], [ 113.67312, -8.30168, 0.0 ], [ 113.67339, -8.3014, 0.0 ], [ 113.67361, -8.30119, 0.0 ], [ 113.6738, -8.30101, 0.0 ], [ 113.6737, -8.30089, 0.0 ], [ 113.67341, -8.30056, 0.0 ], [ 113.67313, -8.3002, 0.0 ], [ 113.67305, -8.3001, 0.0 ], [ 113.67297, -8.29998, 0.0 ], [ 113.67275, -8.29967, 0.0 ], [ 113.67257, -8.29942, 0.0 ], [ 113.67234, -8.29908, 0.0 ], [ 113.6723, -8.29904, 0.0 ], [ 113.67215, -8.29884, 0.0 ], [ 113.67213, -8.29882, 0.0 ], [ 113.67207, -8.29873, 0.0 ], [ 113.67203, -8.29868, 0.0 ], [ 113.67195, -8.29856, 0.0 ], [ 113.67176, -8.29832, 0.0 ], [ 113.67143, -8.29789, 0.0 ], [ 113.67109, -8.29745, 0.0 ], [ 113.67089, -8.29718, 0.0 ], [ 113.67078, -8.29703, 0.0 ], [ 113.67048, -8.29664, 0.0 ], [ 113.67044, -8.29659, 0.0 ], [ 113.67042, -8.29656, 0.0 ], [ 113.67031, -8.29641, 0.0 ], [ 113.67024, -8.29629, 0.0 ], [ 113.67021, -8.29626, 0.0 ], [ 113.67018, -8.29621, 0.0 ], [ 113.67002, -8.29601, 0.0 ], [ 113.67, -8.29599, 0.0 ], [ 113.66998, -8.29596, 0.0 ], [ 113.66964, -8.29551, 0.0 ], [ 113.66938, -8.29518, 0.0 ], [ 113.66937, -8.29516, 0.0 ], [ 113.66822, -8.29369, 0.0 ], [ 113.66813, -8.29354, 0.0 ], [ 113.66808, -8.29345, 0.0 ], [ 113.66804, -8.29338, 0.0 ], [ 113.66796, -8.29317, 0.0 ], [ 113.6677, -8.29253, 0.0 ], [ 113.66758, -8.29221, 0.0 ], [ 113.66736, -8.29166, 0.0 ], [ 113.66704, -8.29086, 0.0 ], [ 113.66684, -8.29037, 0.0 ], [ 113.66678, -8.29024, 0.0 ], [ 113.66665, -8.28992, 0.0 ], [ 113.66657, -8.28972, 0.0 ], [ 113.66656, -8.28968, 0.0 ], [ 113.66654, -8.28964, 0.0 ], [ 113.66645, -8.28941, 0.0 ], [ 113.66634, -8.28914, 0.0 ], [ 113.66628, -8.28898, 0.0 ], [ 113.66624, -8.28889, 0.0 ], [ 113.66601, -8.28832, 0.0 ], [ 113.66587, -8.28797, 0.0 ], [ 113.66574, -8.28763, 0.0 ], [ 113.6656, -8.28729, 0.0 ], [ 113.66558, -8.28725, 0.0 ], [ 113.66547, -8.287, 0.0 ], [ 113.6654, -8.28682, 0.0 ], [ 113.66525, -8.28646, 0.0 ], [ 113.66524, -8.28643, 0.0 ], [ 113.66474, -8.28521, 0.0 ], [ 113.66454, -8.2847, 0.0 ], [ 113.66373, -8.28274, 0.0 ], [ 113.66361, -8.28244, 0.0 ], [ 113.66305, -8.28108, 0.0 ], [ 113.66298, -8.28091, 0.0 ], [ 113.66266, -8.28011, 0.0 ], [ 113.66245, -8.27961, 0.0 ], [ 113.66219, -8.27897, 0.0 ], [ 113.66218, -8.27894, 0.0 ], [ 113.66206, -8.27864, 0.0 ], [ 113.662, -8.27848, 0.0 ], [ 113.66193, -8.27835, 0.0 ], [ 113.66189, -8.27829, 0.0 ], [ 113.66187, -8.27828, 0.0 ], [ 113.66183, -8.27824, 0.0 ], [ 113.66178, -8.2782, 0.0 ], [ 113.66167, -8.27815, 0.0 ], [ 113.66146, -8.27806, 0.0 ], [ 113.6612, -8.27795, 0.0 ], [ 113.66006, -8.27746, 0.0 ], [ 113.65955, -8.27724, 0.0 ], [ 113.65907, -8.27704, 0.0 ], [ 113.65886, -8.27695, 0.0 ], [ 113.65849, -8.27679, 0.0 ], [ 113.65835, -8.27673, 0.0 ], [ 113.6583, -8.27671, 0.0 ], [ 113.65821, -8.27668, 0.0 ], [ 113.65771, -8.27647, 0.0 ], [ 113.65743, -8.27637, 0.0 ], [ 113.65736, -8.27635, 0.0 ], [ 113.65729, -8.27635, 0.0 ], [ 113.65718, -8.27635, 0.0 ], [ 113.65694, -8.27637, 0.0 ], [ 113.65679, -8.27638, 0.0 ], [ 113.65672, -8.27638, 0.0 ], [ 113.65666, -8.27636, 0.0 ], [ 113.65661, -8.27635, 0.0 ], [ 113.65656, -8.27633, 0.0 ], [ 113.6565, -8.27627, 0.0 ], [ 113.65642, -8.2762, 0.0 ], [ 113.65628, -8.27608, 0.0 ], [ 113.65614, -8.27595, 0.0 ], [ 113.65601, -8.27586, 0.0 ], [ 113.6559, -8.2758, 0.0 ], [ 113.65588, -8.2758, 0.0 ], [ 113.65582, -8.27577, 0.0 ], [ 113.65562, -8.27574, 0.0 ], [ 113.65542, -8.27571, 0.0 ], [ 113.65518, -8.27568, 0.0 ], [ 113.6551, -8.27567, 0.0 ], [ 113.65488, -8.27563, 0.0 ], [ 113.65473, -8.2756, 0.0 ], [ 113.65463, -8.27557, 0.0 ], [ 113.65456, -8.27552, 0.0 ], [ 113.65454, -8.27551, 0.0 ], [ 113.65446, -8.27543, 0.0 ], [ 113.65443, -8.27539, 0.0 ], [ 113.65432, -8.27526, 0.0 ], [ 113.65432, -8.27525, 0.0 ], [ 113.6542, -8.27507, 0.0 ], [ 113.65412, -8.27494, 0.0 ], [ 113.65384, -8.27454, 0.0 ], [ 113.65376, -8.27443, 0.0 ], [ 113.65373, -8.27438, 0.0 ], [ 113.65312, -8.27352, 0.0 ], [ 113.65307, -8.27346, 0.0 ], [ 113.65266, -8.2729, 0.0 ], [ 113.65236, -8.27251, 0.0 ], [ 113.65217, -8.27225, 0.0 ], [ 113.65202, -8.27205, 0.0 ], [ 113.652, -8.27202, 0.0 ], [ 113.65197, -8.27199, 0.0 ], [ 113.65144, -8.27129, 0.0 ], [ 113.65118, -8.27094, 0.0 ], [ 113.65106, -8.27079, 0.0 ], [ 113.651, -8.2707, 0.0 ], [ 113.65086, -8.27053, 0.0 ], [ 113.65068, -8.27028, 0.0 ], [ 113.65053, -8.27009, 0.0 ], [ 113.65018, -8.26962, 0.0 ], [ 113.64986, -8.2692, 0.0 ], [ 113.6497, -8.26899, 0.0 ], [ 113.64952, -8.26875, 0.0 ], [ 113.64942, -8.26862, 0.0 ], [ 113.6493, -8.26847, 0.0 ], [ 113.64928, -8.26845, 0.0 ], [ 113.6492, -8.26837, 0.0 ], [ 113.64909, -8.26827, 0.0 ], [ 113.64898, -8.26821, 0.0 ], [ 113.64885, -8.26815, 0.0 ], [ 113.64865, -8.26806, 0.0 ], [ 113.64854, -8.26802, 0.0 ], [ 113.64779, -8.26772, 0.0 ], [ 113.6477, -8.26791, 0.0 ], [ 113.64747, -8.26841, 0.0 ], [ 113.64745, -8.26846, 0.0 ], [ 113.64722, -8.26893, 0.0 ], [ 113.64717, -8.26905, 0.0 ], [ 113.647, -8.26939, 0.0 ], [ 113.64682, -8.26975, 0.0 ], [ 113.64674, -8.26991, 0.0 ], [ 113.64666, -8.27007, 0.0 ], [ 113.64664, -8.27012, 0.0 ], [ 113.64658, -8.27023, 0.0 ], [ 113.64631, -8.27077, 0.0 ], [ 113.64604, -8.27127, 0.0 ], [ 113.64591, -8.2715, 0.0 ], [ 113.64573, -8.27186, 0.0 ], [ 113.64568, -8.27195, 0.0 ], [ 113.64563, -8.27203, 0.0 ], [ 113.64554, -8.27216, 0.0 ], [ 113.64544, -8.27229, 0.0 ], [ 113.64533, -8.27244, 0.0 ], [ 113.64518, -8.27262, 0.0 ], [ 113.64505, -8.27279, 0.0 ], [ 113.64491, -8.27296, 0.0 ], [ 113.64464, -8.27326, 0.0 ], [ 113.64439, -8.27351, 0.0 ], [ 113.64385, -8.27407, 0.0 ], [ 113.64363, -8.27431, 0.0 ], [ 113.64362, -8.27431, 0.0 ], [ 113.6434, -8.27455, 0.0 ], [ 113.64286, -8.27517, 0.0 ], [ 113.64194, -8.2762, 0.0 ], [ 113.64089, -8.27742, 0.0 ], [ 113.64065, -8.27769, 0.0 ], [ 113.64033, -8.27806, 0.0 ], [ 113.64021, -8.2782, 0.0 ], [ 113.63881, -8.27978, 0.0 ], [ 113.63845, -8.2802, 0.0 ], [ 113.63833, -8.28033, 0.0 ], [ 113.6383, -8.28037, 0.0 ], [ 113.63792, -8.28079, 0.0 ], [ 113.63732, -8.28147, 0.0 ], [ 113.63711, -8.28172, 0.0 ], [ 113.63698, -8.28188, 0.0 ], [ 113.63687, -8.28205, 0.0 ], [ 113.63676, -8.28221, 0.0 ], [ 113.63665, -8.28238, 0.0 ], [ 113.6363, -8.28292, 0.0 ], [ 113.63627, -8.28297, 0.0 ], [ 113.63608, -8.28327, 0.0 ], [ 113.63595, -8.28348, 0.0 ], [ 113.63581, -8.2837, 0.0 ], [ 113.63574, -8.28382, 0.0 ], [ 113.63565, -8.28399, 0.0 ], [ 113.63551, -8.28425, 0.0 ], [ 113.63548, -8.28432, 0.0 ], [ 113.63541, -8.28447, 0.0 ], [ 113.6353, -8.28474, 0.0 ], [ 113.63519, -8.2851, 0.0 ], [ 113.63516, -8.28521, 0.0 ], [ 113.63507, -8.28547, 0.0 ], [ 113.63476, -8.28658, 0.0 ], [ 113.63459, -8.28716, 0.0 ], [ 113.63458, -8.28722, 0.0 ], [ 113.63456, -8.28727, 0.0 ], [ 113.63445, -8.28764, 0.0 ], [ 113.63436, -8.28787, 0.0 ], [ 113.63428, -8.28803, 0.0 ], [ 113.63423, -8.28813, 0.0 ], [ 113.63421, -8.28815, 0.0 ], [ 113.6342, -8.28816, 0.0 ], [ 113.63409, -8.28831, 0.0 ], [ 113.63399, -8.28843, 0.0 ], [ 113.6338, -8.2886, 0.0 ], [ 113.63354, -8.28883, 0.0 ], [ 113.63324, -8.28908, 0.0 ], [ 113.63322, -8.2891, 0.0 ], [ 113.63301, -8.28929, 0.0 ], [ 113.63285, -8.28943, 0.0 ], [ 113.63258, -8.28966, 0.0 ], [ 113.6325, -8.28972, 0.0 ], [ 113.63223, -8.28991, 0.0 ], [ 113.63201, -8.29005, 0.0 ], [ 113.63199, -8.29007, 0.0 ], [ 113.63168, -8.29027, 0.0 ], [ 113.63164, -8.2903, 0.0 ], [ 113.6314, -8.29046, 0.0 ], [ 113.63128, -8.29054, 0.0 ], [ 113.63093, -8.2908, 0.0 ], [ 113.63077, -8.29095, 0.0 ], [ 113.63069, -8.29103, 0.0 ], [ 113.63063, -8.29108, 0.0 ], [ 113.63053, -8.2912, 0.0 ], [ 113.63046, -8.29126, 0.0 ], [ 113.63036, -8.29138, 0.0 ], [ 113.6303, -8.29145, 0.0 ], [ 113.63028, -8.29148, 0.0 ], [ 113.63009, -8.29172, 0.0 ], [ 113.63, -8.29183, 0.0 ], [ 113.62986, -8.29202, 0.0 ], [ 113.62965, -8.29234, 0.0 ], [ 113.62949, -8.29259, 0.0 ], [ 113.62916, -8.29308, 0.0 ], [ 113.62888, -8.29345, 0.0 ], [ 113.62843, -8.29401, 0.0 ], [ 113.62839, -8.29405, 0.0 ], [ 113.62818, -8.29434, 0.0 ], [ 113.62795, -8.29463, 0.0 ], [ 113.62791, -8.29466, 0.0 ], [ 113.62778, -8.2948, 0.0 ], [ 113.62762, -8.29497, 0.0 ], [ 113.62736, -8.29526, 0.0 ], [ 113.6273, -8.29532, 0.0 ], [ 113.62728, -8.29533, 0.0 ], [ 113.62691, -8.29572, 0.0 ], [ 113.62688, -8.29575, 0.0 ], [ 113.6267, -8.29593, 0.0 ], [ 113.62652, -8.29612, 0.0 ], [ 113.62633, -8.29633, 0.0 ], [ 113.6266, -8.2965, 0.0 ], [ 113.62703, -8.29673, 0.0 ], [ 113.62705, -8.29674, 0.0 ], [ 113.62735, -8.29687, 0.0 ], [ 113.62776, -8.29704, 0.0 ], [ 113.62781, -8.29706, 0.0 ], [ 113.62839, -8.29728, 0.0 ], [ 113.62842, -8.29729, 0.0 ], [ 113.62907, -8.29751, 0.0 ], [ 113.62911, -8.29752, 0.0 ], [ 113.62936, -8.29759, 0.0 ], [ 113.62969, -8.29769, 0.0 ], [ 113.62978, -8.29772, 0.0 ], [ 113.63001, -8.2978, 0.0 ], [ 113.63053, -8.29798, 0.0 ], [ 113.63054, -8.29798, 0.0 ], [ 113.63062, -8.29801, 0.0 ], [ 113.63134, -8.29826, 0.0 ], [ 113.6314, -8.29828, 0.0 ], [ 113.63155, -8.29834, 0.0 ], [ 113.6316, -8.29835, 0.0 ], [ 113.63192, -8.29847, 0.0 ], [ 113.63245, -8.29867, 0.0 ], [ 113.63262, -8.29874, 0.0 ], [ 113.63264, -8.29874, 0.0 ], [ 113.63305, -8.2989, 0.0 ], [ 113.63322, -8.29896, 0.0 ], [ 113.63333, -8.299, 0.0 ], [ 113.63347, -8.29905, 0.0 ], [ 113.63361, -8.2991, 0.0 ], [ 113.63364, -8.29911, 0.0 ], [ 113.63394, -8.29922, 0.0 ], [ 113.63459, -8.29947, 0.0 ], [ 113.63493, -8.29958, 0.0 ], [ 113.63526, -8.2997, 0.0 ], [ 113.63551, -8.29979, 0.0 ], [ 113.63554, -8.2998, 0.0 ], [ 113.63566, -8.29984, 0.0 ], [ 113.63578, -8.29989, 0.0 ], [ 113.63584, -8.2999, 0.0 ], [ 113.63599, -8.29994, 0.0 ], [ 113.63616, -8.29997, 0.0 ], [ 113.63639, -8.3, 0.0 ], [ 113.63679, -8.30004, 0.0 ], [ 113.63719, -8.30007, 0.0 ], [ 113.63738, -8.30008, 0.0 ], [ 113.6381, -8.30011, 0.0 ], [ 113.63819, -8.30012, 0.0 ], [ 113.63923, -8.30015, 0.0 ], [ 113.63923, -8.30024, 0.0 ], [ 113.63922, -8.30037, 0.0 ], [ 113.63918, -8.30061, 0.0 ], [ 113.6391, -8.30112, 0.0 ], [ 113.63906, -8.30141, 0.0 ], [ 113.63905, -8.30152, 0.0 ], [ 113.63902, -8.30176, 0.0 ], [ 113.63901, -8.30186, 0.0 ], [ 113.639, -8.30192, 0.0 ], [ 113.63894, -8.30226, 0.0 ], [ 113.63886, -8.30254, 0.0 ], [ 113.63884, -8.30262, 0.0 ], [ 113.63882, -8.3027, 0.0 ], [ 113.63875, -8.30296, 0.0 ], [ 113.63875, -8.30298, 0.0 ], [ 113.63857, -8.30359, 0.0 ], [ 113.63856, -8.30361, 0.0 ], [ 113.63837, -8.30429, 0.0 ], [ 113.63833, -8.3044, 0.0 ], [ 113.63826, -8.30458, 0.0 ], [ 113.63819, -8.30476, 0.0 ], [ 113.63815, -8.30485, 0.0 ], [ 113.63805, -8.30513, 0.0 ], [ 113.63798, -8.30527, 0.0 ], [ 113.63789, -8.3055, 0.0 ], [ 113.63784, -8.30561, 0.0 ], [ 113.63754, -8.30617, 0.0 ], [ 113.63751, -8.30623, 0.0 ], [ 113.63749, -8.30626, 0.0 ], [ 113.63736, -8.3065, 0.0 ], [ 113.63725, -8.30672, 0.0 ], [ 113.6372, -8.30679, 0.0 ], [ 113.63699, -8.30714, 0.0 ], [ 113.63692, -8.30724, 0.0 ], [ 113.63672, -8.30756, 0.0 ], [ 113.63659, -8.30775, 0.0 ], [ 113.63639, -8.30803, 0.0 ], [ 113.63612, -8.30847, 0.0 ], [ 113.63608, -8.30853, 0.0 ], [ 113.63599, -8.30869, 0.0 ], [ 113.63597, -8.30873, 0.0 ], [ 113.6359, -8.30887, 0.0 ], [ 113.63585, -8.30901, 0.0 ], [ 113.63582, -8.30916, 0.0 ], [ 113.63579, -8.30931, 0.0 ], [ 113.63578, -8.3095, 0.0 ], [ 113.63576, -8.30983, 0.0 ], [ 113.63576, -8.3099, 0.0 ], [ 113.63575, -8.31004, 0.0 ], [ 113.63574, -8.3105, 0.0 ], [ 113.63572, -8.31091, 0.0 ], [ 113.63572, -8.31109, 0.0 ], [ 113.63571, -8.31131, 0.0 ], [ 113.63571, -8.31132, 0.0 ], [ 113.63568, -8.31181, 0.0 ], [ 113.63568, -8.31198, 0.0 ], [ 113.63567, -8.31211, 0.0 ], [ 113.63567, -8.3122, 0.0 ], [ 113.63564, -8.31272, 0.0 ], [ 113.63564, -8.31274, 0.0 ], [ 113.63563, -8.31284, 0.0 ], [ 113.63562, -8.31322, 0.0 ], [ 113.63559, -8.31353, 0.0 ], [ 113.63582, -8.31354, 0.0 ], [ 113.63618, -8.31356, 0.0 ], [ 113.63666, -8.31361, 0.0 ], [ 113.6371, -8.31365, 0.0 ], [ 113.63718, -8.31366, 0.0 ], [ 113.63742, -8.31369, 0.0 ], [ 113.63753, -8.3137, 0.0 ], [ 113.63773, -8.31373, 0.0 ], [ 113.63784, -8.31374, 0.0 ], [ 113.63793, -8.31375, 0.0 ], [ 113.63799, -8.31376, 0.0 ], [ 113.63806, -8.31377, 0.0 ], [ 113.63818, -8.31377, 0.0 ], [ 113.63831, -8.31377, 0.0 ], [ 113.63839, -8.31376, 0.0 ], [ 113.63842, -8.31375, 0.0 ], [ 113.6385, -8.31374, 0.0 ], [ 113.63874, -8.31369, 0.0 ], [ 113.63884, -8.31366, 0.0 ], [ 113.63903, -8.31361, 0.0 ], [ 113.63908, -8.3136, 0.0 ], [ 113.63914, -8.31359, 0.0 ], [ 113.63918, -8.31359, 0.0 ], [ 113.63922, -8.3136, 0.0 ], [ 113.63926, -8.31361, 0.0 ], [ 113.63934, -8.31363, 0.0 ], [ 113.63936, -8.31397, 0.0 ], [ 113.63936, -8.31406, 0.0 ], [ 113.63937, -8.3143, 0.0 ], [ 113.63938, -8.31448, 0.0 ], [ 113.63936, -8.31464, 0.0 ], [ 113.63935, -8.31478, 0.0 ], [ 113.63933, -8.31493, 0.0 ], [ 113.63933, -8.315, 0.0 ], [ 113.63933, -8.3152, 0.0 ], [ 113.63933, -8.3153, 0.0 ], [ 113.63933, -8.3156, 0.0 ], [ 113.63934, -8.31562, 0.0 ], [ 113.63944, -8.31563, 0.0 ], [ 113.63992, -8.31567, 0.0 ], [ 113.64068, -8.31574, 0.0 ], [ 113.64104, -8.31575, 0.0 ], [ 113.64108, -8.31575, 0.0 ], [ 113.64221, -8.31583, 0.0 ], [ 113.64277, -8.31586, 0.0 ], [ 113.64325, -8.31589, 0.0 ], [ 113.64353, -8.31591, 0.0 ], [ 113.64436, -8.31597, 0.0 ], [ 113.64465, -8.31599, 0.0 ], [ 113.64507, -8.31602, 0.0 ], [ 113.64552, -8.31606, 0.0 ], [ 113.6458, -8.31607, 0.0 ], [ 113.64598, -8.31608, 0.0 ], [ 113.64616, -8.31609, 0.0 ], [ 113.64617, -8.31609, 0.0 ], [ 113.64688, -8.31615, 0.0 ], [ 113.64689, -8.31616, 0.0 ], [ 113.6475, -8.31619, 0.0 ], [ 113.64801, -8.31623, 0.0 ], [ 113.64811, -8.31624, 0.0 ], [ 113.64821, -8.31625, 0.0 ], [ 113.64845, -8.3163, 0.0 ], [ 113.64882, -8.31636, 0.0 ], [ 113.6493, -8.31642, 0.0 ], [ 113.64992, -8.3165, 0.0 ], [ 113.65024, -8.31654, 0.0 ], [ 113.65058, -8.31659, 0.0 ], [ 113.65103, -8.31668, 0.0 ], [ 113.65114, -8.3167, 0.0 ], [ 113.65187, -8.31683, 0.0 ], [ 113.65201, -8.31687, 0.0 ], [ 113.65211, -8.3169, 0.0 ], [ 113.65232, -8.31699, 0.0 ], [ 113.65256, -8.31709, 0.0 ], [ 113.653, -8.31729, 0.0 ], [ 113.65312, -8.31733, 0.0 ], [ 113.6537, -8.31758, 0.0 ], [ 113.65423, -8.31782, 0.0 ], [ 113.65476, -8.31807, 0.0 ], [ 113.65557, -8.31847, 0.0 ], [ 113.65591, -8.31866, 0.0 ], [ 113.656, -8.31872, 0.0 ], [ 113.65605, -8.31874, 0.0 ], [ 113.65624, -8.31888, 0.0 ], [ 113.65668, -8.31917, 0.0 ], [ 113.65718, -8.31952, 0.0 ], [ 113.65755, -8.31979, 0.0 ], [ 113.65775, -8.31994, 0.0 ], [ 113.65813, -8.32018, 0.0 ], [ 113.65826, -8.32024, 0.0 ], [ 113.65832, -8.32026, 0.0 ], [ 113.6584, -8.32029, 0.0 ], [ 113.65867, -8.32036, 0.0 ], [ 113.65883, -8.32039, 0.0 ], [ 113.65908, -8.32044, 0.0 ], [ 113.6593, -8.32049, 0.0 ], [ 113.65981, -8.32062, 0.0 ], [ 113.65996, -8.32067, 0.0 ], [ 113.66002, -8.32069, 0.0 ], [ 113.66024, -8.32077, 0.0 ], [ 113.66067, -8.32097, 0.0 ], [ 113.66154, -8.32135, 0.0 ], [ 113.66191, -8.32149, 0.0 ], [ 113.66209, -8.32155, 0.0 ], [ 113.66214, -8.32156, 0.0 ], [ 113.66223, -8.32159, 0.0 ], [ 113.6623, -8.3216, 0.0 ], [ 113.66239, -8.32161, 0.0 ], [ 113.66245, -8.3216, 0.0 ], [ 113.66248, -8.3216, 0.0 ], [ 113.66263, -8.32159, 0.0 ], [ 113.66283, -8.32155, 0.0 ], [ 113.66296, -8.32153, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6630025, -8.3215175, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PJJX+W3P, Bringan Lawang, Wonojati, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6477861, -8.2677205, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MJXQ+W6F, Jl. Flamboyan, Karang Kokap, Sruni, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6381046, -8.3001137, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6629607, -8.3215258, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Alun-Alun Jenggawah - Alun-Alun Ambulu.geojson b/smart_cycling_api/import_queue/done/Alun-Alun Jenggawah - Alun-Alun Ambulu.geojson new file mode 100644 index 0000000..90b65c8 --- /dev/null +++ b/smart_cycling_api/import_queue/done/Alun-Alun Jenggawah - Alun-Alun Ambulu.geojson @@ -0,0 +1,10 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari Jl. Kawi No.156, Krajan, Wonojati, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke Jl. Raya Suyitman No.79, Sumberan, Ambulu, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari Jl. Kawi No.156, Krajan, Wonojati, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke Jl. Raya Suyitman No.79, Sumberan, Ambulu, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.64779, -8.26772, 0.0 ], [ 113.6477, -8.26791, 0.0 ], [ 113.64747, -8.26841, 0.0 ], [ 113.64745, -8.26846, 0.0 ], [ 113.64722, -8.26893, 0.0 ], [ 113.64717, -8.26905, 0.0 ], [ 113.647, -8.26939, 0.0 ], [ 113.64682, -8.26975, 0.0 ], [ 113.64674, -8.26991, 0.0 ], [ 113.64666, -8.27007, 0.0 ], [ 113.64664, -8.27012, 0.0 ], [ 113.64658, -8.27023, 0.0 ], [ 113.64631, -8.27077, 0.0 ], [ 113.64604, -8.27127, 0.0 ], [ 113.64591, -8.2715, 0.0 ], [ 113.64573, -8.27186, 0.0 ], [ 113.64568, -8.27195, 0.0 ], [ 113.64563, -8.27203, 0.0 ], [ 113.64554, -8.27216, 0.0 ], [ 113.64544, -8.27229, 0.0 ], [ 113.64533, -8.27244, 0.0 ], [ 113.64518, -8.27262, 0.0 ], [ 113.64505, -8.27279, 0.0 ], [ 113.64491, -8.27296, 0.0 ], [ 113.64464, -8.27326, 0.0 ], [ 113.64439, -8.27351, 0.0 ], [ 113.64385, -8.27407, 0.0 ], [ 113.64363, -8.27431, 0.0 ], [ 113.64362, -8.27431, 0.0 ], [ 113.6434, -8.27455, 0.0 ], [ 113.64286, -8.27517, 0.0 ], [ 113.64194, -8.2762, 0.0 ], [ 113.64089, -8.27742, 0.0 ], [ 113.64065, -8.27769, 0.0 ], [ 113.64033, -8.27806, 0.0 ], [ 113.64021, -8.2782, 0.0 ], [ 113.63881, -8.27978, 0.0 ], [ 113.63845, -8.2802, 0.0 ], [ 113.63833, -8.28033, 0.0 ], [ 113.6383, -8.28037, 0.0 ], [ 113.63792, -8.28079, 0.0 ], [ 113.63732, -8.28147, 0.0 ], [ 113.63711, -8.28172, 0.0 ], [ 113.63698, -8.28188, 0.0 ], [ 113.63687, -8.28205, 0.0 ], [ 113.63676, -8.28221, 0.0 ], [ 113.63665, -8.28238, 0.0 ], [ 113.6363, -8.28292, 0.0 ], [ 113.63627, -8.28297, 0.0 ], [ 113.63608, -8.28327, 0.0 ], [ 113.63595, -8.28348, 0.0 ], [ 113.63581, -8.2837, 0.0 ], [ 113.63574, -8.28382, 0.0 ], [ 113.63565, -8.28399, 0.0 ], [ 113.63551, -8.28425, 0.0 ], [ 113.63548, -8.28432, 0.0 ], [ 113.63541, -8.28447, 0.0 ], [ 113.6353, -8.28474, 0.0 ], [ 113.63519, -8.2851, 0.0 ], [ 113.63516, -8.28521, 0.0 ], [ 113.63507, -8.28547, 0.0 ], [ 113.63476, -8.28658, 0.0 ], [ 113.63459, -8.28716, 0.0 ], [ 113.63458, -8.28722, 0.0 ], [ 113.63456, -8.28727, 0.0 ], [ 113.63445, -8.28764, 0.0 ], [ 113.63436, -8.28787, 0.0 ], [ 113.63428, -8.28803, 0.0 ], [ 113.63423, -8.28813, 0.0 ], [ 113.63421, -8.28815, 0.0 ], [ 113.6342, -8.28816, 0.0 ], [ 113.63409, -8.28831, 0.0 ], [ 113.63399, -8.28843, 0.0 ], [ 113.6338, -8.2886, 0.0 ], [ 113.63354, -8.28883, 0.0 ], [ 113.63324, -8.28908, 0.0 ], [ 113.63322, -8.2891, 0.0 ], [ 113.63301, -8.28929, 0.0 ], [ 113.63285, -8.28943, 0.0 ], [ 113.63258, -8.28966, 0.0 ], [ 113.6325, -8.28972, 0.0 ], [ 113.63223, -8.28991, 0.0 ], [ 113.63201, -8.29005, 0.0 ], [ 113.63199, -8.29007, 0.0 ], [ 113.63168, -8.29027, 0.0 ], [ 113.63164, -8.2903, 0.0 ], [ 113.6314, -8.29046, 0.0 ], [ 113.63128, -8.29054, 0.0 ], [ 113.63093, -8.2908, 0.0 ], [ 113.63077, -8.29095, 0.0 ], [ 113.63069, -8.29103, 0.0 ], [ 113.63063, -8.29108, 0.0 ], [ 113.63053, -8.2912, 0.0 ], [ 113.63046, -8.29126, 0.0 ], [ 113.63036, -8.29138, 0.0 ], [ 113.6303, -8.29145, 0.0 ], [ 113.63028, -8.29148, 0.0 ], [ 113.63009, -8.29172, 0.0 ], [ 113.63, -8.29183, 0.0 ], [ 113.62986, -8.29202, 0.0 ], [ 113.62965, -8.29234, 0.0 ], [ 113.62949, -8.29259, 0.0 ], [ 113.62916, -8.29308, 0.0 ], [ 113.62888, -8.29345, 0.0 ], [ 113.62843, -8.29401, 0.0 ], [ 113.62839, -8.29405, 0.0 ], [ 113.62818, -8.29434, 0.0 ], [ 113.62795, -8.29463, 0.0 ], [ 113.62791, -8.29466, 0.0 ], [ 113.62778, -8.2948, 0.0 ], [ 113.62762, -8.29497, 0.0 ], [ 113.62736, -8.29526, 0.0 ], [ 113.6273, -8.29532, 0.0 ], [ 113.62728, -8.29533, 0.0 ], [ 113.62691, -8.29572, 0.0 ], [ 113.62688, -8.29575, 0.0 ], [ 113.6267, -8.29593, 0.0 ], [ 113.62652, -8.29612, 0.0 ], [ 113.62633, -8.29633, 0.0 ], [ 113.62573, -8.297, 0.0 ], [ 113.62518, -8.29763, 0.0 ], [ 113.6251, -8.29772, 0.0 ], [ 113.62498, -8.29785, 0.0 ], [ 113.62475, -8.2981, 0.0 ], [ 113.62448, -8.29835, 0.0 ], [ 113.62437, -8.29846, 0.0 ], [ 113.62404, -8.29877, 0.0 ], [ 113.62377, -8.29902, 0.0 ], [ 113.62351, -8.29926, 0.0 ], [ 113.62263, -8.30008, 0.0 ], [ 113.6224, -8.30029, 0.0 ], [ 113.62211, -8.30055, 0.0 ], [ 113.62181, -8.30083, 0.0 ], [ 113.6215, -8.30112, 0.0 ], [ 113.62073, -8.30182, 0.0 ], [ 113.62058, -8.30198, 0.0 ], [ 113.62041, -8.30214, 0.0 ], [ 113.62036, -8.30219, 0.0 ], [ 113.62025, -8.30229, 0.0 ], [ 113.6201, -8.30244, 0.0 ], [ 113.61997, -8.30258, 0.0 ], [ 113.61982, -8.30277, 0.0 ], [ 113.61967, -8.303, 0.0 ], [ 113.6195, -8.30327, 0.0 ], [ 113.61936, -8.3035, 0.0 ], [ 113.61907, -8.30398, 0.0 ], [ 113.61896, -8.30416, 0.0 ], [ 113.61839, -8.30513, 0.0 ], [ 113.61826, -8.30537, 0.0 ], [ 113.61793, -8.30599, 0.0 ], [ 113.61774, -8.30636, 0.0 ], [ 113.61742, -8.30691, 0.0 ], [ 113.61718, -8.30731, 0.0 ], [ 113.61681, -8.30792, 0.0 ], [ 113.61672, -8.30807, 0.0 ], [ 113.61671, -8.30809, 0.0 ], [ 113.61661, -8.30826, 0.0 ], [ 113.61652, -8.30841, 0.0 ], [ 113.61625, -8.30887, 0.0 ], [ 113.61595, -8.30941, 0.0 ], [ 113.61582, -8.30962, 0.0 ], [ 113.61547, -8.31028, 0.0 ], [ 113.61478, -8.31165, 0.0 ], [ 113.6146, -8.31197, 0.0 ], [ 113.61438, -8.31236, 0.0 ], [ 113.61413, -8.31282, 0.0 ], [ 113.61372, -8.31361, 0.0 ], [ 113.61356, -8.31393, 0.0 ], [ 113.61355, -8.31394, 0.0 ], [ 113.61318, -8.31463, 0.0 ], [ 113.61308, -8.3148, 0.0 ], [ 113.61265, -8.31559, 0.0 ], [ 113.61256, -8.31575, 0.0 ], [ 113.61248, -8.31591, 0.0 ], [ 113.61243, -8.31598, 0.0 ], [ 113.61226, -8.3163, 0.0 ], [ 113.61202, -8.31676, 0.0 ], [ 113.6118, -8.31717, 0.0 ], [ 113.61155, -8.31764, 0.0 ], [ 113.61134, -8.31809, 0.0 ], [ 113.61127, -8.31823, 0.0 ], [ 113.61115, -8.31849, 0.0 ], [ 113.61103, -8.31876, 0.0 ], [ 113.6108, -8.31928, 0.0 ], [ 113.61071, -8.31948, 0.0 ], [ 113.61063, -8.31967, 0.0 ], [ 113.61049, -8.32001, 0.0 ], [ 113.61048, -8.32004, 0.0 ], [ 113.6103, -8.32058, 0.0 ], [ 113.61016, -8.32105, 0.0 ], [ 113.60999, -8.32166, 0.0 ], [ 113.60996, -8.32174, 0.0 ], [ 113.60993, -8.32183, 0.0 ], [ 113.60979, -8.32232, 0.0 ], [ 113.60969, -8.32263, 0.0 ], [ 113.60938, -8.32365, 0.0 ], [ 113.60911, -8.32454, 0.0 ], [ 113.60908, -8.32466, 0.0 ], [ 113.60896, -8.32508, 0.0 ], [ 113.60893, -8.32519, 0.0 ], [ 113.60888, -8.32536, 0.0 ], [ 113.60885, -8.32548, 0.0 ], [ 113.60882, -8.32561, 0.0 ], [ 113.60879, -8.32571, 0.0 ], [ 113.60877, -8.3258, 0.0 ], [ 113.60871, -8.32606, 0.0 ], [ 113.60866, -8.32633, 0.0 ], [ 113.60863, -8.32654, 0.0 ], [ 113.60856, -8.32686, 0.0 ], [ 113.60855, -8.32693, 0.0 ], [ 113.60853, -8.32706, 0.0 ], [ 113.60852, -8.32716, 0.0 ], [ 113.60849, -8.32733, 0.0 ], [ 113.60847, -8.32751, 0.0 ], [ 113.60835, -8.32869, 0.0 ], [ 113.60835, -8.32894, 0.0 ], [ 113.60831, -8.32938, 0.0 ], [ 113.60829, -8.32956, 0.0 ], [ 113.60826, -8.32992, 0.0 ], [ 113.60823, -8.3303, 0.0 ], [ 113.6082, -8.33068, 0.0 ], [ 113.60818, -8.33082, 0.0 ], [ 113.60818, -8.33085, 0.0 ], [ 113.60814, -8.33123, 0.0 ], [ 113.60813, -8.33131, 0.0 ], [ 113.60814, -8.33136, 0.0 ], [ 113.60809, -8.33202, 0.0 ], [ 113.60806, -8.33236, 0.0 ], [ 113.60804, -8.33266, 0.0 ], [ 113.60804, -8.33269, 0.0 ], [ 113.60799, -8.33324, 0.0 ], [ 113.60788, -8.3347, 0.0 ], [ 113.60788, -8.33473, 0.0 ], [ 113.60783, -8.33506, 0.0 ], [ 113.60781, -8.33539, 0.0 ], [ 113.6078, -8.33553, 0.0 ], [ 113.60771, -8.33587, 0.0 ], [ 113.60768, -8.33599, 0.0 ], [ 113.60762, -8.33649, 0.0 ], [ 113.60761, -8.33658, 0.0 ], [ 113.60763, -8.33751, 0.0 ], [ 113.6076, -8.33794, 0.0 ], [ 113.6076, -8.33833, 0.0 ], [ 113.6076, -8.33848, 0.0 ], [ 113.60757, -8.33877, 0.0 ], [ 113.60754, -8.3392, 0.0 ], [ 113.6075, -8.33968, 0.0 ], [ 113.60746, -8.34002, 0.0 ], [ 113.60742, -8.34034, 0.0 ], [ 113.60741, -8.34051, 0.0 ], [ 113.6074, -8.3406, 0.0 ], [ 113.6074, -8.34061, 0.0 ], [ 113.6074, -8.34067, 0.0 ], [ 113.60733, -8.34124, 0.0 ], [ 113.60732, -8.34137, 0.0 ], [ 113.60729, -8.34163, 0.0 ], [ 113.60727, -8.34181, 0.0 ], [ 113.60724, -8.34206, 0.0 ], [ 113.6071, -8.3425, 0.0 ], [ 113.60707, -8.34269, 0.0 ], [ 113.60704, -8.3429, 0.0 ], [ 113.60698, -8.34313, 0.0 ], [ 113.60692, -8.3434, 0.0 ], [ 113.60686, -8.34366, 0.0 ], [ 113.60666, -8.34421, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "Jl. Kawi No.156, Krajan, Wonojati, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6477861, -8.2677205, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Jl. Raya Suyitman No.79, Sumberan, Ambulu, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6066582, -8.34421, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Alun-Alun Jenggawah - Taman Galaxi Tempurejo.geojson b/smart_cycling_api/import_queue/done/Alun-Alun Jenggawah - Taman Galaxi Tempurejo.geojson new file mode 100644 index 0000000..08a872a --- /dev/null +++ b/smart_cycling_api/import_queue/done/Alun-Alun Jenggawah - Taman Galaxi Tempurejo.geojson @@ -0,0 +1,10 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari Jl. Kawi No.132, Krajan, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke PM5V+Q2P, Galaksi, Tempurejo, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari Jl. Kawi No.132, Krajan, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke PM5V+Q2P, Galaksi, Tempurejo, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.64812, -8.26687, 0.0 ], [ 113.64779, -8.26772, 0.0 ], [ 113.64854, -8.26802, 0.0 ], [ 113.64865, -8.26806, 0.0 ], [ 113.64885, -8.26815, 0.0 ], [ 113.64898, -8.26821, 0.0 ], [ 113.64909, -8.26827, 0.0 ], [ 113.6492, -8.26837, 0.0 ], [ 113.64928, -8.26845, 0.0 ], [ 113.6493, -8.26847, 0.0 ], [ 113.64942, -8.26862, 0.0 ], [ 113.64952, -8.26875, 0.0 ], [ 113.6497, -8.26899, 0.0 ], [ 113.64986, -8.2692, 0.0 ], [ 113.65018, -8.26962, 0.0 ], [ 113.65053, -8.27009, 0.0 ], [ 113.65068, -8.27028, 0.0 ], [ 113.65086, -8.27053, 0.0 ], [ 113.651, -8.2707, 0.0 ], [ 113.65106, -8.27079, 0.0 ], [ 113.65118, -8.27094, 0.0 ], [ 113.65144, -8.27129, 0.0 ], [ 113.65197, -8.27199, 0.0 ], [ 113.652, -8.27202, 0.0 ], [ 113.65202, -8.27205, 0.0 ], [ 113.65217, -8.27225, 0.0 ], [ 113.65236, -8.27251, 0.0 ], [ 113.65266, -8.2729, 0.0 ], [ 113.65307, -8.27346, 0.0 ], [ 113.65312, -8.27352, 0.0 ], [ 113.65373, -8.27438, 0.0 ], [ 113.65376, -8.27443, 0.0 ], [ 113.65384, -8.27454, 0.0 ], [ 113.65412, -8.27494, 0.0 ], [ 113.6542, -8.27507, 0.0 ], [ 113.65432, -8.27525, 0.0 ], [ 113.65432, -8.27526, 0.0 ], [ 113.65443, -8.27539, 0.0 ], [ 113.65446, -8.27543, 0.0 ], [ 113.65454, -8.27551, 0.0 ], [ 113.65456, -8.27552, 0.0 ], [ 113.65463, -8.27557, 0.0 ], [ 113.65473, -8.2756, 0.0 ], [ 113.65488, -8.27563, 0.0 ], [ 113.6551, -8.27567, 0.0 ], [ 113.65518, -8.27568, 0.0 ], [ 113.65542, -8.27571, 0.0 ], [ 113.65562, -8.27574, 0.0 ], [ 113.65582, -8.27577, 0.0 ], [ 113.65588, -8.2758, 0.0 ], [ 113.6559, -8.2758, 0.0 ], [ 113.65601, -8.27586, 0.0 ], [ 113.65614, -8.27595, 0.0 ], [ 113.65628, -8.27608, 0.0 ], [ 113.65642, -8.2762, 0.0 ], [ 113.6565, -8.27627, 0.0 ], [ 113.65656, -8.27633, 0.0 ], [ 113.65661, -8.27635, 0.0 ], [ 113.65666, -8.27636, 0.0 ], [ 113.65672, -8.27638, 0.0 ], [ 113.65679, -8.27638, 0.0 ], [ 113.65694, -8.27637, 0.0 ], [ 113.65718, -8.27635, 0.0 ], [ 113.65729, -8.27635, 0.0 ], [ 113.65736, -8.27635, 0.0 ], [ 113.65743, -8.27637, 0.0 ], [ 113.65771, -8.27647, 0.0 ], [ 113.65821, -8.27668, 0.0 ], [ 113.6583, -8.27671, 0.0 ], [ 113.65835, -8.27673, 0.0 ], [ 113.65849, -8.27679, 0.0 ], [ 113.65886, -8.27695, 0.0 ], [ 113.65907, -8.27704, 0.0 ], [ 113.65955, -8.27724, 0.0 ], [ 113.66006, -8.27746, 0.0 ], [ 113.6612, -8.27795, 0.0 ], [ 113.66146, -8.27806, 0.0 ], [ 113.66167, -8.27815, 0.0 ], [ 113.66178, -8.2782, 0.0 ], [ 113.66183, -8.27824, 0.0 ], [ 113.66187, -8.27828, 0.0 ], [ 113.66189, -8.27829, 0.0 ], [ 113.66193, -8.27835, 0.0 ], [ 113.662, -8.27848, 0.0 ], [ 113.66206, -8.27864, 0.0 ], [ 113.66218, -8.27894, 0.0 ], [ 113.66219, -8.27897, 0.0 ], [ 113.66245, -8.27961, 0.0 ], [ 113.66266, -8.28011, 0.0 ], [ 113.66298, -8.28091, 0.0 ], [ 113.66305, -8.28108, 0.0 ], [ 113.66361, -8.28244, 0.0 ], [ 113.66373, -8.28274, 0.0 ], [ 113.66454, -8.2847, 0.0 ], [ 113.66474, -8.28521, 0.0 ], [ 113.66524, -8.28643, 0.0 ], [ 113.66525, -8.28646, 0.0 ], [ 113.6654, -8.28682, 0.0 ], [ 113.66547, -8.287, 0.0 ], [ 113.66558, -8.28725, 0.0 ], [ 113.6656, -8.28729, 0.0 ], [ 113.66574, -8.28763, 0.0 ], [ 113.66587, -8.28797, 0.0 ], [ 113.66601, -8.28832, 0.0 ], [ 113.66624, -8.28889, 0.0 ], [ 113.66628, -8.28898, 0.0 ], [ 113.66634, -8.28914, 0.0 ], [ 113.66645, -8.28941, 0.0 ], [ 113.66654, -8.28964, 0.0 ], [ 113.66656, -8.28968, 0.0 ], [ 113.66657, -8.28972, 0.0 ], [ 113.66665, -8.28992, 0.0 ], [ 113.66678, -8.29024, 0.0 ], [ 113.66684, -8.29037, 0.0 ], [ 113.66704, -8.29086, 0.0 ], [ 113.66736, -8.29166, 0.0 ], [ 113.66758, -8.29221, 0.0 ], [ 113.6677, -8.29253, 0.0 ], [ 113.66796, -8.29317, 0.0 ], [ 113.66804, -8.29338, 0.0 ], [ 113.66808, -8.29345, 0.0 ], [ 113.66813, -8.29354, 0.0 ], [ 113.66822, -8.29369, 0.0 ], [ 113.66937, -8.29516, 0.0 ], [ 113.66938, -8.29518, 0.0 ], [ 113.66964, -8.29551, 0.0 ], [ 113.66998, -8.29596, 0.0 ], [ 113.67, -8.29599, 0.0 ], [ 113.67002, -8.29601, 0.0 ], [ 113.67018, -8.29621, 0.0 ], [ 113.67021, -8.29626, 0.0 ], [ 113.67024, -8.29629, 0.0 ], [ 113.67031, -8.29641, 0.0 ], [ 113.67042, -8.29656, 0.0 ], [ 113.67044, -8.29659, 0.0 ], [ 113.67048, -8.29664, 0.0 ], [ 113.67078, -8.29703, 0.0 ], [ 113.67089, -8.29718, 0.0 ], [ 113.67109, -8.29745, 0.0 ], [ 113.67143, -8.29789, 0.0 ], [ 113.67176, -8.29832, 0.0 ], [ 113.67195, -8.29856, 0.0 ], [ 113.67203, -8.29868, 0.0 ], [ 113.67207, -8.29873, 0.0 ], [ 113.67213, -8.29882, 0.0 ], [ 113.67215, -8.29884, 0.0 ], [ 113.6723, -8.29904, 0.0 ], [ 113.67234, -8.29908, 0.0 ], [ 113.67257, -8.29942, 0.0 ], [ 113.67275, -8.29967, 0.0 ], [ 113.67297, -8.29998, 0.0 ], [ 113.67305, -8.3001, 0.0 ], [ 113.67313, -8.3002, 0.0 ], [ 113.67341, -8.30056, 0.0 ], [ 113.6737, -8.30089, 0.0 ], [ 113.6738, -8.30101, 0.0 ], [ 113.67399, -8.30124, 0.0 ], [ 113.67416, -8.30148, 0.0 ], [ 113.67429, -8.30163, 0.0 ], [ 113.67438, -8.30173, 0.0 ], [ 113.67453, -8.30185, 0.0 ], [ 113.6746, -8.30189, 0.0 ], [ 113.67463, -8.3019, 0.0 ], [ 113.67469, -8.30192, 0.0 ], [ 113.67478, -8.30192, 0.0 ], [ 113.67486, -8.30191, 0.0 ], [ 113.67493, -8.30189, 0.0 ], [ 113.67504, -8.30183, 0.0 ], [ 113.67533, -8.30164, 0.0 ], [ 113.67582, -8.3013, 0.0 ], [ 113.67607, -8.30115, 0.0 ], [ 113.6762, -8.30107, 0.0 ], [ 113.67675, -8.30073, 0.0 ], [ 113.67686, -8.30066, 0.0 ], [ 113.67742, -8.30032, 0.0 ], [ 113.67764, -8.30019, 0.0 ], [ 113.67797, -8.29999, 0.0 ], [ 113.67806, -8.29992, 0.0 ], [ 113.67811, -8.29988, 0.0 ], [ 113.6783, -8.29975, 0.0 ], [ 113.67852, -8.29964, 0.0 ], [ 113.67861, -8.2996, 0.0 ], [ 113.67874, -8.29952, 0.0 ], [ 113.67883, -8.29946, 0.0 ], [ 113.67885, -8.29946, 0.0 ], [ 113.67894, -8.29941, 0.0 ], [ 113.67902, -8.2994, 0.0 ], [ 113.67908, -8.29939, 0.0 ], [ 113.67912, -8.29939, 0.0 ], [ 113.67916, -8.29939, 0.0 ], [ 113.67917, -8.29939, 0.0 ], [ 113.6793, -8.29942, 0.0 ], [ 113.67948, -8.29944, 0.0 ], [ 113.67963, -8.29946, 0.0 ], [ 113.67988, -8.29949, 0.0 ], [ 113.68086, -8.29962, 0.0 ], [ 113.68159, -8.29969, 0.0 ], [ 113.68193, -8.29972, 0.0 ], [ 113.68195, -8.29972, 0.0 ], [ 113.68197, -8.29972, 0.0 ], [ 113.682, -8.29971, 0.0 ], [ 113.68203, -8.2997, 0.0 ], [ 113.68206, -8.29968, 0.0 ], [ 113.68211, -8.29963, 0.0 ], [ 113.68261, -8.29917, 0.0 ], [ 113.68264, -8.29915, 0.0 ], [ 113.68267, -8.29913, 0.0 ], [ 113.68273, -8.29911, 0.0 ], [ 113.68278, -8.29909, 0.0 ], [ 113.68296, -8.29904, 0.0 ], [ 113.68302, -8.29906, 0.0 ], [ 113.68315, -8.29911, 0.0 ], [ 113.68322, -8.29914, 0.0 ], [ 113.68326, -8.29915, 0.0 ], [ 113.68328, -8.29916, 0.0 ], [ 113.68335, -8.29918, 0.0 ], [ 113.6834, -8.29921, 0.0 ], [ 113.68344, -8.29924, 0.0 ], [ 113.68347, -8.29927, 0.0 ], [ 113.68351, -8.29934, 0.0 ], [ 113.68353, -8.29939, 0.0 ], [ 113.68353, -8.2994, 0.0 ], [ 113.68354, -8.29947, 0.0 ], [ 113.68354, -8.29957, 0.0 ], [ 113.68354, -8.29963, 0.0 ], [ 113.68354, -8.29978, 0.0 ], [ 113.68356, -8.29985, 0.0 ], [ 113.68359, -8.2999, 0.0 ], [ 113.68361, -8.29993, 0.0 ], [ 113.68368, -8.29997, 0.0 ], [ 113.68374, -8.29999, 0.0 ], [ 113.68382, -8.30001, 0.0 ], [ 113.68413, -8.30006, 0.0 ], [ 113.68427, -8.30008, 0.0 ], [ 113.68436, -8.30009, 0.0 ], [ 113.68471, -8.30014, 0.0 ], [ 113.68496, -8.30018, 0.0 ], [ 113.68524, -8.30021, 0.0 ], [ 113.68526, -8.30021, 0.0 ], [ 113.68549, -8.30023, 0.0 ], [ 113.68562, -8.30024, 0.0 ], [ 113.68593, -8.3003, 0.0 ], [ 113.68633, -8.30035, 0.0 ], [ 113.68654, -8.30038, 0.0 ], [ 113.68689, -8.30043, 0.0 ], [ 113.68699, -8.30044, 0.0 ], [ 113.68709, -8.30045, 0.0 ], [ 113.68725, -8.30048, 0.0 ], [ 113.68733, -8.30049, 0.0 ], [ 113.68746, -8.3005, 0.0 ], [ 113.6876, -8.30052, 0.0 ], [ 113.6877, -8.30054, 0.0 ], [ 113.6878, -8.30055, 0.0 ], [ 113.68809, -8.30059, 0.0 ], [ 113.68866, -8.30067, 0.0 ], [ 113.68895, -8.30071, 0.0 ], [ 113.68936, -8.30076, 0.0 ], [ 113.68966, -8.3008, 0.0 ], [ 113.68976, -8.30011, 0.0 ], [ 113.68991, -8.29937, 0.0 ], [ 113.68992, -8.29935, 0.0 ], [ 113.69004, -8.2988, 0.0 ], [ 113.69006, -8.29871, 0.0 ], [ 113.6901, -8.29858, 0.0 ], [ 113.69018, -8.29825, 0.0 ], [ 113.69025, -8.29798, 0.0 ], [ 113.6903, -8.29776, 0.0 ], [ 113.69033, -8.2976, 0.0 ], [ 113.6904, -8.29732, 0.0 ], [ 113.69044, -8.29712, 0.0 ], [ 113.69052, -8.29681, 0.0 ], [ 113.69067, -8.29612, 0.0 ], [ 113.69078, -8.29568, 0.0 ], [ 113.69082, -8.29552, 0.0 ], [ 113.69094, -8.29515, 0.0 ], [ 113.69115, -8.29454, 0.0 ], [ 113.69123, -8.29431, 0.0 ], [ 113.69135, -8.29397, 0.0 ], [ 113.69156, -8.29347, 0.0 ], [ 113.69163, -8.2933, 0.0 ], [ 113.69164, -8.29328, 0.0 ], [ 113.69181, -8.29279, 0.0 ], [ 113.69202, -8.29217, 0.0 ], [ 113.6922, -8.29148, 0.0 ], [ 113.69228, -8.29114, 0.0 ], [ 113.69231, -8.291, 0.0 ], [ 113.69233, -8.29089, 0.0 ], [ 113.69236, -8.29069, 0.0 ], [ 113.69237, -8.29058, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "Jl. Kawi No.132, Krajan, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6481217, -8.2668726, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PM5V+Q2P, Galaksi, Tempurejo, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6923713, -8.2905801, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Babatan - Cangkring - Gayasan.geojson b/smart_cycling_api/import_queue/done/Babatan - Cangkring - Gayasan.geojson new file mode 100644 index 0000000..2c2ff54 --- /dev/null +++ b/smart_cycling_api/import_queue/done/Babatan - Cangkring - Gayasan.geojson @@ -0,0 +1,15 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari PMVF+R2P, Jatirejo, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke PMVF+R2P, Jatirejo, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari PMVF+R2P, Jatirejo, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke PMVF+R2P, Jatirejo, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.673, -8.25567, 0.0 ], [ 113.6731, -8.25572, 0.0 ], [ 113.67317, -8.25576, 0.0 ], [ 113.67321, -8.25578, 0.0 ], [ 113.67326, -8.25581, 0.0 ], [ 113.67327, -8.25582, 0.0 ], [ 113.67328, -8.25583, 0.0 ], [ 113.67331, -8.25586, 0.0 ], [ 113.67333, -8.25588, 0.0 ], [ 113.67335, -8.25591, 0.0 ], [ 113.67338, -8.25594, 0.0 ], [ 113.6734, -8.25598, 0.0 ], [ 113.67342, -8.25601, 0.0 ], [ 113.67344, -8.25605, 0.0 ], [ 113.67346, -8.25609, 0.0 ], [ 113.67349, -8.25616, 0.0 ], [ 113.67355, -8.25628, 0.0 ], [ 113.67358, -8.25632, 0.0 ], [ 113.67363, -8.25641, 0.0 ], [ 113.67388, -8.25685, 0.0 ], [ 113.67404, -8.25714, 0.0 ], [ 113.67418, -8.25738, 0.0 ], [ 113.67444, -8.25786, 0.0 ], [ 113.67493, -8.25871, 0.0 ], [ 113.6752, -8.25918, 0.0 ], [ 113.67553, -8.25976, 0.0 ], [ 113.67728, -8.26292, 0.0 ], [ 113.67744, -8.2632, 0.0 ], [ 113.67781, -8.26381, 0.0 ], [ 113.67814, -8.26444, 0.0 ], [ 113.67823, -8.2646, 0.0 ], [ 113.67826, -8.26466, 0.0 ], [ 113.67829, -8.2647, 0.0 ], [ 113.67833, -8.26476, 0.0 ], [ 113.67838, -8.26482, 0.0 ], [ 113.67843, -8.26487, 0.0 ], [ 113.67846, -8.2649, 0.0 ], [ 113.67849, -8.26493, 0.0 ], [ 113.67852, -8.26496, 0.0 ], [ 113.6786, -8.26502, 0.0 ], [ 113.67867, -8.26507, 0.0 ], [ 113.67878, -8.26514, 0.0 ], [ 113.67879, -8.26514, 0.0 ], [ 113.6789, -8.26521, 0.0 ], [ 113.679, -8.26526, 0.0 ], [ 113.67943, -8.2654, 0.0 ], [ 113.67973, -8.26556, 0.0 ], [ 113.68044, -8.26599, 0.0 ], [ 113.68055, -8.26606, 0.0 ], [ 113.68087, -8.26621, 0.0 ], [ 113.68118, -8.26639, 0.0 ], [ 113.68141, -8.26652, 0.0 ], [ 113.68143, -8.26654, 0.0 ], [ 113.68154, -8.2666, 0.0 ], [ 113.68159, -8.26663, 0.0 ], [ 113.68165, -8.26668, 0.0 ], [ 113.68174, -8.26677, 0.0 ], [ 113.68186, -8.2669, 0.0 ], [ 113.68197, -8.26703, 0.0 ], [ 113.68233, -8.26743, 0.0 ], [ 113.68251, -8.26763, 0.0 ], [ 113.68303, -8.26816, 0.0 ], [ 113.6832, -8.26834, 0.0 ], [ 113.68335, -8.26852, 0.0 ], [ 113.6838, -8.26901, 0.0 ], [ 113.68359, -8.26924, 0.0 ], [ 113.68342, -8.2694, 0.0 ], [ 113.68318, -8.26963, 0.0 ], [ 113.68307, -8.26974, 0.0 ], [ 113.68297, -8.26984, 0.0 ], [ 113.68294, -8.26987, 0.0 ], [ 113.68259, -8.27018, 0.0 ], [ 113.68237, -8.27039, 0.0 ], [ 113.68215, -8.27058, 0.0 ], [ 113.68196, -8.27075, 0.0 ], [ 113.68171, -8.27098, 0.0 ], [ 113.68137, -8.2713, 0.0 ], [ 113.68103, -8.2716, 0.0 ], [ 113.68074, -8.27189, 0.0 ], [ 113.68041, -8.2722, 0.0 ], [ 113.68025, -8.27235, 0.0 ], [ 113.67988, -8.27268, 0.0 ], [ 113.67974, -8.27281, 0.0 ], [ 113.67961, -8.27293, 0.0 ], [ 113.67948, -8.27304, 0.0 ], [ 113.67934, -8.27317, 0.0 ], [ 113.67926, -8.27325, 0.0 ], [ 113.67911, -8.27339, 0.0 ], [ 113.67878, -8.27371, 0.0 ], [ 113.67861, -8.27386, 0.0 ], [ 113.67852, -8.27393, 0.0 ], [ 113.6784, -8.27409, 0.0 ], [ 113.67827, -8.27428, 0.0 ], [ 113.67819, -8.2744, 0.0 ], [ 113.67812, -8.27452, 0.0 ], [ 113.67806, -8.27466, 0.0 ], [ 113.67804, -8.27469, 0.0 ], [ 113.67799, -8.27481, 0.0 ], [ 113.67798, -8.27486, 0.0 ], [ 113.67792, -8.27503, 0.0 ], [ 113.67791, -8.27509, 0.0 ], [ 113.67781, -8.27542, 0.0 ], [ 113.67762, -8.27607, 0.0 ], [ 113.67749, -8.2765, 0.0 ], [ 113.67728, -8.27716, 0.0 ], [ 113.67725, -8.27722, 0.0 ], [ 113.67719, -8.27744, 0.0 ], [ 113.67716, -8.27756, 0.0 ], [ 113.67709, -8.27779, 0.0 ], [ 113.67694, -8.27831, 0.0 ], [ 113.67681, -8.27872, 0.0 ], [ 113.67666, -8.27928, 0.0 ], [ 113.67664, -8.27935, 0.0 ], [ 113.67653, -8.27969, 0.0 ], [ 113.67648, -8.27986, 0.0 ], [ 113.67621, -8.2807, 0.0 ], [ 113.67615, -8.28089, 0.0 ], [ 113.67608, -8.28112, 0.0 ], [ 113.67603, -8.28137, 0.0 ], [ 113.67602, -8.28152, 0.0 ], [ 113.67601, -8.28167, 0.0 ], [ 113.67602, -8.28178, 0.0 ], [ 113.67602, -8.28185, 0.0 ], [ 113.67603, -8.28195, 0.0 ], [ 113.67604, -8.28209, 0.0 ], [ 113.67605, -8.28213, 0.0 ], [ 113.67608, -8.28233, 0.0 ], [ 113.67612, -8.2825, 0.0 ], [ 113.67617, -8.28267, 0.0 ], [ 113.67622, -8.28279, 0.0 ], [ 113.67623, -8.28283, 0.0 ], [ 113.67631, -8.28299, 0.0 ], [ 113.67641, -8.28317, 0.0 ], [ 113.67654, -8.2834, 0.0 ], [ 113.67668, -8.28361, 0.0 ], [ 113.67678, -8.28376, 0.0 ], [ 113.67685, -8.28386, 0.0 ], [ 113.67708, -8.28422, 0.0 ], [ 113.67735, -8.28454, 0.0 ], [ 113.67761, -8.28492, 0.0 ], [ 113.67783, -8.28523, 0.0 ], [ 113.67786, -8.28526, 0.0 ], [ 113.67799, -8.28545, 0.0 ], [ 113.67804, -8.28552, 0.0 ], [ 113.67805, -8.28555, 0.0 ], [ 113.67813, -8.28568, 0.0 ], [ 113.67823, -8.28586, 0.0 ], [ 113.67831, -8.28607, 0.0 ], [ 113.67836, -8.28621, 0.0 ], [ 113.67839, -8.28634, 0.0 ], [ 113.67842, -8.28649, 0.0 ], [ 113.67839, -8.28634, 0.0 ], [ 113.67825, -8.28638, 0.0 ], [ 113.6781, -8.28641, 0.0 ], [ 113.67777, -8.28646, 0.0 ], [ 113.67775, -8.28646, 0.0 ], [ 113.67744, -8.28652, 0.0 ], [ 113.67721, -8.28657, 0.0 ], [ 113.67709, -8.28659, 0.0 ], [ 113.67652, -8.28672, 0.0 ], [ 113.67622, -8.28677, 0.0 ], [ 113.67596, -8.28682, 0.0 ], [ 113.67589, -8.28683, 0.0 ], [ 113.67562, -8.2869, 0.0 ], [ 113.67534, -8.28696, 0.0 ], [ 113.6753, -8.28697, 0.0 ], [ 113.67502, -8.28699, 0.0 ], [ 113.67483, -8.28699, 0.0 ], [ 113.67452, -8.28699, 0.0 ], [ 113.67424, -8.28697, 0.0 ], [ 113.67409, -8.28696, 0.0 ], [ 113.67373, -8.28693, 0.0 ], [ 113.67313, -8.2869, 0.0 ], [ 113.67288, -8.28689, 0.0 ], [ 113.67254, -8.28687, 0.0 ], [ 113.67243, -8.28687, 0.0 ], [ 113.67235, -8.28687, 0.0 ], [ 113.67224, -8.28687, 0.0 ], [ 113.672, -8.28685, 0.0 ], [ 113.6719, -8.28684, 0.0 ], [ 113.67165, -8.28683, 0.0 ], [ 113.67159, -8.28683, 0.0 ], [ 113.67136, -8.28681, 0.0 ], [ 113.67124, -8.2868, 0.0 ], [ 113.67091, -8.28679, 0.0 ], [ 113.67086, -8.28679, 0.0 ], [ 113.67078, -8.28678, 0.0 ], [ 113.67054, -8.28676, 0.0 ], [ 113.67049, -8.28676, 0.0 ], [ 113.66998, -8.28672, 0.0 ], [ 113.66971, -8.2867, 0.0 ], [ 113.66942, -8.28668, 0.0 ], [ 113.66885, -8.28662, 0.0 ], [ 113.66861, -8.28661, 0.0 ], [ 113.66856, -8.28661, 0.0 ], [ 113.66837, -8.28661, 0.0 ], [ 113.66825, -8.2866, 0.0 ], [ 113.66818, -8.2866, 0.0 ], [ 113.66811, -8.2866, 0.0 ], [ 113.66793, -8.28659, 0.0 ], [ 113.66782, -8.28658, 0.0 ], [ 113.66751, -8.28658, 0.0 ], [ 113.66741, -8.28659, 0.0 ], [ 113.66734, -8.28661, 0.0 ], [ 113.66731, -8.28663, 0.0 ], [ 113.66729, -8.28666, 0.0 ], [ 113.66726, -8.2867, 0.0 ], [ 113.66725, -8.28674, 0.0 ], [ 113.66724, -8.28679, 0.0 ], [ 113.66724, -8.28694, 0.0 ], [ 113.66724, -8.28705, 0.0 ], [ 113.66706, -8.28709, 0.0 ], [ 113.66689, -8.28711, 0.0 ], [ 113.66674, -8.28714, 0.0 ], [ 113.6666, -8.28716, 0.0 ], [ 113.66656, -8.28717, 0.0 ], [ 113.66644, -8.28719, 0.0 ], [ 113.66638, -8.28721, 0.0 ], [ 113.66636, -8.28722, 0.0 ], [ 113.66631, -8.28725, 0.0 ], [ 113.66616, -8.28735, 0.0 ], [ 113.66605, -8.28742, 0.0 ], [ 113.66574, -8.28763, 0.0 ], [ 113.66571, -8.28755, 0.0 ], [ 113.6656, -8.28729, 0.0 ], [ 113.66558, -8.28725, 0.0 ], [ 113.66547, -8.287, 0.0 ], [ 113.6654, -8.28682, 0.0 ], [ 113.66525, -8.28646, 0.0 ], [ 113.66524, -8.28643, 0.0 ], [ 113.66474, -8.28521, 0.0 ], [ 113.66454, -8.2847, 0.0 ], [ 113.66373, -8.28274, 0.0 ], [ 113.66361, -8.28244, 0.0 ], [ 113.66305, -8.28108, 0.0 ], [ 113.66298, -8.28091, 0.0 ], [ 113.66266, -8.28011, 0.0 ], [ 113.66245, -8.27961, 0.0 ], [ 113.66219, -8.27897, 0.0 ], [ 113.66218, -8.27894, 0.0 ], [ 113.66206, -8.27864, 0.0 ], [ 113.662, -8.27848, 0.0 ], [ 113.66193, -8.27835, 0.0 ], [ 113.66189, -8.27829, 0.0 ], [ 113.66187, -8.27828, 0.0 ], [ 113.66183, -8.27824, 0.0 ], [ 113.66178, -8.2782, 0.0 ], [ 113.66167, -8.27815, 0.0 ], [ 113.66146, -8.27806, 0.0 ], [ 113.6612, -8.27795, 0.0 ], [ 113.66006, -8.27746, 0.0 ], [ 113.65955, -8.27724, 0.0 ], [ 113.65907, -8.27704, 0.0 ], [ 113.65886, -8.27695, 0.0 ], [ 113.65849, -8.27679, 0.0 ], [ 113.65835, -8.27673, 0.0 ], [ 113.6583, -8.27671, 0.0 ], [ 113.65821, -8.27668, 0.0 ], [ 113.65771, -8.27647, 0.0 ], [ 113.65743, -8.27637, 0.0 ], [ 113.65736, -8.27635, 0.0 ], [ 113.65729, -8.27635, 0.0 ], [ 113.65718, -8.27635, 0.0 ], [ 113.65694, -8.27637, 0.0 ], [ 113.65679, -8.27638, 0.0 ], [ 113.65672, -8.27638, 0.0 ], [ 113.65666, -8.27636, 0.0 ], [ 113.65661, -8.27635, 0.0 ], [ 113.65656, -8.27633, 0.0 ], [ 113.6565, -8.27627, 0.0 ], [ 113.65642, -8.2762, 0.0 ], [ 113.65628, -8.27608, 0.0 ], [ 113.65647, -8.2758, 0.0 ], [ 113.65651, -8.27575, 0.0 ], [ 113.65654, -8.27569, 0.0 ], [ 113.65658, -8.27562, 0.0 ], [ 113.65661, -8.27551, 0.0 ], [ 113.65667, -8.27529, 0.0 ], [ 113.65669, -8.2751, 0.0 ], [ 113.6567, -8.27504, 0.0 ], [ 113.65672, -8.27484, 0.0 ], [ 113.65673, -8.27459, 0.0 ], [ 113.65675, -8.27447, 0.0 ], [ 113.65677, -8.27441, 0.0 ], [ 113.65681, -8.27436, 0.0 ], [ 113.65688, -8.2743, 0.0 ], [ 113.65698, -8.27423, 0.0 ], [ 113.65708, -8.27416, 0.0 ], [ 113.65715, -8.27412, 0.0 ], [ 113.65726, -8.27404, 0.0 ], [ 113.65729, -8.27401, 0.0 ], [ 113.65732, -8.27398, 0.0 ], [ 113.65734, -8.27394, 0.0 ], [ 113.65738, -8.27373, 0.0 ], [ 113.65744, -8.27335, 0.0 ], [ 113.65751, -8.27291, 0.0 ], [ 113.65753, -8.27281, 0.0 ], [ 113.65756, -8.27275, 0.0 ], [ 113.65759, -8.2727, 0.0 ], [ 113.65763, -8.27266, 0.0 ], [ 113.65773, -8.27261, 0.0 ], [ 113.65786, -8.27256, 0.0 ], [ 113.65801, -8.27249, 0.0 ], [ 113.65823, -8.27237, 0.0 ], [ 113.65833, -8.27232, 0.0 ], [ 113.65849, -8.27223, 0.0 ], [ 113.65881, -8.27206, 0.0 ], [ 113.65906, -8.27193, 0.0 ], [ 113.65914, -8.2719, 0.0 ], [ 113.6592, -8.27189, 0.0 ], [ 113.65928, -8.27189, 0.0 ], [ 113.65935, -8.27192, 0.0 ], [ 113.65955, -8.27201, 0.0 ], [ 113.65963, -8.27203, 0.0 ], [ 113.65967, -8.27203, 0.0 ], [ 113.65971, -8.27204, 0.0 ], [ 113.6598, -8.27204, 0.0 ], [ 113.65989, -8.27203, 0.0 ], [ 113.66002, -8.272, 0.0 ], [ 113.66013, -8.27196, 0.0 ], [ 113.66024, -8.2719, 0.0 ], [ 113.66035, -8.27181, 0.0 ], [ 113.66047, -8.27169, 0.0 ], [ 113.6605, -8.27165, 0.0 ], [ 113.66058, -8.27155, 0.0 ], [ 113.6607, -8.27139, 0.0 ], [ 113.66073, -8.27134, 0.0 ], [ 113.6608, -8.27122, 0.0 ], [ 113.66087, -8.27106, 0.0 ], [ 113.66099, -8.27079, 0.0 ], [ 113.66106, -8.27064, 0.0 ], [ 113.66119, -8.27033, 0.0 ], [ 113.66128, -8.27015, 0.0 ], [ 113.66138, -8.26989, 0.0 ], [ 113.6614, -8.26984, 0.0 ], [ 113.66147, -8.26967, 0.0 ], [ 113.66172, -8.26903, 0.0 ], [ 113.66194, -8.2685, 0.0 ], [ 113.66214, -8.26793, 0.0 ], [ 113.66227, -8.26767, 0.0 ], [ 113.66241, -8.26735, 0.0 ], [ 113.66251, -8.26714, 0.0 ], [ 113.66254, -8.26706, 0.0 ], [ 113.66261, -8.26687, 0.0 ], [ 113.66268, -8.26672, 0.0 ], [ 113.6628, -8.26641, 0.0 ], [ 113.66296, -8.26609, 0.0 ], [ 113.66312, -8.26574, 0.0 ], [ 113.66332, -8.26537, 0.0 ], [ 113.6634, -8.26524, 0.0 ], [ 113.6636, -8.26487, 0.0 ], [ 113.66374, -8.26458, 0.0 ], [ 113.6639, -8.2642, 0.0 ], [ 113.66398, -8.26395, 0.0 ], [ 113.66401, -8.26387, 0.0 ], [ 113.66415, -8.26351, 0.0 ], [ 113.66417, -8.26346, 0.0 ], [ 113.66419, -8.26344, 0.0 ], [ 113.66421, -8.26343, 0.0 ], [ 113.66425, -8.26343, 0.0 ], [ 113.66429, -8.26345, 0.0 ], [ 113.66474, -8.2636, 0.0 ], [ 113.66514, -8.26375, 0.0 ], [ 113.66529, -8.26381, 0.0 ], [ 113.66531, -8.26382, 0.0 ], [ 113.66536, -8.26383, 0.0 ], [ 113.66541, -8.26385, 0.0 ], [ 113.66548, -8.26386, 0.0 ], [ 113.66556, -8.26384, 0.0 ], [ 113.66559, -8.26383, 0.0 ], [ 113.66565, -8.26379, 0.0 ], [ 113.66571, -8.26373, 0.0 ], [ 113.66582, -8.2636, 0.0 ], [ 113.66595, -8.26343, 0.0 ], [ 113.66599, -8.2634, 0.0 ], [ 113.66607, -8.26329, 0.0 ], [ 113.66621, -8.26313, 0.0 ], [ 113.66639, -8.26291, 0.0 ], [ 113.66645, -8.26284, 0.0 ], [ 113.66668, -8.26258, 0.0 ], [ 113.66712, -8.26201, 0.0 ], [ 113.66736, -8.2617, 0.0 ], [ 113.66741, -8.26164, 0.0 ], [ 113.66746, -8.26158, 0.0 ], [ 113.66749, -8.26152, 0.0 ], [ 113.66762, -8.2613, 0.0 ], [ 113.66764, -8.26127, 0.0 ], [ 113.66776, -8.26106, 0.0 ], [ 113.66791, -8.26076, 0.0 ], [ 113.66802, -8.26054, 0.0 ], [ 113.66816, -8.26024, 0.0 ], [ 113.66819, -8.2602, 0.0 ], [ 113.66842, -8.25977, 0.0 ], [ 113.66859, -8.25948, 0.0 ], [ 113.66874, -8.25919, 0.0 ], [ 113.66887, -8.25897, 0.0 ], [ 113.66905, -8.25862, 0.0 ], [ 113.66916, -8.2584, 0.0 ], [ 113.66928, -8.25816, 0.0 ], [ 113.66933, -8.25807, 0.0 ], [ 113.66942, -8.2579, 0.0 ], [ 113.66944, -8.25786, 0.0 ], [ 113.6697, -8.25735, 0.0 ], [ 113.6699, -8.25688, 0.0 ], [ 113.66994, -8.25681, 0.0 ], [ 113.67002, -8.25663, 0.0 ], [ 113.67017, -8.2563, 0.0 ], [ 113.6702, -8.25623, 0.0 ], [ 113.67029, -8.25604, 0.0 ], [ 113.67044, -8.25572, 0.0 ], [ 113.67053, -8.25552, 0.0 ], [ 113.67065, -8.25526, 0.0 ], [ 113.67072, -8.25509, 0.0 ], [ 113.67085, -8.25473, 0.0 ], [ 113.6709, -8.25461, 0.0 ], [ 113.67135, -8.25484, 0.0 ], [ 113.67202, -8.25518, 0.0 ], [ 113.67219, -8.25526, 0.0 ], [ 113.673, -8.25567, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "PMVF+R2P, Jatirejo, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6729959, -8.2556738, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Jl. Talang, Babatan, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6792563, -8.2732549, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PM7H+C5W, Cangkring Baru, Cangkring, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6784167, -8.2864872, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PM68+X7C, Cangkring Baru, Cangkring, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.665709, -8.2875546, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PMP7+FRR, Dusun, Gayasan A, Jatirejo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.664151, -8.2635113, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PMVC+V8R, Gayasan A, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6708531, -8.2547307, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PMVF+R2P, Jatirejo, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6729959, -8.2556738, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Balai Desa Jatimulyo - Balai Desa Sidodadi.geojson b/smart_cycling_api/import_queue/done/Balai Desa Jatimulyo - Balai Desa Sidodadi.geojson new file mode 100644 index 0000000..8ec1ed7 --- /dev/null +++ b/smart_cycling_api/import_queue/done/Balai Desa Jatimulyo - Balai Desa Sidodadi.geojson @@ -0,0 +1,10 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari Kantor Desa Jatimulyo, RW.01, Darussalam, Jatimulyo, Kabupaten Jember, Jawa Timur ke Kantor Desa Sidodadi, Jalan Kartini, Sidodadi, Kabupaten Jember, Jawa Timur", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari Kantor Desa Jatimulyo, RW.01, Darussalam, Jatimulyo, Kabupaten Jember, Jawa Timur ke Kantor Desa Sidodadi, Jalan Kartini, Sidodadi, Kabupaten Jember, Jawa Timur", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.6626, -8.32117, 0.0 ], [ 113.66256, -8.32128, 0.0 ], [ 113.66245, -8.3216, 0.0 ], [ 113.66248, -8.3216, 0.0 ], [ 113.66263, -8.32159, 0.0 ], [ 113.66283, -8.32155, 0.0 ], [ 113.663, -8.32152, 0.0 ], [ 113.66305, -8.32157, 0.0 ], [ 113.66307, -8.3216, 0.0 ], [ 113.6631, -8.32162, 0.0 ], [ 113.66315, -8.32165, 0.0 ], [ 113.66324, -8.32168, 0.0 ], [ 113.66338, -8.32174, 0.0 ], [ 113.6635, -8.3218, 0.0 ], [ 113.66373, -8.32192, 0.0 ], [ 113.66444, -8.32233, 0.0 ], [ 113.66476, -8.32252, 0.0 ], [ 113.66491, -8.32262, 0.0 ], [ 113.66569, -8.32308, 0.0 ], [ 113.666, -8.32326, 0.0 ], [ 113.66672, -8.3237, 0.0 ], [ 113.66699, -8.32388, 0.0 ], [ 113.6678, -8.32437, 0.0 ], [ 113.66787, -8.32441, 0.0 ], [ 113.6683, -8.32467, 0.0 ], [ 113.66876, -8.32491, 0.0 ], [ 113.66883, -8.32495, 0.0 ], [ 113.66896, -8.32503, 0.0 ], [ 113.66907, -8.32509, 0.0 ], [ 113.66917, -8.32514, 0.0 ], [ 113.66925, -8.32519, 0.0 ], [ 113.6693, -8.32523, 0.0 ], [ 113.66934, -8.32528, 0.0 ], [ 113.66938, -8.32533, 0.0 ], [ 113.6694, -8.32537, 0.0 ], [ 113.66943, -8.32542, 0.0 ], [ 113.66944, -8.32547, 0.0 ], [ 113.66945, -8.32566, 0.0 ], [ 113.66944, -8.3259, 0.0 ], [ 113.66935, -8.32685, 0.0 ], [ 113.66928, -8.32791, 0.0 ], [ 113.66921, -8.32895, 0.0 ], [ 113.6692, -8.32901, 0.0 ], [ 113.66912, -8.3298, 0.0 ], [ 113.66908, -8.33035, 0.0 ], [ 113.66909, -8.33062, 0.0 ], [ 113.66905, -8.33123, 0.0 ], [ 113.66905, -8.33126, 0.0 ], [ 113.66903, -8.33138, 0.0 ], [ 113.66903, -8.33144, 0.0 ], [ 113.66902, -8.33145, 0.0 ], [ 113.669, -8.33173, 0.0 ], [ 113.66897, -8.33187, 0.0 ], [ 113.66891, -8.33264, 0.0 ], [ 113.66891, -8.33275, 0.0 ], [ 113.6689, -8.33293, 0.0 ], [ 113.66884, -8.33356, 0.0 ], [ 113.66883, -8.33367, 0.0 ], [ 113.66882, -8.3338, 0.0 ], [ 113.6688, -8.3343, 0.0 ], [ 113.66879, -8.33451, 0.0 ], [ 113.66878, -8.33484, 0.0 ], [ 113.66877, -8.33507, 0.0 ], [ 113.66876, -8.33512, 0.0 ], [ 113.66872, -8.3356, 0.0 ], [ 113.66864, -8.33651, 0.0 ], [ 113.66856, -8.33746, 0.0 ], [ 113.66847, -8.33834, 0.0 ], [ 113.66843, -8.33921, 0.0 ], [ 113.66834, -8.34013, 0.0 ], [ 113.66828, -8.34102, 0.0 ], [ 113.66825, -8.3414, 0.0 ], [ 113.66824, -8.34149, 0.0 ], [ 113.66821, -8.34185, 0.0 ], [ 113.66819, -8.34208, 0.0 ], [ 113.66817, -8.34227, 0.0 ], [ 113.66817, -8.34248, 0.0 ], [ 113.66817, -8.34257, 0.0 ], [ 113.66816, -8.34266, 0.0 ], [ 113.66815, -8.34276, 0.0 ], [ 113.66815, -8.34281, 0.0 ], [ 113.66813, -8.34288, 0.0 ], [ 113.66808, -8.34305, 0.0 ], [ 113.66804, -8.34318, 0.0 ], [ 113.66803, -8.3432, 0.0 ], [ 113.668, -8.34327, 0.0 ], [ 113.66794, -8.34339, 0.0 ], [ 113.66786, -8.34358, 0.0 ], [ 113.66778, -8.34377, 0.0 ], [ 113.66775, -8.34387, 0.0 ], [ 113.66753, -8.34459, 0.0 ], [ 113.66739, -8.34504, 0.0 ], [ 113.66727, -8.34539, 0.0 ], [ 113.66711, -8.34586, 0.0 ], [ 113.66687, -8.34653, 0.0 ], [ 113.66678, -8.34679, 0.0 ], [ 113.6666, -8.34722, 0.0 ], [ 113.66645, -8.34759, 0.0 ], [ 113.66643, -8.34763, 0.0 ], [ 113.6663, -8.34799, 0.0 ], [ 113.66619, -8.34828, 0.0 ], [ 113.66619, -8.3483, 0.0 ], [ 113.66614, -8.34843, 0.0 ], [ 113.6661, -8.34855, 0.0 ], [ 113.66608, -8.34864, 0.0 ], [ 113.66606, -8.34872, 0.0 ], [ 113.66605, -8.34879, 0.0 ], [ 113.66604, -8.34888, 0.0 ], [ 113.66604, -8.34898, 0.0 ], [ 113.66604, -8.349, 0.0 ], [ 113.66598, -8.34971, 0.0 ], [ 113.66595, -8.35016, 0.0 ], [ 113.66594, -8.35025, 0.0 ], [ 113.66586, -8.35121, 0.0 ], [ 113.66582, -8.35161, 0.0 ], [ 113.66582, -8.35163, 0.0 ], [ 113.66581, -8.3518, 0.0 ], [ 113.66579, -8.35213, 0.0 ], [ 113.66577, -8.35243, 0.0 ], [ 113.66576, -8.35252, 0.0 ], [ 113.6657, -8.35345, 0.0 ], [ 113.66566, -8.35392, 0.0 ], [ 113.66565, -8.35402, 0.0 ], [ 113.66564, -8.35417, 0.0 ], [ 113.66562, -8.35441, 0.0 ], [ 113.6656, -8.35455, 0.0 ], [ 113.66559, -8.35466, 0.0 ], [ 113.66558, -8.35472, 0.0 ], [ 113.66558, -8.35475, 0.0 ], [ 113.66557, -8.35477, 0.0 ], [ 113.66557, -8.35478, 0.0 ], [ 113.66556, -8.3548, 0.0 ], [ 113.66556, -8.35481, 0.0 ], [ 113.66555, -8.35483, 0.0 ], [ 113.6655, -8.35494, 0.0 ], [ 113.66544, -8.35505, 0.0 ], [ 113.66531, -8.35526, 0.0 ], [ 113.66521, -8.35543, 0.0 ], [ 113.66512, -8.35557, 0.0 ], [ 113.66511, -8.35559, 0.0 ], [ 113.66505, -8.35569, 0.0 ], [ 113.66498, -8.3558, 0.0 ], [ 113.66492, -8.35591, 0.0 ], [ 113.6649, -8.35593, 0.0 ], [ 113.66487, -8.35599, 0.0 ], [ 113.66482, -8.35607, 0.0 ], [ 113.66478, -8.35613, 0.0 ], [ 113.66478, -8.35614, 0.0 ], [ 113.66475, -8.35619, 0.0 ], [ 113.66472, -8.35625, 0.0 ], [ 113.6647, -8.35629, 0.0 ], [ 113.66469, -8.35633, 0.0 ], [ 113.66467, -8.35639, 0.0 ], [ 113.66465, -8.35644, 0.0 ], [ 113.66464, -8.3565, 0.0 ], [ 113.66464, -8.35656, 0.0 ], [ 113.6646, -8.35711, 0.0 ], [ 113.66458, -8.35756, 0.0 ], [ 113.66453, -8.35818, 0.0 ], [ 113.66451, -8.35865, 0.0 ], [ 113.6645, -8.35888, 0.0 ], [ 113.66447, -8.35925, 0.0 ], [ 113.66446, -8.35927, 0.0 ], [ 113.66446, -8.35928, 0.0 ], [ 113.66446, -8.3593, 0.0 ], [ 113.66445, -8.35932, 0.0 ], [ 113.66444, -8.35934, 0.0 ], [ 113.66443, -8.35938, 0.0 ], [ 113.66437, -8.3595, 0.0 ], [ 113.66414, -8.35999, 0.0 ], [ 113.66412, -8.36001, 0.0 ], [ 113.66405, -8.36014, 0.0 ], [ 113.66385, -8.36052, 0.0 ], [ 113.66367, -8.36086, 0.0 ], [ 113.66339, -8.36143, 0.0 ], [ 113.66338, -8.36145, 0.0 ], [ 113.66317, -8.36188, 0.0 ], [ 113.66313, -8.36196, 0.0 ], [ 113.66307, -8.36207, 0.0 ], [ 113.66297, -8.36227, 0.0 ], [ 113.66277, -8.36268, 0.0 ], [ 113.66258, -8.36307, 0.0 ], [ 113.66254, -8.36315, 0.0 ], [ 113.66248, -8.36328, 0.0 ], [ 113.66215, -8.36393, 0.0 ], [ 113.66211, -8.364, 0.0 ], [ 113.66166, -8.36487, 0.0 ], [ 113.6615, -8.36575, 0.0 ], [ 113.6614, -8.36619, 0.0 ], [ 113.66133, -8.36663, 0.0 ], [ 113.66084, -8.36655, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "Kantor Desa Jatimulyo, RW.01, Darussalam, Jatimulyo, Kabupaten Jember, Jawa Timur", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6625998, -8.3211719, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Kantor Desa Sidodadi, Jalan Kartini, Sidodadi, Kabupaten Jember, Jawa Timur", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6608362, -8.3665529, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Bandara Notohadinegoro.geojson b/smart_cycling_api/import_queue/done/Bandara Notohadinegoro.geojson new file mode 100644 index 0000000..e47407f --- /dev/null +++ b/smart_cycling_api/import_queue/done/Bandara Notohadinegoro.geojson @@ -0,0 +1,12 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari QM4G+PFM, Pd. Labu, Klompangan, Kec. Ajung, Kabupaten Jember, Jawa Timur 68175, Indonesia ke QM4G+PFM, Pd. Labu, Klompangan, Kec. Ajung, Kabupaten Jember, Jawa Timur 68175, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari QM4G+PFM, Pd. Labu, Klompangan, Kec. Ajung, Kabupaten Jember, Jawa Timur 68175, Indonesia ke QM4G+PFM, Pd. Labu, Klompangan, Kec. Ajung, Kabupaten Jember, Jawa Timur 68175, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.67658, -8.24311, 0.0 ], [ 113.67652, -8.24311, 0.0 ], [ 113.67649, -8.24342, 0.0 ], [ 113.67646, -8.24382, 0.0 ], [ 113.67643, -8.24418, 0.0 ], [ 113.67641, -8.2446, 0.0 ], [ 113.67638, -8.24523, 0.0 ], [ 113.67638, -8.2454, 0.0 ], [ 113.67637, -8.24585, 0.0 ], [ 113.67637, -8.24634, 0.0 ], [ 113.67637, -8.24724, 0.0 ], [ 113.67639, -8.24794, 0.0 ], [ 113.6764, -8.24814, 0.0 ], [ 113.67642, -8.24833, 0.0 ], [ 113.67643, -8.24862, 0.0 ], [ 113.67643, -8.24877, 0.0 ], [ 113.67643, -8.2489, 0.0 ], [ 113.67643, -8.24901, 0.0 ], [ 113.67642, -8.24915, 0.0 ], [ 113.67641, -8.24927, 0.0 ], [ 113.67641, -8.24928, 0.0 ], [ 113.6764, -8.24938, 0.0 ], [ 113.6764, -8.24943, 0.0 ], [ 113.67639, -8.2495, 0.0 ], [ 113.67636, -8.24965, 0.0 ], [ 113.67632, -8.24981, 0.0 ], [ 113.67625, -8.25013, 0.0 ], [ 113.67624, -8.25015, 0.0 ], [ 113.67615, -8.25046, 0.0 ], [ 113.6761, -8.25065, 0.0 ], [ 113.67606, -8.25078, 0.0 ], [ 113.67604, -8.25085, 0.0 ], [ 113.67593, -8.25115, 0.0 ], [ 113.67584, -8.2514, 0.0 ], [ 113.67577, -8.25159, 0.0 ], [ 113.67573, -8.25168, 0.0 ], [ 113.6756, -8.25191, 0.0 ], [ 113.67546, -8.25215, 0.0 ], [ 113.67533, -8.25236, 0.0 ], [ 113.67519, -8.2526, 0.0 ], [ 113.67515, -8.25266, 0.0 ], [ 113.67509, -8.25275, 0.0 ], [ 113.67501, -8.25286, 0.0 ], [ 113.67474, -8.25323, 0.0 ], [ 113.6747, -8.25328, 0.0 ], [ 113.67451, -8.25354, 0.0 ], [ 113.67434, -8.25375, 0.0 ], [ 113.67417, -8.25395, 0.0 ], [ 113.67391, -8.25425, 0.0 ], [ 113.67382, -8.25436, 0.0 ], [ 113.67377, -8.25443, 0.0 ], [ 113.67371, -8.25451, 0.0 ], [ 113.67351, -8.2548, 0.0 ], [ 113.67351, -8.25481, 0.0 ], [ 113.6733, -8.25513, 0.0 ], [ 113.67319, -8.25531, 0.0 ], [ 113.67334, -8.25542, 0.0 ], [ 113.67343, -8.25548, 0.0 ], [ 113.6735, -8.25553, 0.0 ], [ 113.67353, -8.25555, 0.0 ], [ 113.67356, -8.25558, 0.0 ], [ 113.67359, -8.25561, 0.0 ], [ 113.67362, -8.25565, 0.0 ], [ 113.67365, -8.25569, 0.0 ], [ 113.67369, -8.25574, 0.0 ], [ 113.67379, -8.25594, 0.0 ], [ 113.67392, -8.25617, 0.0 ], [ 113.67413, -8.25655, 0.0 ], [ 113.67427, -8.25678, 0.0 ], [ 113.67437, -8.25694, 0.0 ], [ 113.67445, -8.25702, 0.0 ], [ 113.67451, -8.25708, 0.0 ], [ 113.67461, -8.25714, 0.0 ], [ 113.67467, -8.25718, 0.0 ], [ 113.67471, -8.25719, 0.0 ], [ 113.67475, -8.2572, 0.0 ], [ 113.67479, -8.2572, 0.0 ], [ 113.67485, -8.25721, 0.0 ], [ 113.67493, -8.25721, 0.0 ], [ 113.67506, -8.2572, 0.0 ], [ 113.67523, -8.25718, 0.0 ], [ 113.67541, -8.25716, 0.0 ], [ 113.67564, -8.25712, 0.0 ], [ 113.67579, -8.25709, 0.0 ], [ 113.67595, -8.25708, 0.0 ], [ 113.67605, -8.25708, 0.0 ], [ 113.67611, -8.25708, 0.0 ], [ 113.67619, -8.25708, 0.0 ], [ 113.67626, -8.2571, 0.0 ], [ 113.6764, -8.25712, 0.0 ], [ 113.67645, -8.25712, 0.0 ], [ 113.67658, -8.25713, 0.0 ], [ 113.67663, -8.25713, 0.0 ], [ 113.67684, -8.25715, 0.0 ], [ 113.67708, -8.25716, 0.0 ], [ 113.67747, -8.25719, 0.0 ], [ 113.67767, -8.25721, 0.0 ], [ 113.67787, -8.25722, 0.0 ], [ 113.67813, -8.25724, 0.0 ], [ 113.67831, -8.25726, 0.0 ], [ 113.67859, -8.25728, 0.0 ], [ 113.67871, -8.25728, 0.0 ], [ 113.67881, -8.25728, 0.0 ], [ 113.67898, -8.25727, 0.0 ], [ 113.67925, -8.25724, 0.0 ], [ 113.68012, -8.25712, 0.0 ], [ 113.68039, -8.25708, 0.0 ], [ 113.68063, -8.25704, 0.0 ], [ 113.68074, -8.25702, 0.0 ], [ 113.68084, -8.25701, 0.0 ], [ 113.68123, -8.25694, 0.0 ], [ 113.68178, -8.25684, 0.0 ], [ 113.68191, -8.25682, 0.0 ], [ 113.68209, -8.25679, 0.0 ], [ 113.68232, -8.25674, 0.0 ], [ 113.68255, -8.2567, 0.0 ], [ 113.6827, -8.25668, 0.0 ], [ 113.68283, -8.25666, 0.0 ], [ 113.68293, -8.25664, 0.0 ], [ 113.68337, -8.25662, 0.0 ], [ 113.68361, -8.25661, 0.0 ], [ 113.68368, -8.25661, 0.0 ], [ 113.68379, -8.25661, 0.0 ], [ 113.68387, -8.25661, 0.0 ], [ 113.68394, -8.25661, 0.0 ], [ 113.68411, -8.25663, 0.0 ], [ 113.6842, -8.25663, 0.0 ], [ 113.68429, -8.25664, 0.0 ], [ 113.68433, -8.25665, 0.0 ], [ 113.68475, -8.25673, 0.0 ], [ 113.68484, -8.25675, 0.0 ], [ 113.68492, -8.25677, 0.0 ], [ 113.68498, -8.25679, 0.0 ], [ 113.68502, -8.2568, 0.0 ], [ 113.68513, -8.25683, 0.0 ], [ 113.68532, -8.25691, 0.0 ], [ 113.68536, -8.25693, 0.0 ], [ 113.68553, -8.257, 0.0 ], [ 113.68566, -8.25704, 0.0 ], [ 113.6859, -8.25713, 0.0 ], [ 113.68615, -8.25723, 0.0 ], [ 113.68635, -8.25731, 0.0 ], [ 113.6865, -8.25737, 0.0 ], [ 113.6865, -8.25738, 0.0 ], [ 113.68661, -8.25743, 0.0 ], [ 113.68672, -8.25749, 0.0 ], [ 113.68682, -8.25754, 0.0 ], [ 113.68714, -8.25771, 0.0 ], [ 113.6872, -8.25774, 0.0 ], [ 113.68747, -8.25787, 0.0 ], [ 113.68763, -8.25795, 0.0 ], [ 113.68782, -8.25805, 0.0 ], [ 113.68821, -8.25825, 0.0 ], [ 113.68871, -8.2585, 0.0 ], [ 113.68908, -8.25869, 0.0 ], [ 113.68914, -8.25872, 0.0 ], [ 113.68944, -8.25889, 0.0 ], [ 113.68977, -8.25906, 0.0 ], [ 113.69007, -8.25921, 0.0 ], [ 113.69035, -8.25936, 0.0 ], [ 113.69064, -8.2595, 0.0 ], [ 113.69108, -8.25972, 0.0 ], [ 113.69148, -8.25993, 0.0 ], [ 113.69184, -8.26011, 0.0 ], [ 113.69198, -8.26019, 0.0 ], [ 113.69231, -8.26036, 0.0 ], [ 113.69284, -8.26063, 0.0 ], [ 113.69312, -8.26077, 0.0 ], [ 113.69339, -8.26091, 0.0 ], [ 113.69348, -8.26096, 0.0 ], [ 113.69379, -8.26113, 0.0 ], [ 113.69392, -8.2609, 0.0 ], [ 113.694, -8.26071, 0.0 ], [ 113.69407, -8.26057, 0.0 ], [ 113.69411, -8.26046, 0.0 ], [ 113.6943, -8.25998, 0.0 ], [ 113.69431, -8.25995, 0.0 ], [ 113.69435, -8.25983, 0.0 ], [ 113.69438, -8.25976, 0.0 ], [ 113.69441, -8.25971, 0.0 ], [ 113.69448, -8.25954, 0.0 ], [ 113.69457, -8.25935, 0.0 ], [ 113.69478, -8.25886, 0.0 ], [ 113.69481, -8.25878, 0.0 ], [ 113.69494, -8.25847, 0.0 ], [ 113.69496, -8.25842, 0.0 ], [ 113.69513, -8.25802, 0.0 ], [ 113.69523, -8.25781, 0.0 ], [ 113.69538, -8.25747, 0.0 ], [ 113.69551, -8.25715, 0.0 ], [ 113.69552, -8.25713, 0.0 ], [ 113.69573, -8.25665, 0.0 ], [ 113.69578, -8.25654, 0.0 ], [ 113.69588, -8.25632, 0.0 ], [ 113.69593, -8.25622, 0.0 ], [ 113.69602, -8.25599, 0.0 ], [ 113.69615, -8.2557, 0.0 ], [ 113.69617, -8.25565, 0.0 ], [ 113.69618, -8.25559, 0.0 ], [ 113.6962, -8.25555, 0.0 ], [ 113.69621, -8.25551, 0.0 ], [ 113.69621, -8.25548, 0.0 ], [ 113.69621, -8.25545, 0.0 ], [ 113.69622, -8.25542, 0.0 ], [ 113.69622, -8.25536, 0.0 ], [ 113.69622, -8.25531, 0.0 ], [ 113.69622, -8.25525, 0.0 ], [ 113.69622, -8.25511, 0.0 ], [ 113.69622, -8.25481, 0.0 ], [ 113.69622, -8.25477, 0.0 ], [ 113.69622, -8.2545, 0.0 ], [ 113.69622, -8.25441, 0.0 ], [ 113.69623, -8.25423, 0.0 ], [ 113.69623, -8.25405, 0.0 ], [ 113.69623, -8.25387, 0.0 ], [ 113.69624, -8.25373, 0.0 ], [ 113.69624, -8.25355, 0.0 ], [ 113.69624, -8.25351, 0.0 ], [ 113.69624, -8.25333, 0.0 ], [ 113.69623, -8.25279, 0.0 ], [ 113.69623, -8.25261, 0.0 ], [ 113.69623, -8.25235, 0.0 ], [ 113.69623, -8.2518, 0.0 ], [ 113.69621, -8.25112, 0.0 ], [ 113.69621, -8.25045, 0.0 ], [ 113.69621, -8.25033, 0.0 ], [ 113.6962, -8.24991, 0.0 ], [ 113.69622, -8.24918, 0.0 ], [ 113.69623, -8.249, 0.0 ], [ 113.69624, -8.24882, 0.0 ], [ 113.69625, -8.2484, 0.0 ], [ 113.69626, -8.24792, 0.0 ], [ 113.69627, -8.24744, 0.0 ], [ 113.69631, -8.24612, 0.0 ], [ 113.69633, -8.24522, 0.0 ], [ 113.69635, -8.24443, 0.0 ], [ 113.69636, -8.24428, 0.0 ], [ 113.69641, -8.24336, 0.0 ], [ 113.69639, -8.24327, 0.0 ], [ 113.69639, -8.24309, 0.0 ], [ 113.69639, -8.24293, 0.0 ], [ 113.69639, -8.2428, 0.0 ], [ 113.6964, -8.24242, 0.0 ], [ 113.69641, -8.24159, 0.0 ], [ 113.6964, -8.24137, 0.0 ], [ 113.69641, -8.24091, 0.0 ], [ 113.69642, -8.24054, 0.0 ], [ 113.69642, -8.2403, 0.0 ], [ 113.69643, -8.23968, 0.0 ], [ 113.69643, -8.23947, 0.0 ], [ 113.69643, -8.23922, 0.0 ], [ 113.69643, -8.23909, 0.0 ], [ 113.69644, -8.23871, 0.0 ], [ 113.69646, -8.23786, 0.0 ], [ 113.69646, -8.23782, 0.0 ], [ 113.69648, -8.237, 0.0 ], [ 113.69651, -8.23689, 0.0 ], [ 113.69656, -8.23679, 0.0 ], [ 113.69665, -8.23671, 0.0 ], [ 113.69673, -8.23665, 0.0 ], [ 113.69681, -8.23662, 0.0 ], [ 113.69692, -8.2366, 0.0 ], [ 113.69705, -8.23659, 0.0 ], [ 113.69719, -8.2366, 0.0 ], [ 113.69737, -8.23661, 0.0 ], [ 113.69758, -8.23663, 0.0 ], [ 113.69827, -8.23664, 0.0 ], [ 113.69915, -8.23666, 0.0 ], [ 113.69946, -8.23667, 0.0 ], [ 113.69954, -8.23667, 0.0 ], [ 113.69955, -8.23667, 0.0 ], [ 113.6996, -8.23666, 0.0 ], [ 113.69962, -8.23665, 0.0 ], [ 113.69964, -8.23664, 0.0 ], [ 113.69966, -8.23664, 0.0 ], [ 113.69967, -8.23662, 0.0 ], [ 113.69969, -8.23661, 0.0 ], [ 113.6997, -8.2366, 0.0 ], [ 113.69971, -8.23658, 0.0 ], [ 113.69972, -8.23657, 0.0 ], [ 113.69973, -8.23655, 0.0 ], [ 113.69973, -8.23653, 0.0 ], [ 113.69974, -8.23651, 0.0 ], [ 113.69974, -8.23648, 0.0 ], [ 113.69975, -8.23643, 0.0 ], [ 113.69975, -8.23641, 0.0 ], [ 113.69975, -8.2363, 0.0 ], [ 113.69977, -8.2359, 0.0 ], [ 113.69977, -8.23576, 0.0 ], [ 113.69977, -8.23571, 0.0 ], [ 113.69977, -8.23559, 0.0 ], [ 113.6998, -8.23471, 0.0 ], [ 113.69981, -8.23427, 0.0 ], [ 113.69981, -8.23422, 0.0 ], [ 113.69981, -8.23397, 0.0 ], [ 113.69981, -8.23379, 0.0 ], [ 113.69981, -8.23352, 0.0 ], [ 113.69982, -8.23345, 0.0 ], [ 113.69983, -8.23335, 0.0 ], [ 113.69984, -8.23326, 0.0 ], [ 113.69986, -8.2332, 0.0 ], [ 113.69992, -8.23308, 0.0 ], [ 113.69995, -8.233, 0.0 ], [ 113.70004, -8.23279, 0.0 ], [ 113.70011, -8.2326, 0.0 ], [ 113.70013, -8.23254, 0.0 ], [ 113.70031, -8.2321, 0.0 ], [ 113.70045, -8.23176, 0.0 ], [ 113.70049, -8.23164, 0.0 ], [ 113.70051, -8.2316, 0.0 ], [ 113.70052, -8.23157, 0.0 ], [ 113.70054, -8.2315, 0.0 ], [ 113.70056, -8.23144, 0.0 ], [ 113.70057, -8.2314, 0.0 ], [ 113.70059, -8.23131, 0.0 ], [ 113.7006, -8.2312, 0.0 ], [ 113.70061, -8.23112, 0.0 ], [ 113.70062, -8.23104, 0.0 ], [ 113.70063, -8.23099, 0.0 ], [ 113.70064, -8.23094, 0.0 ], [ 113.70064, -8.23089, 0.0 ], [ 113.70064, -8.23085, 0.0 ], [ 113.70029, -8.23083, 0.0 ], [ 113.70016, -8.23082, 0.0 ], [ 113.69977, -8.23078, 0.0 ], [ 113.69952, -8.23075, 0.0 ], [ 113.69931, -8.23072, 0.0 ], [ 113.69887, -8.23067, 0.0 ], [ 113.69863, -8.23064, 0.0 ], [ 113.69861, -8.23064, 0.0 ], [ 113.6982, -8.23059, 0.0 ], [ 113.69771, -8.23053, 0.0 ], [ 113.69714, -8.23044, 0.0 ], [ 113.69638, -8.23032, 0.0 ], [ 113.69578, -8.23022, 0.0 ], [ 113.69564, -8.23019, 0.0 ], [ 113.69554, -8.23016, 0.0 ], [ 113.6954, -8.2301, 0.0 ], [ 113.6951, -8.22996, 0.0 ], [ 113.69489, -8.22986, 0.0 ], [ 113.69471, -8.22977, 0.0 ], [ 113.69451, -8.22967, 0.0 ], [ 113.6942, -8.22955, 0.0 ], [ 113.69419, -8.22955, 0.0 ], [ 113.694, -8.22948, 0.0 ], [ 113.69369, -8.22938, 0.0 ], [ 113.69356, -8.22933, 0.0 ], [ 113.69306, -8.22914, 0.0 ], [ 113.69295, -8.22912, 0.0 ], [ 113.69288, -8.2291, 0.0 ], [ 113.69281, -8.22908, 0.0 ], [ 113.69276, -8.22907, 0.0 ], [ 113.69271, -8.22906, 0.0 ], [ 113.69263, -8.22905, 0.0 ], [ 113.69255, -8.22905, 0.0 ], [ 113.69247, -8.22906, 0.0 ], [ 113.69234, -8.22909, 0.0 ], [ 113.6922, -8.22912, 0.0 ], [ 113.69196, -8.22919, 0.0 ], [ 113.69167, -8.22929, 0.0 ], [ 113.69154, -8.22929, 0.0 ], [ 113.6914, -8.2293, 0.0 ], [ 113.69138, -8.2293, 0.0 ], [ 113.69131, -8.22929, 0.0 ], [ 113.69124, -8.22929, 0.0 ], [ 113.69117, -8.22929, 0.0 ], [ 113.6911, -8.22929, 0.0 ], [ 113.69103, -8.2293, 0.0 ], [ 113.69096, -8.22931, 0.0 ], [ 113.69095, -8.22933, 0.0 ], [ 113.69093, -8.22937, 0.0 ], [ 113.69092, -8.22942, 0.0 ], [ 113.69091, -8.22945, 0.0 ], [ 113.69085, -8.22968, 0.0 ], [ 113.69082, -8.22986, 0.0 ], [ 113.69076, -8.23022, 0.0 ], [ 113.69073, -8.23039, 0.0 ], [ 113.69072, -8.23044, 0.0 ], [ 113.6907, -8.2305, 0.0 ], [ 113.69068, -8.23053, 0.0 ], [ 113.69067, -8.23055, 0.0 ], [ 113.69065, -8.23056, 0.0 ], [ 113.69015, -8.23064, 0.0 ], [ 113.68978, -8.23066, 0.0 ], [ 113.68929, -8.23068, 0.0 ], [ 113.68891, -8.23068, 0.0 ], [ 113.68864, -8.23066, 0.0 ], [ 113.6884, -8.23068, 0.0 ], [ 113.688, -8.2307, 0.0 ], [ 113.68741, -8.23073, 0.0 ], [ 113.68744, -8.23134, 0.0 ], [ 113.68749, -8.23209, 0.0 ], [ 113.68755, -8.23243, 0.0 ], [ 113.68755, -8.23247, 0.0 ], [ 113.6876, -8.23314, 0.0 ], [ 113.68763, -8.2334, 0.0 ], [ 113.68765, -8.2335, 0.0 ], [ 113.68767, -8.23379, 0.0 ], [ 113.6877, -8.23421, 0.0 ], [ 113.68771, -8.23427, 0.0 ], [ 113.68772, -8.23437, 0.0 ], [ 113.68772, -8.23439, 0.0 ], [ 113.68772, -8.2344, 0.0 ], [ 113.68772, -8.23441, 0.0 ], [ 113.68772, -8.23442, 0.0 ], [ 113.68771, -8.23442, 0.0 ], [ 113.68771, -8.23443, 0.0 ], [ 113.6877, -8.23443, 0.0 ], [ 113.6877, -8.23444, 0.0 ], [ 113.68769, -8.23444, 0.0 ], [ 113.68768, -8.23444, 0.0 ], [ 113.68743, -8.23447, 0.0 ], [ 113.68679, -8.23455, 0.0 ], [ 113.68653, -8.23456, 0.0 ], [ 113.68645, -8.23456, 0.0 ], [ 113.6862, -8.23458, 0.0 ], [ 113.68616, -8.23459, 0.0 ], [ 113.68575, -8.23463, 0.0 ], [ 113.68552, -8.23465, 0.0 ], [ 113.68538, -8.23466, 0.0 ], [ 113.68519, -8.23467, 0.0 ], [ 113.68512, -8.23468, 0.0 ], [ 113.68489, -8.23469, 0.0 ], [ 113.68469, -8.2347, 0.0 ], [ 113.68457, -8.2347, 0.0 ], [ 113.68445, -8.2347, 0.0 ], [ 113.68414, -8.23471, 0.0 ], [ 113.68401, -8.23471, 0.0 ], [ 113.68377, -8.23471, 0.0 ], [ 113.68367, -8.23471, 0.0 ], [ 113.68349, -8.23471, 0.0 ], [ 113.68341, -8.23471, 0.0 ], [ 113.68324, -8.23471, 0.0 ], [ 113.68301, -8.23472, 0.0 ], [ 113.68263, -8.23472, 0.0 ], [ 113.68241, -8.23472, 0.0 ], [ 113.68221, -8.23473, 0.0 ], [ 113.68178, -8.23474, 0.0 ], [ 113.68132, -8.23475, 0.0 ], [ 113.68117, -8.23476, 0.0 ], [ 113.68096, -8.23477, 0.0 ], [ 113.68052, -8.23478, 0.0 ], [ 113.6804, -8.23478, 0.0 ], [ 113.68011, -8.23479, 0.0 ], [ 113.68002, -8.2348, 0.0 ], [ 113.67974, -8.2348, 0.0 ], [ 113.67955, -8.23481, 0.0 ], [ 113.67922, -8.2348, 0.0 ], [ 113.679, -8.23479, 0.0 ], [ 113.67898, -8.23479, 0.0 ], [ 113.67872, -8.23478, 0.0 ], [ 113.67856, -8.23476, 0.0 ], [ 113.67837, -8.23475, 0.0 ], [ 113.67801, -8.23473, 0.0 ], [ 113.67796, -8.23472, 0.0 ], [ 113.67801, -8.23473, 0.0 ], [ 113.67799, -8.23488, 0.0 ], [ 113.6779, -8.23538, 0.0 ], [ 113.67785, -8.2356, 0.0 ], [ 113.67778, -8.23593, 0.0 ], [ 113.67778, -8.23597, 0.0 ], [ 113.67766, -8.23651, 0.0 ], [ 113.67757, -8.23689, 0.0 ], [ 113.67754, -8.23701, 0.0 ], [ 113.67747, -8.23734, 0.0 ], [ 113.67742, -8.23757, 0.0 ], [ 113.67741, -8.23765, 0.0 ], [ 113.67739, -8.23774, 0.0 ], [ 113.67738, -8.23779, 0.0 ], [ 113.67735, -8.238, 0.0 ], [ 113.67729, -8.2385, 0.0 ], [ 113.67723, -8.23888, 0.0 ], [ 113.67717, -8.23929, 0.0 ], [ 113.67716, -8.23935, 0.0 ], [ 113.67708, -8.23993, 0.0 ], [ 113.677, -8.2405, 0.0 ], [ 113.67691, -8.24107, 0.0 ], [ 113.67689, -8.24123, 0.0 ], [ 113.67685, -8.24154, 0.0 ], [ 113.67683, -8.24169, 0.0 ], [ 113.67676, -8.24219, 0.0 ], [ 113.67672, -8.24241, 0.0 ], [ 113.67667, -8.2427, 0.0 ], [ 113.67666, -8.24277, 0.0 ], [ 113.67652, -8.24311, 0.0 ], [ 113.67652, -8.24313, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "QM4G+PFM, Pd. Labu, Klompangan, Kec. Ajung, Kabupaten Jember, Jawa Timur 68175, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6765826, -8.2431138, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "QM3W+VF9, Gayasan B, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6963529, -8.2444322, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "QM8H+553, Durenan, Klompangan, Kec. Ajung, Kabupaten Jember, Jawa Timur 68175, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6779613, -8.2347211, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "QM4G+PFM, Pd. Labu, Klompangan, Kec. Ajung, Kabupaten Jember, Jawa Timur 68175, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6765219, -8.243132, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Cangkring - Gayasan.geojson b/smart_cycling_api/import_queue/done/Cangkring - Gayasan.geojson new file mode 100644 index 0000000..8f48d79 --- /dev/null +++ b/smart_cycling_api/import_queue/done/Cangkring - Gayasan.geojson @@ -0,0 +1,12 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari PMQ8+5PG, Gayasan A, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke PMQ8+5PG, Gayasan A, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari PMQ8+5PG, Gayasan A, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke PMQ8+5PG, Gayasan A, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.66668, -8.26258, 0.0 ], [ 113.66687, -8.26259, 0.0 ], [ 113.66712, -8.26259, 0.0 ], [ 113.66728, -8.26259, 0.0 ], [ 113.66743, -8.2626, 0.0 ], [ 113.66759, -8.26259, 0.0 ], [ 113.6676, -8.26259, 0.0 ], [ 113.66783, -8.26258, 0.0 ], [ 113.66788, -8.26257, 0.0 ], [ 113.66811, -8.26257, 0.0 ], [ 113.66834, -8.26259, 0.0 ], [ 113.66843, -8.2626, 0.0 ], [ 113.66849, -8.26261, 0.0 ], [ 113.66855, -8.26262, 0.0 ], [ 113.66857, -8.26262, 0.0 ], [ 113.6686, -8.26263, 0.0 ], [ 113.66868, -8.26264, 0.0 ], [ 113.66852, -8.26302, 0.0 ], [ 113.66837, -8.26337, 0.0 ], [ 113.6683, -8.26347, 0.0 ], [ 113.66822, -8.26368, 0.0 ], [ 113.6681, -8.26396, 0.0 ], [ 113.6681, -8.26401, 0.0 ], [ 113.6681, -8.26407, 0.0 ], [ 113.6681, -8.26416, 0.0 ], [ 113.66809, -8.26466, 0.0 ], [ 113.66801, -8.26562, 0.0 ], [ 113.66799, -8.26572, 0.0 ], [ 113.66799, -8.26574, 0.0 ], [ 113.66796, -8.26589, 0.0 ], [ 113.66796, -8.26591, 0.0 ], [ 113.66789, -8.26628, 0.0 ], [ 113.66785, -8.2665, 0.0 ], [ 113.66779, -8.26685, 0.0 ], [ 113.6677, -8.26739, 0.0 ], [ 113.66761, -8.26792, 0.0 ], [ 113.6676, -8.26799, 0.0 ], [ 113.6675, -8.26856, 0.0 ], [ 113.66745, -8.26881, 0.0 ], [ 113.66742, -8.26893, 0.0 ], [ 113.66739, -8.26909, 0.0 ], [ 113.66738, -8.2691, 0.0 ], [ 113.66728, -8.26954, 0.0 ], [ 113.66726, -8.26963, 0.0 ], [ 113.66722, -8.2698, 0.0 ], [ 113.66718, -8.26998, 0.0 ], [ 113.66692, -8.27111, 0.0 ], [ 113.6669, -8.27119, 0.0 ], [ 113.66688, -8.27125, 0.0 ], [ 113.66678, -8.27163, 0.0 ], [ 113.66665, -8.27225, 0.0 ], [ 113.66658, -8.27254, 0.0 ], [ 113.66656, -8.27268, 0.0 ], [ 113.66656, -8.27277, 0.0 ], [ 113.66658, -8.27285, 0.0 ], [ 113.66659, -8.27295, 0.0 ], [ 113.6666, -8.27305, 0.0 ], [ 113.6666, -8.27312, 0.0 ], [ 113.66661, -8.27329, 0.0 ], [ 113.6666, -8.27338, 0.0 ], [ 113.66657, -8.27349, 0.0 ], [ 113.66652, -8.27359, 0.0 ], [ 113.66648, -8.27366, 0.0 ], [ 113.66642, -8.27371, 0.0 ], [ 113.66632, -8.27377, 0.0 ], [ 113.66612, -8.2739, 0.0 ], [ 113.66585, -8.27412, 0.0 ], [ 113.66545, -8.27443, 0.0 ], [ 113.66544, -8.27444, 0.0 ], [ 113.66528, -8.27456, 0.0 ], [ 113.66521, -8.27465, 0.0 ], [ 113.66512, -8.27478, 0.0 ], [ 113.66502, -8.27495, 0.0 ], [ 113.66496, -8.27504, 0.0 ], [ 113.6649, -8.27509, 0.0 ], [ 113.66483, -8.27511, 0.0 ], [ 113.66477, -8.27513, 0.0 ], [ 113.6647, -8.27512, 0.0 ], [ 113.66469, -8.27512, 0.0 ], [ 113.66458, -8.2751, 0.0 ], [ 113.66437, -8.27501, 0.0 ], [ 113.66396, -8.27484, 0.0 ], [ 113.66366, -8.27473, 0.0 ], [ 113.6636, -8.27471, 0.0 ], [ 113.66358, -8.27471, 0.0 ], [ 113.66332, -8.27463, 0.0 ], [ 113.66314, -8.27457, 0.0 ], [ 113.66301, -8.27453, 0.0 ], [ 113.66278, -8.27448, 0.0 ], [ 113.66277, -8.27448, 0.0 ], [ 113.6627, -8.27447, 0.0 ], [ 113.66267, -8.27447, 0.0 ], [ 113.66264, -8.27448, 0.0 ], [ 113.66263, -8.27449, 0.0 ], [ 113.66261, -8.2745, 0.0 ], [ 113.6626, -8.27453, 0.0 ], [ 113.66258, -8.27456, 0.0 ], [ 113.66253, -8.27475, 0.0 ], [ 113.66239, -8.27515, 0.0 ], [ 113.66231, -8.27538, 0.0 ], [ 113.66226, -8.27553, 0.0 ], [ 113.66202, -8.27614, 0.0 ], [ 113.66199, -8.27622, 0.0 ], [ 113.66194, -8.27633, 0.0 ], [ 113.66172, -8.27683, 0.0 ], [ 113.66169, -8.27691, 0.0 ], [ 113.66156, -8.27721, 0.0 ], [ 113.66154, -8.27724, 0.0 ], [ 113.66128, -8.27777, 0.0 ], [ 113.6612, -8.27795, 0.0 ], [ 113.66006, -8.27746, 0.0 ], [ 113.65955, -8.27724, 0.0 ], [ 113.65907, -8.27704, 0.0 ], [ 113.65886, -8.27695, 0.0 ], [ 113.65849, -8.27679, 0.0 ], [ 113.65835, -8.27673, 0.0 ], [ 113.6583, -8.27671, 0.0 ], [ 113.65821, -8.27668, 0.0 ], [ 113.65771, -8.27647, 0.0 ], [ 113.65743, -8.27637, 0.0 ], [ 113.65736, -8.27635, 0.0 ], [ 113.65729, -8.27635, 0.0 ], [ 113.65718, -8.27635, 0.0 ], [ 113.65694, -8.27637, 0.0 ], [ 113.65679, -8.27638, 0.0 ], [ 113.65672, -8.27638, 0.0 ], [ 113.65666, -8.27636, 0.0 ], [ 113.65661, -8.27635, 0.0 ], [ 113.65656, -8.27633, 0.0 ], [ 113.6565, -8.27627, 0.0 ], [ 113.65642, -8.2762, 0.0 ], [ 113.65628, -8.27608, 0.0 ], [ 113.65647, -8.2758, 0.0 ], [ 113.65651, -8.27575, 0.0 ], [ 113.65654, -8.27569, 0.0 ], [ 113.65658, -8.27562, 0.0 ], [ 113.65661, -8.27551, 0.0 ], [ 113.65667, -8.27529, 0.0 ], [ 113.65669, -8.2751, 0.0 ], [ 113.6567, -8.27504, 0.0 ], [ 113.65672, -8.27484, 0.0 ], [ 113.65673, -8.27459, 0.0 ], [ 113.65675, -8.27447, 0.0 ], [ 113.65677, -8.27441, 0.0 ], [ 113.65681, -8.27436, 0.0 ], [ 113.65688, -8.2743, 0.0 ], [ 113.65698, -8.27423, 0.0 ], [ 113.65708, -8.27416, 0.0 ], [ 113.65715, -8.27412, 0.0 ], [ 113.65726, -8.27404, 0.0 ], [ 113.65729, -8.27401, 0.0 ], [ 113.65732, -8.27398, 0.0 ], [ 113.65734, -8.27394, 0.0 ], [ 113.65738, -8.27373, 0.0 ], [ 113.65744, -8.27335, 0.0 ], [ 113.65751, -8.27292, 0.0 ], [ 113.65751, -8.27291, 0.0 ], [ 113.65753, -8.27281, 0.0 ], [ 113.65756, -8.27275, 0.0 ], [ 113.65759, -8.2727, 0.0 ], [ 113.65763, -8.27266, 0.0 ], [ 113.65772, -8.27262, 0.0 ], [ 113.65773, -8.27261, 0.0 ], [ 113.65786, -8.27256, 0.0 ], [ 113.65801, -8.27249, 0.0 ], [ 113.65823, -8.27237, 0.0 ], [ 113.65833, -8.27232, 0.0 ], [ 113.65849, -8.27223, 0.0 ], [ 113.65881, -8.27206, 0.0 ], [ 113.65906, -8.27193, 0.0 ], [ 113.65914, -8.2719, 0.0 ], [ 113.6592, -8.27189, 0.0 ], [ 113.65928, -8.27189, 0.0 ], [ 113.65935, -8.27192, 0.0 ], [ 113.65955, -8.27201, 0.0 ], [ 113.65963, -8.27203, 0.0 ], [ 113.65967, -8.27203, 0.0 ], [ 113.65971, -8.27204, 0.0 ], [ 113.6598, -8.27204, 0.0 ], [ 113.65989, -8.27203, 0.0 ], [ 113.66002, -8.272, 0.0 ], [ 113.66013, -8.27196, 0.0 ], [ 113.66024, -8.2719, 0.0 ], [ 113.66035, -8.27181, 0.0 ], [ 113.66047, -8.27169, 0.0 ], [ 113.6605, -8.27165, 0.0 ], [ 113.66058, -8.27155, 0.0 ], [ 113.6607, -8.27139, 0.0 ], [ 113.66073, -8.27134, 0.0 ], [ 113.6608, -8.27122, 0.0 ], [ 113.66087, -8.27106, 0.0 ], [ 113.66099, -8.27079, 0.0 ], [ 113.66106, -8.27064, 0.0 ], [ 113.66119, -8.27033, 0.0 ], [ 113.66128, -8.27015, 0.0 ], [ 113.66138, -8.26989, 0.0 ], [ 113.6614, -8.26984, 0.0 ], [ 113.66147, -8.26967, 0.0 ], [ 113.66172, -8.26903, 0.0 ], [ 113.66194, -8.2685, 0.0 ], [ 113.66214, -8.26793, 0.0 ], [ 113.66227, -8.26767, 0.0 ], [ 113.66241, -8.26735, 0.0 ], [ 113.66251, -8.26714, 0.0 ], [ 113.66254, -8.26706, 0.0 ], [ 113.66261, -8.26687, 0.0 ], [ 113.66268, -8.26672, 0.0 ], [ 113.6628, -8.26641, 0.0 ], [ 113.66296, -8.26609, 0.0 ], [ 113.66312, -8.26574, 0.0 ], [ 113.66332, -8.26537, 0.0 ], [ 113.6634, -8.26524, 0.0 ], [ 113.6636, -8.26487, 0.0 ], [ 113.66374, -8.26458, 0.0 ], [ 113.6639, -8.2642, 0.0 ], [ 113.66398, -8.26395, 0.0 ], [ 113.66401, -8.26387, 0.0 ], [ 113.66417, -8.26346, 0.0 ], [ 113.66419, -8.26344, 0.0 ], [ 113.66421, -8.26343, 0.0 ], [ 113.66425, -8.26343, 0.0 ], [ 113.66429, -8.26345, 0.0 ], [ 113.66474, -8.2636, 0.0 ], [ 113.66514, -8.26375, 0.0 ], [ 113.66529, -8.26381, 0.0 ], [ 113.66531, -8.26382, 0.0 ], [ 113.66536, -8.26383, 0.0 ], [ 113.66541, -8.26385, 0.0 ], [ 113.66548, -8.26386, 0.0 ], [ 113.66556, -8.26384, 0.0 ], [ 113.66559, -8.26383, 0.0 ], [ 113.66565, -8.26379, 0.0 ], [ 113.66571, -8.26373, 0.0 ], [ 113.66582, -8.2636, 0.0 ], [ 113.66595, -8.26343, 0.0 ], [ 113.66599, -8.2634, 0.0 ], [ 113.66607, -8.26329, 0.0 ], [ 113.66621, -8.26313, 0.0 ], [ 113.66639, -8.26291, 0.0 ], [ 113.66645, -8.26284, 0.0 ], [ 113.66668, -8.26258, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "PMQ8+5PG, Gayasan A, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6666753, -8.2625807, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PMG7+39P, Jatirejo, Cangkring, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.662776, -8.2744845, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PP. MADINATUL ULUM, Jatirejo, Cangkring, Kabupaten Jember, Jawa Timur", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6612833, -8.277766, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PMQ8+5PG, Gayasan A, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6666753, -8.2625807, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Cangkring - Wonojati.geojson b/smart_cycling_api/import_queue/done/Cangkring - Wonojati.geojson new file mode 100644 index 0000000..bc4f6bb --- /dev/null +++ b/smart_cycling_api/import_queue/done/Cangkring - Wonojati.geojson @@ -0,0 +1,12 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari PMG7+39P, Jatirejo, Cangkring, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke PMG7+39P, Jatirejo, Cangkring, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari PMG7+39P, Jatirejo, Cangkring, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke PMG7+39P, Jatirejo, Cangkring, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.66311, -8.27456, 0.0 ], [ 113.66301, -8.27453, 0.0 ], [ 113.66277, -8.27448, 0.0 ], [ 113.6627, -8.27447, 0.0 ], [ 113.66267, -8.27447, 0.0 ], [ 113.66264, -8.27448, 0.0 ], [ 113.66263, -8.27449, 0.0 ], [ 113.66261, -8.2745, 0.0 ], [ 113.6626, -8.27453, 0.0 ], [ 113.66258, -8.27456, 0.0 ], [ 113.66253, -8.27475, 0.0 ], [ 113.66239, -8.27515, 0.0 ], [ 113.66231, -8.27538, 0.0 ], [ 113.66226, -8.27553, 0.0 ], [ 113.66202, -8.27614, 0.0 ], [ 113.66199, -8.27622, 0.0 ], [ 113.66194, -8.27633, 0.0 ], [ 113.66172, -8.27683, 0.0 ], [ 113.66169, -8.27691, 0.0 ], [ 113.66156, -8.27721, 0.0 ], [ 113.66154, -8.27724, 0.0 ], [ 113.6612, -8.27795, 0.0 ], [ 113.66146, -8.27806, 0.0 ], [ 113.66167, -8.27815, 0.0 ], [ 113.66178, -8.2782, 0.0 ], [ 113.66183, -8.27824, 0.0 ], [ 113.66187, -8.27828, 0.0 ], [ 113.66189, -8.27829, 0.0 ], [ 113.66193, -8.27835, 0.0 ], [ 113.662, -8.27848, 0.0 ], [ 113.66206, -8.27864, 0.0 ], [ 113.66218, -8.27894, 0.0 ], [ 113.66219, -8.27897, 0.0 ], [ 113.66245, -8.27961, 0.0 ], [ 113.66266, -8.28011, 0.0 ], [ 113.66298, -8.28091, 0.0 ], [ 113.66305, -8.28108, 0.0 ], [ 113.66361, -8.28244, 0.0 ], [ 113.66373, -8.28274, 0.0 ], [ 113.66454, -8.2847, 0.0 ], [ 113.66474, -8.28521, 0.0 ], [ 113.66524, -8.28643, 0.0 ], [ 113.66525, -8.28646, 0.0 ], [ 113.6654, -8.28682, 0.0 ], [ 113.66547, -8.287, 0.0 ], [ 113.66558, -8.28725, 0.0 ], [ 113.6656, -8.28729, 0.0 ], [ 113.66574, -8.28763, 0.0 ], [ 113.66605, -8.28742, 0.0 ], [ 113.66616, -8.28735, 0.0 ], [ 113.66631, -8.28725, 0.0 ], [ 113.66636, -8.28722, 0.0 ], [ 113.66638, -8.28721, 0.0 ], [ 113.66644, -8.28719, 0.0 ], [ 113.66656, -8.28717, 0.0 ], [ 113.6666, -8.28716, 0.0 ], [ 113.66674, -8.28714, 0.0 ], [ 113.66689, -8.28711, 0.0 ], [ 113.66706, -8.28709, 0.0 ], [ 113.66724, -8.28705, 0.0 ], [ 113.66724, -8.28694, 0.0 ], [ 113.66724, -8.28679, 0.0 ], [ 113.66725, -8.28674, 0.0 ], [ 113.66726, -8.2867, 0.0 ], [ 113.66729, -8.28666, 0.0 ], [ 113.66731, -8.28663, 0.0 ], [ 113.66734, -8.28661, 0.0 ], [ 113.66741, -8.28659, 0.0 ], [ 113.6675, -8.28658, 0.0 ], [ 113.66751, -8.28658, 0.0 ], [ 113.66782, -8.28658, 0.0 ], [ 113.66793, -8.28659, 0.0 ], [ 113.66811, -8.2866, 0.0 ], [ 113.66818, -8.2866, 0.0 ], [ 113.66825, -8.2866, 0.0 ], [ 113.66837, -8.28661, 0.0 ], [ 113.66856, -8.28661, 0.0 ], [ 113.66861, -8.28661, 0.0 ], [ 113.66885, -8.28662, 0.0 ], [ 113.66942, -8.28668, 0.0 ], [ 113.66971, -8.2867, 0.0 ], [ 113.66998, -8.28672, 0.0 ], [ 113.67049, -8.28676, 0.0 ], [ 113.67054, -8.28676, 0.0 ], [ 113.67078, -8.28678, 0.0 ], [ 113.67086, -8.28679, 0.0 ], [ 113.67091, -8.28679, 0.0 ], [ 113.67124, -8.2868, 0.0 ], [ 113.67135, -8.28681, 0.0 ], [ 113.67136, -8.28681, 0.0 ], [ 113.67159, -8.28683, 0.0 ], [ 113.67165, -8.28683, 0.0 ], [ 113.6719, -8.28684, 0.0 ], [ 113.672, -8.28685, 0.0 ], [ 113.67224, -8.28687, 0.0 ], [ 113.67235, -8.28687, 0.0 ], [ 113.67243, -8.28687, 0.0 ], [ 113.67254, -8.28687, 0.0 ], [ 113.67288, -8.28689, 0.0 ], [ 113.67313, -8.2869, 0.0 ], [ 113.67373, -8.28693, 0.0 ], [ 113.67409, -8.28696, 0.0 ], [ 113.67424, -8.28697, 0.0 ], [ 113.67452, -8.28699, 0.0 ], [ 113.67483, -8.28699, 0.0 ], [ 113.67502, -8.28699, 0.0 ], [ 113.67529, -8.28697, 0.0 ], [ 113.6753, -8.28697, 0.0 ], [ 113.67534, -8.28696, 0.0 ], [ 113.67562, -8.2869, 0.0 ], [ 113.67589, -8.28683, 0.0 ], [ 113.6759, -8.28683, 0.0 ], [ 113.67596, -8.28682, 0.0 ], [ 113.67622, -8.28677, 0.0 ], [ 113.67652, -8.28672, 0.0 ], [ 113.67709, -8.28659, 0.0 ], [ 113.67721, -8.28657, 0.0 ], [ 113.67742, -8.28652, 0.0 ], [ 113.67745, -8.28652, 0.0 ], [ 113.67775, -8.28646, 0.0 ], [ 113.67777, -8.28646, 0.0 ], [ 113.6781, -8.28641, 0.0 ], [ 113.67825, -8.28638, 0.0 ], [ 113.67839, -8.28634, 0.0 ], [ 113.67836, -8.28621, 0.0 ], [ 113.67831, -8.28607, 0.0 ], [ 113.67823, -8.28586, 0.0 ], [ 113.67813, -8.28568, 0.0 ], [ 113.67805, -8.28555, 0.0 ], [ 113.67804, -8.28552, 0.0 ], [ 113.67799, -8.28545, 0.0 ], [ 113.67786, -8.28526, 0.0 ], [ 113.67783, -8.28523, 0.0 ], [ 113.67777, -8.28514, 0.0 ], [ 113.67761, -8.28492, 0.0 ], [ 113.67735, -8.28454, 0.0 ], [ 113.67708, -8.28422, 0.0 ], [ 113.67685, -8.28386, 0.0 ], [ 113.67678, -8.28376, 0.0 ], [ 113.67668, -8.28361, 0.0 ], [ 113.67654, -8.2834, 0.0 ], [ 113.67641, -8.28317, 0.0 ], [ 113.67631, -8.28299, 0.0 ], [ 113.67623, -8.28283, 0.0 ], [ 113.67622, -8.28279, 0.0 ], [ 113.67617, -8.28267, 0.0 ], [ 113.67612, -8.2825, 0.0 ], [ 113.67608, -8.28233, 0.0 ], [ 113.67605, -8.28213, 0.0 ], [ 113.67604, -8.28209, 0.0 ], [ 113.67603, -8.28195, 0.0 ], [ 113.67602, -8.28185, 0.0 ], [ 113.67602, -8.28178, 0.0 ], [ 113.67601, -8.28167, 0.0 ], [ 113.67602, -8.28152, 0.0 ], [ 113.67603, -8.28137, 0.0 ], [ 113.67608, -8.28112, 0.0 ], [ 113.67615, -8.28089, 0.0 ], [ 113.67621, -8.2807, 0.0 ], [ 113.67648, -8.27986, 0.0 ], [ 113.67653, -8.27969, 0.0 ], [ 113.67664, -8.27935, 0.0 ], [ 113.67666, -8.27928, 0.0 ], [ 113.67681, -8.27872, 0.0 ], [ 113.67694, -8.27831, 0.0 ], [ 113.67709, -8.27779, 0.0 ], [ 113.67716, -8.27756, 0.0 ], [ 113.67719, -8.27744, 0.0 ], [ 113.67725, -8.27722, 0.0 ], [ 113.67728, -8.27716, 0.0 ], [ 113.67749, -8.2765, 0.0 ], [ 113.67762, -8.27607, 0.0 ], [ 113.67781, -8.27542, 0.0 ], [ 113.67791, -8.27509, 0.0 ], [ 113.67792, -8.27503, 0.0 ], [ 113.67798, -8.27486, 0.0 ], [ 113.67799, -8.27481, 0.0 ], [ 113.67804, -8.27469, 0.0 ], [ 113.67806, -8.27466, 0.0 ], [ 113.67812, -8.27452, 0.0 ], [ 113.67819, -8.2744, 0.0 ], [ 113.67827, -8.27428, 0.0 ], [ 113.6784, -8.27409, 0.0 ], [ 113.67852, -8.27393, 0.0 ], [ 113.67839, -8.27391, 0.0 ], [ 113.67836, -8.27391, 0.0 ], [ 113.67778, -8.27377, 0.0 ], [ 113.67757, -8.27372, 0.0 ], [ 113.67725, -8.27362, 0.0 ], [ 113.67696, -8.27355, 0.0 ], [ 113.67679, -8.27351, 0.0 ], [ 113.67656, -8.27344, 0.0 ], [ 113.67655, -8.27344, 0.0 ], [ 113.67631, -8.27338, 0.0 ], [ 113.67604, -8.27331, 0.0 ], [ 113.67567, -8.27321, 0.0 ], [ 113.67535, -8.27313, 0.0 ], [ 113.67502, -8.27303, 0.0 ], [ 113.67497, -8.27301, 0.0 ], [ 113.6748, -8.27297, 0.0 ], [ 113.67462, -8.27292, 0.0 ], [ 113.67454, -8.2729, 0.0 ], [ 113.67445, -8.27287, 0.0 ], [ 113.67427, -8.27282, 0.0 ], [ 113.6742, -8.2728, 0.0 ], [ 113.67398, -8.27274, 0.0 ], [ 113.67384, -8.27271, 0.0 ], [ 113.67375, -8.27268, 0.0 ], [ 113.67357, -8.27263, 0.0 ], [ 113.67353, -8.27262, 0.0 ], [ 113.67322, -8.27254, 0.0 ], [ 113.67276, -8.27241, 0.0 ], [ 113.67249, -8.27233, 0.0 ], [ 113.67245, -8.27232, 0.0 ], [ 113.67227, -8.27228, 0.0 ], [ 113.67214, -8.27225, 0.0 ], [ 113.67188, -8.27219, 0.0 ], [ 113.67153, -8.27212, 0.0 ], [ 113.67146, -8.27211, 0.0 ], [ 113.67123, -8.27206, 0.0 ], [ 113.67074, -8.27196, 0.0 ], [ 113.67067, -8.27195, 0.0 ], [ 113.67047, -8.27191, 0.0 ], [ 113.67015, -8.27185, 0.0 ], [ 113.6696, -8.27171, 0.0 ], [ 113.66923, -8.27163, 0.0 ], [ 113.66905, -8.27159, 0.0 ], [ 113.66853, -8.27147, 0.0 ], [ 113.66812, -8.27137, 0.0 ], [ 113.66808, -8.27136, 0.0 ], [ 113.66692, -8.27111, 0.0 ], [ 113.6669, -8.27119, 0.0 ], [ 113.66688, -8.27125, 0.0 ], [ 113.66678, -8.27163, 0.0 ], [ 113.66665, -8.27225, 0.0 ], [ 113.66658, -8.27254, 0.0 ], [ 113.66656, -8.27268, 0.0 ], [ 113.66656, -8.27277, 0.0 ], [ 113.66658, -8.27285, 0.0 ], [ 113.66659, -8.27295, 0.0 ], [ 113.6666, -8.27305, 0.0 ], [ 113.6666, -8.27312, 0.0 ], [ 113.66661, -8.27329, 0.0 ], [ 113.6666, -8.27338, 0.0 ], [ 113.66657, -8.27349, 0.0 ], [ 113.66652, -8.27359, 0.0 ], [ 113.66648, -8.27366, 0.0 ], [ 113.66642, -8.27371, 0.0 ], [ 113.66632, -8.27377, 0.0 ], [ 113.66612, -8.2739, 0.0 ], [ 113.66585, -8.27412, 0.0 ], [ 113.66545, -8.27443, 0.0 ], [ 113.66544, -8.27444, 0.0 ], [ 113.66528, -8.27456, 0.0 ], [ 113.66521, -8.27465, 0.0 ], [ 113.66512, -8.27478, 0.0 ], [ 113.66502, -8.27495, 0.0 ], [ 113.66496, -8.27504, 0.0 ], [ 113.6649, -8.27509, 0.0 ], [ 113.66483, -8.27511, 0.0 ], [ 113.66477, -8.27513, 0.0 ], [ 113.6647, -8.27512, 0.0 ], [ 113.66469, -8.27512, 0.0 ], [ 113.66458, -8.2751, 0.0 ], [ 113.66437, -8.27501, 0.0 ], [ 113.66396, -8.27484, 0.0 ], [ 113.66366, -8.27473, 0.0 ], [ 113.6636, -8.27471, 0.0 ], [ 113.66358, -8.27471, 0.0 ], [ 113.66332, -8.27463, 0.0 ], [ 113.66314, -8.27457, 0.0 ], [ 113.66307, -8.27455, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "PMG7+39P, Jatirejo, Cangkring, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6631083, -8.2745628, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PM7H+C5W, Cangkring Baru, Cangkring, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6777715, -8.2851444, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Jl. Talang, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6783877, -8.2739126, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PMG7+39P, Jatirejo, Cangkring, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6630723, -8.2745508, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Curah Lele - Sanenrejo - Curah Takir.geojson b/smart_cycling_api/import_queue/done/Curah Lele - Sanenrejo - Curah Takir.geojson new file mode 100644 index 0000000..a95b8b5 --- /dev/null +++ b/smart_cycling_api/import_queue/done/Curah Lele - Sanenrejo - Curah Takir.geojson @@ -0,0 +1,12 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari JP7M+P5R, Jl. Bandealit, Area Sawah\/Kebun, Curahnongko, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia ke JP7M+P5R, Jl. Bandealit, Area Sawah\/Kebun, Curahnongko, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari JP7M+P5R, Jl. Bandealit, Area Sawah/Kebun, Curahnongko, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia ke JP7M+P5R, Jl. Bandealit, Area Sawah/Kebun, Curahnongko, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.73282, -8.3853, 0.0 ], [ 113.73268, -8.38529, 0.0 ], [ 113.73241, -8.38529, 0.0 ], [ 113.73229, -8.38528, 0.0 ], [ 113.73211, -8.38528, 0.0 ], [ 113.73175, -8.38526, 0.0 ], [ 113.73103, -8.38524, 0.0 ], [ 113.73085, -8.38523, 0.0 ], [ 113.73067, -8.38523, 0.0 ], [ 113.72976, -8.38519, 0.0 ], [ 113.72958, -8.38519, 0.0 ], [ 113.72927, -8.38517, 0.0 ], [ 113.72849, -8.38515, 0.0 ], [ 113.72763, -8.38512, 0.0 ], [ 113.72727, -8.3851, 0.0 ], [ 113.72631, -8.38507, 0.0 ], [ 113.72613, -8.38506, 0.0 ], [ 113.72612, -8.38506, 0.0 ], [ 113.72582, -8.38505, 0.0 ], [ 113.72512, -8.38502, 0.0 ], [ 113.72455, -8.38499, 0.0 ], [ 113.72436, -8.38499, 0.0 ], [ 113.72395, -8.38497, 0.0 ], [ 113.72354, -8.38495, 0.0 ], [ 113.723, -8.38493, 0.0 ], [ 113.72286, -8.38492, 0.0 ], [ 113.72261, -8.3849, 0.0 ], [ 113.72196, -8.38483, 0.0 ], [ 113.72195, -8.38483, 0.0 ], [ 113.72105, -8.38476, 0.0 ], [ 113.71977, -8.38469, 0.0 ], [ 113.71965, -8.38469, 0.0 ], [ 113.71947, -8.38468, 0.0 ], [ 113.71942, -8.38468, 0.0 ], [ 113.71868, -8.38465, 0.0 ], [ 113.71814, -8.38464, 0.0 ], [ 113.71801, -8.38463, 0.0 ], [ 113.71796, -8.38463, 0.0 ], [ 113.71783, -8.38463, 0.0 ], [ 113.71723, -8.38461, 0.0 ], [ 113.71685, -8.38459, 0.0 ], [ 113.71657, -8.38459, 0.0 ], [ 113.71647, -8.3846, 0.0 ], [ 113.7164, -8.38461, 0.0 ], [ 113.71633, -8.38463, 0.0 ], [ 113.7163, -8.38464, 0.0 ], [ 113.71615, -8.38469, 0.0 ], [ 113.71596, -8.38475, 0.0 ], [ 113.71581, -8.3848, 0.0 ], [ 113.71522, -8.38502, 0.0 ], [ 113.71427, -8.38535, 0.0 ], [ 113.71392, -8.38547, 0.0 ], [ 113.71302, -8.38577, 0.0 ], [ 113.71157, -8.38626, 0.0 ], [ 113.71152, -8.38621, 0.0 ], [ 113.71147, -8.38615, 0.0 ], [ 113.71145, -8.38613, 0.0 ], [ 113.71144, -8.38612, 0.0 ], [ 113.71141, -8.38609, 0.0 ], [ 113.71135, -8.38605, 0.0 ], [ 113.71129, -8.38602, 0.0 ], [ 113.71124, -8.38601, 0.0 ], [ 113.71119, -8.386, 0.0 ], [ 113.71111, -8.38599, 0.0 ], [ 113.71102, -8.38599, 0.0 ], [ 113.71094, -8.386, 0.0 ], [ 113.7108, -8.386, 0.0 ], [ 113.71075, -8.386, 0.0 ], [ 113.71071, -8.38599, 0.0 ], [ 113.71067, -8.38597, 0.0 ], [ 113.71063, -8.38594, 0.0 ], [ 113.71059, -8.38592, 0.0 ], [ 113.71054, -8.38587, 0.0 ], [ 113.71046, -8.38579, 0.0 ], [ 113.71033, -8.38564, 0.0 ], [ 113.71029, -8.38559, 0.0 ], [ 113.70993, -8.38518, 0.0 ], [ 113.70901, -8.38412, 0.0 ], [ 113.70895, -8.38408, 0.0 ], [ 113.70889, -8.38406, 0.0 ], [ 113.70869, -8.38402, 0.0 ], [ 113.70844, -8.38402, 0.0 ], [ 113.70836, -8.38401, 0.0 ], [ 113.70728, -8.38395, 0.0 ], [ 113.70601, -8.38387, 0.0 ], [ 113.70437, -8.38378, 0.0 ], [ 113.70346, -8.38373, 0.0 ], [ 113.70241, -8.38366, 0.0 ], [ 113.70261, -8.38356, 0.0 ], [ 113.70288, -8.38339, 0.0 ], [ 113.70379, -8.38279, 0.0 ], [ 113.7044, -8.38239, 0.0 ], [ 113.7047, -8.3822, 0.0 ], [ 113.70543, -8.38172, 0.0 ], [ 113.70578, -8.38151, 0.0 ], [ 113.70625, -8.38123, 0.0 ], [ 113.7064, -8.38113, 0.0 ], [ 113.70688, -8.38083, 0.0 ], [ 113.70703, -8.38074, 0.0 ], [ 113.70713, -8.38067, 0.0 ], [ 113.70719, -8.38064, 0.0 ], [ 113.7078, -8.38025, 0.0 ], [ 113.7081, -8.38006, 0.0 ], [ 113.70826, -8.37996, 0.0 ], [ 113.70887, -8.37957, 0.0 ], [ 113.70902, -8.37947, 0.0 ], [ 113.70933, -8.37928, 0.0 ], [ 113.70978, -8.37899, 0.0 ], [ 113.70994, -8.37889, 0.0 ], [ 113.7104, -8.3786, 0.0 ], [ 113.71055, -8.3785, 0.0 ], [ 113.71062, -8.37845, 0.0 ], [ 113.71091, -8.37827, 0.0 ], [ 113.71149, -8.3779, 0.0 ], [ 113.71216, -8.37747, 0.0 ], [ 113.71229, -8.37739, 0.0 ], [ 113.71305, -8.37691, 0.0 ], [ 113.71332, -8.37672, 0.0 ], [ 113.71358, -8.37653, 0.0 ], [ 113.71369, -8.37646, 0.0 ], [ 113.71452, -8.37596, 0.0 ], [ 113.71522, -8.37553, 0.0 ], [ 113.71546, -8.37536, 0.0 ], [ 113.71553, -8.37531, 0.0 ], [ 113.7159, -8.37507, 0.0 ], [ 113.71734, -8.37415, 0.0 ], [ 113.71738, -8.37413, 0.0 ], [ 113.71751, -8.37404, 0.0 ], [ 113.71775, -8.37389, 0.0 ], [ 113.7179, -8.3738, 0.0 ], [ 113.71805, -8.3737, 0.0 ], [ 113.71851, -8.37341, 0.0 ], [ 113.71866, -8.37331, 0.0 ], [ 113.71895, -8.37312, 0.0 ], [ 113.71897, -8.37311, 0.0 ], [ 113.71912, -8.37302, 0.0 ], [ 113.71928, -8.37292, 0.0 ], [ 113.71974, -8.37263, 0.0 ], [ 113.72004, -8.37244, 0.0 ], [ 113.72096, -8.37186, 0.0 ], [ 113.72111, -8.37176, 0.0 ], [ 113.72202, -8.37116, 0.0 ], [ 113.72217, -8.37106, 0.0 ], [ 113.72253, -8.37083, 0.0 ], [ 113.7226, -8.37078, 0.0 ], [ 113.72278, -8.37067, 0.0 ], [ 113.72309, -8.37048, 0.0 ], [ 113.72317, -8.36882, 0.0 ], [ 113.72319, -8.36844, 0.0 ], [ 113.72322, -8.36788, 0.0 ], [ 113.72323, -8.36738, 0.0 ], [ 113.72325, -8.3671, 0.0 ], [ 113.72325, -8.36704, 0.0 ], [ 113.72325, -8.36695, 0.0 ], [ 113.72326, -8.36688, 0.0 ], [ 113.72326, -8.36687, 0.0 ], [ 113.72327, -8.36683, 0.0 ], [ 113.72329, -8.36677, 0.0 ], [ 113.72331, -8.36671, 0.0 ], [ 113.72338, -8.36653, 0.0 ], [ 113.72346, -8.36636, 0.0 ], [ 113.72348, -8.36631, 0.0 ], [ 113.72353, -8.3662, 0.0 ], [ 113.72353, -8.36617, 0.0 ], [ 113.72353, -8.36613, 0.0 ], [ 113.72353, -8.36609, 0.0 ], [ 113.72352, -8.36606, 0.0 ], [ 113.72351, -8.36603, 0.0 ], [ 113.7235, -8.36602, 0.0 ], [ 113.72347, -8.36598, 0.0 ], [ 113.72342, -8.36592, 0.0 ], [ 113.72339, -8.36589, 0.0 ], [ 113.72336, -8.36585, 0.0 ], [ 113.72333, -8.36581, 0.0 ], [ 113.72331, -8.36579, 0.0 ], [ 113.7233, -8.36577, 0.0 ], [ 113.7233, -8.36575, 0.0 ], [ 113.7233, -8.36573, 0.0 ], [ 113.7233, -8.36569, 0.0 ], [ 113.72332, -8.36555, 0.0 ], [ 113.72334, -8.36531, 0.0 ], [ 113.72335, -8.3652, 0.0 ], [ 113.72336, -8.36488, 0.0 ], [ 113.72336, -8.36477, 0.0 ], [ 113.72336, -8.36441, 0.0 ], [ 113.7234, -8.36407, 0.0 ], [ 113.72342, -8.36373, 0.0 ], [ 113.72343, -8.36325, 0.0 ], [ 113.72343, -8.36307, 0.0 ], [ 113.72344, -8.36289, 0.0 ], [ 113.72344, -8.36285, 0.0 ], [ 113.72348, -8.36181, 0.0 ], [ 113.7235, -8.36146, 0.0 ], [ 113.7235, -8.36142, 0.0 ], [ 113.72355, -8.36074, 0.0 ], [ 113.72358, -8.3602, 0.0 ], [ 113.72359, -8.36009, 0.0 ], [ 113.7236, -8.35991, 0.0 ], [ 113.72361, -8.3598, 0.0 ], [ 113.7237, -8.35883, 0.0 ], [ 113.72371, -8.35855, 0.0 ], [ 113.72371, -8.35813, 0.0 ], [ 113.72371, -8.358, 0.0 ], [ 113.72371, -8.35764, 0.0 ], [ 113.72371, -8.35754, 0.0 ], [ 113.72372, -8.3571, 0.0 ], [ 113.72372, -8.35694, 0.0 ], [ 113.72372, -8.35692, 0.0 ], [ 113.72426, -8.35693, 0.0 ], [ 113.72469, -8.35696, 0.0 ], [ 113.72488, -8.35697, 0.0 ], [ 113.72524, -8.357, 0.0 ], [ 113.72596, -8.35705, 0.0 ], [ 113.72644, -8.35708, 0.0 ], [ 113.7276, -8.35708, 0.0 ], [ 113.72827, -8.35708, 0.0 ], [ 113.7285, -8.35708, 0.0 ], [ 113.72899, -8.35711, 0.0 ], [ 113.72936, -8.35714, 0.0 ], [ 113.72951, -8.35716, 0.0 ], [ 113.73112, -8.35725, 0.0 ], [ 113.73123, -8.35726, 0.0 ], [ 113.73184, -8.35729, 0.0 ], [ 113.73203, -8.3573, 0.0 ], [ 113.73275, -8.35733, 0.0 ], [ 113.73384, -8.35739, 0.0 ], [ 113.73464, -8.35742, 0.0 ], [ 113.73602, -8.3575, 0.0 ], [ 113.73671, -8.35754, 0.0 ], [ 113.73729, -8.35757, 0.0 ], [ 113.73784, -8.35759, 0.0 ], [ 113.73929, -8.35767, 0.0 ], [ 113.73965, -8.35768, 0.0 ], [ 113.73971, -8.35769, 0.0 ], [ 113.74056, -8.35772, 0.0 ], [ 113.74074, -8.35773, 0.0 ], [ 113.74092, -8.35774, 0.0 ], [ 113.7411, -8.35774, 0.0 ], [ 113.74147, -8.35776, 0.0 ], [ 113.74134, -8.35865, 0.0 ], [ 113.74132, -8.35883, 0.0 ], [ 113.74127, -8.35919, 0.0 ], [ 113.74125, -8.35936, 0.0 ], [ 113.74122, -8.35954, 0.0 ], [ 113.74117, -8.3599, 0.0 ], [ 113.74112, -8.36024, 0.0 ], [ 113.74108, -8.36062, 0.0 ], [ 113.74105, -8.36085, 0.0 ], [ 113.74104, -8.36096, 0.0 ], [ 113.74104, -8.36101, 0.0 ], [ 113.74105, -8.36105, 0.0 ], [ 113.74105, -8.36107, 0.0 ], [ 113.74106, -8.36109, 0.0 ], [ 113.74107, -8.36111, 0.0 ], [ 113.74109, -8.36113, 0.0 ], [ 113.74111, -8.36114, 0.0 ], [ 113.74115, -8.36115, 0.0 ], [ 113.74151, -8.36121, 0.0 ], [ 113.7418, -8.36126, 0.0 ], [ 113.74185, -8.36127, 0.0 ], [ 113.742, -8.3613, 0.0 ], [ 113.74253, -8.36139, 0.0 ], [ 113.74286, -8.36145, 0.0 ], [ 113.743, -8.36147, 0.0 ], [ 113.74319, -8.36145, 0.0 ], [ 113.74336, -8.36142, 0.0 ], [ 113.74344, -8.36142, 0.0 ], [ 113.7435, -8.36141, 0.0 ], [ 113.74355, -8.36142, 0.0 ], [ 113.74359, -8.36142, 0.0 ], [ 113.74362, -8.36142, 0.0 ], [ 113.74364, -8.36143, 0.0 ], [ 113.74366, -8.36143, 0.0 ], [ 113.74366, -8.36144, 0.0 ], [ 113.74368, -8.36145, 0.0 ], [ 113.74368, -8.36146, 0.0 ], [ 113.7437, -8.3615, 0.0 ], [ 113.74371, -8.36154, 0.0 ], [ 113.74373, -8.36159, 0.0 ], [ 113.74375, -8.36163, 0.0 ], [ 113.74378, -8.36164, 0.0 ], [ 113.74381, -8.36166, 0.0 ], [ 113.74385, -8.36167, 0.0 ], [ 113.74408, -8.36171, 0.0 ], [ 113.74493, -8.36188, 0.0 ], [ 113.7453, -8.36195, 0.0 ], [ 113.74536, -8.36196, 0.0 ], [ 113.74575, -8.36201, 0.0 ], [ 113.74591, -8.36203, 0.0 ], [ 113.74624, -8.36208, 0.0 ], [ 113.74647, -8.36211, 0.0 ], [ 113.74659, -8.36212, 0.0 ], [ 113.74669, -8.36214, 0.0 ], [ 113.74693, -8.36218, 0.0 ], [ 113.74712, -8.36221, 0.0 ], [ 113.74714, -8.36221, 0.0 ], [ 113.74723, -8.36222, 0.0 ], [ 113.74734, -8.36222, 0.0 ], [ 113.74755, -8.36221, 0.0 ], [ 113.74772, -8.36219, 0.0 ], [ 113.74804, -8.36214, 0.0 ], [ 113.74849, -8.36207, 0.0 ], [ 113.74853, -8.36207, 0.0 ], [ 113.74928, -8.36194, 0.0 ], [ 113.74941, -8.36193, 0.0 ], [ 113.74951, -8.36193, 0.0 ], [ 113.7498, -8.36191, 0.0 ], [ 113.75094, -8.36181, 0.0 ], [ 113.75155, -8.36167, 0.0 ], [ 113.75164, -8.36165, 0.0 ], [ 113.75168, -8.36163, 0.0 ], [ 113.75168, -8.36166, 0.0 ], [ 113.75168, -8.36163, 0.0 ], [ 113.75187, -8.36157, 0.0 ], [ 113.75193, -8.36154, 0.0 ], [ 113.75197, -8.36153, 0.0 ], [ 113.75216, -8.36142, 0.0 ], [ 113.7524, -8.36128, 0.0 ], [ 113.75267, -8.36112, 0.0 ], [ 113.75303, -8.36093, 0.0 ], [ 113.75322, -8.36083, 0.0 ], [ 113.75354, -8.36068, 0.0 ], [ 113.75384, -8.36052, 0.0 ], [ 113.75385, -8.36051, 0.0 ], [ 113.75412, -8.36038, 0.0 ], [ 113.75446, -8.36019, 0.0 ], [ 113.75472, -8.36005, 0.0 ], [ 113.75483, -8.35999, 0.0 ], [ 113.75488, -8.35997, 0.0 ], [ 113.75491, -8.35995, 0.0 ], [ 113.75494, -8.35994, 0.0 ], [ 113.755, -8.35992, 0.0 ], [ 113.75527, -8.35983, 0.0 ], [ 113.75532, -8.35982, 0.0 ], [ 113.75541, -8.35981, 0.0 ], [ 113.7555, -8.35981, 0.0 ], [ 113.75572, -8.35983, 0.0 ], [ 113.75586, -8.35985, 0.0 ], [ 113.75568, -8.36063, 0.0 ], [ 113.75566, -8.36072, 0.0 ], [ 113.75564, -8.36083, 0.0 ], [ 113.75562, -8.3609, 0.0 ], [ 113.7556, -8.36099, 0.0 ], [ 113.75541, -8.36183, 0.0 ], [ 113.75539, -8.36192, 0.0 ], [ 113.75538, -8.36195, 0.0 ], [ 113.75536, -8.36197, 0.0 ], [ 113.75534, -8.36199, 0.0 ], [ 113.7553, -8.36201, 0.0 ], [ 113.75529, -8.36202, 0.0 ], [ 113.75526, -8.36205, 0.0 ], [ 113.75519, -8.36209, 0.0 ], [ 113.7551, -8.36214, 0.0 ], [ 113.75502, -8.36217, 0.0 ], [ 113.75499, -8.36218, 0.0 ], [ 113.75495, -8.36221, 0.0 ], [ 113.75493, -8.36224, 0.0 ], [ 113.75492, -8.36226, 0.0 ], [ 113.75491, -8.36229, 0.0 ], [ 113.75489, -8.36237, 0.0 ], [ 113.75488, -8.36247, 0.0 ], [ 113.75482, -8.36274, 0.0 ], [ 113.75477, -8.36296, 0.0 ], [ 113.75473, -8.36309, 0.0 ], [ 113.7546, -8.36367, 0.0 ], [ 113.75452, -8.36416, 0.0 ], [ 113.7544, -8.36488, 0.0 ], [ 113.75424, -8.36574, 0.0 ], [ 113.75407, -8.36657, 0.0 ], [ 113.75405, -8.36662, 0.0 ], [ 113.75387, -8.36688, 0.0 ], [ 113.75372, -8.36699, 0.0 ], [ 113.75359, -8.36708, 0.0 ], [ 113.75357, -8.36709, 0.0 ], [ 113.75351, -8.36712, 0.0 ], [ 113.75344, -8.36715, 0.0 ], [ 113.7534, -8.36715, 0.0 ], [ 113.75334, -8.36716, 0.0 ], [ 113.75322, -8.36716, 0.0 ], [ 113.7532, -8.36716, 0.0 ], [ 113.75271, -8.36714, 0.0 ], [ 113.7525, -8.36714, 0.0 ], [ 113.75231, -8.36715, 0.0 ], [ 113.75194, -8.36715, 0.0 ], [ 113.75177, -8.36715, 0.0 ], [ 113.7514, -8.36715, 0.0 ], [ 113.75086, -8.36714, 0.0 ], [ 113.74995, -8.36714, 0.0 ], [ 113.74912, -8.36713, 0.0 ], [ 113.74905, -8.36713, 0.0 ], [ 113.74796, -8.36712, 0.0 ], [ 113.74786, -8.36712, 0.0 ], [ 113.74677, -8.3671, 0.0 ], [ 113.74578, -8.36709, 0.0 ], [ 113.74568, -8.36709, 0.0 ], [ 113.74451, -8.36708, 0.0 ], [ 113.74441, -8.36708, 0.0 ], [ 113.74423, -8.36708, 0.0 ], [ 113.7435, -8.36707, 0.0 ], [ 113.74342, -8.36707, 0.0 ], [ 113.74223, -8.36705, 0.0 ], [ 113.74201, -8.36705, 0.0 ], [ 113.742, -8.36714, 0.0 ], [ 113.742, -8.36744, 0.0 ], [ 113.74197, -8.36822, 0.0 ], [ 113.74196, -8.36876, 0.0 ], [ 113.74195, -8.369, 0.0 ], [ 113.74195, -8.36912, 0.0 ], [ 113.74194, -8.3693, 0.0 ], [ 113.74191, -8.36984, 0.0 ], [ 113.74191, -8.37002, 0.0 ], [ 113.74188, -8.37074, 0.0 ], [ 113.74187, -8.37091, 0.0 ], [ 113.74186, -8.37109, 0.0 ], [ 113.74185, -8.37127, 0.0 ], [ 113.74184, -8.37161, 0.0 ], [ 113.74184, -8.37163, 0.0 ], [ 113.74178, -8.37236, 0.0 ], [ 113.74175, -8.37283, 0.0 ], [ 113.74175, -8.37285, 0.0 ], [ 113.74173, -8.37315, 0.0 ], [ 113.74171, -8.37337, 0.0 ], [ 113.74169, -8.37355, 0.0 ], [ 113.74167, -8.37375, 0.0 ], [ 113.74166, -8.37393, 0.0 ], [ 113.74165, -8.37398, 0.0 ], [ 113.74165, -8.37404, 0.0 ], [ 113.74164, -8.37408, 0.0 ], [ 113.74162, -8.37412, 0.0 ], [ 113.74159, -8.37416, 0.0 ], [ 113.74153, -8.37423, 0.0 ], [ 113.74139, -8.37437, 0.0 ], [ 113.74113, -8.37461, 0.0 ], [ 113.74098, -8.37472, 0.0 ], [ 113.74093, -8.37476, 0.0 ], [ 113.74086, -8.37482, 0.0 ], [ 113.74083, -8.37483, 0.0 ], [ 113.74079, -8.37485, 0.0 ], [ 113.7407, -8.37485, 0.0 ], [ 113.74057, -8.37487, 0.0 ], [ 113.74047, -8.37488, 0.0 ], [ 113.74036, -8.37489, 0.0 ], [ 113.74027, -8.37492, 0.0 ], [ 113.74018, -8.37496, 0.0 ], [ 113.74006, -8.37504, 0.0 ], [ 113.73991, -8.37515, 0.0 ], [ 113.73974, -8.37529, 0.0 ], [ 113.7397, -8.37532, 0.0 ], [ 113.73939, -8.37551, 0.0 ], [ 113.73923, -8.3756, 0.0 ], [ 113.73877, -8.37588, 0.0 ], [ 113.7387, -8.37592, 0.0 ], [ 113.73861, -8.37598, 0.0 ], [ 113.73837, -8.37613, 0.0 ], [ 113.73831, -8.37617, 0.0 ], [ 113.73815, -8.37626, 0.0 ], [ 113.73799, -8.37635, 0.0 ], [ 113.73761, -8.37654, 0.0 ], [ 113.7375, -8.37659, 0.0 ], [ 113.73734, -8.37667, 0.0 ], [ 113.73706, -8.3768, 0.0 ], [ 113.73686, -8.37692, 0.0 ], [ 113.73679, -8.37696, 0.0 ], [ 113.73631, -8.37723, 0.0 ], [ 113.73606, -8.37733, 0.0 ], [ 113.73605, -8.37733, 0.0 ], [ 113.73579, -8.37746, 0.0 ], [ 113.73533, -8.37765, 0.0 ], [ 113.73516, -8.37772, 0.0 ], [ 113.73483, -8.37786, 0.0 ], [ 113.73466, -8.37793, 0.0 ], [ 113.73449, -8.378, 0.0 ], [ 113.73435, -8.37806, 0.0 ], [ 113.73422, -8.37812, 0.0 ], [ 113.73412, -8.37818, 0.0 ], [ 113.73401, -8.37826, 0.0 ], [ 113.73399, -8.37828, 0.0 ], [ 113.73387, -8.3784, 0.0 ], [ 113.73371, -8.37855, 0.0 ], [ 113.73359, -8.3787, 0.0 ], [ 113.73352, -8.3788, 0.0 ], [ 113.73344, -8.37894, 0.0 ], [ 113.73344, -8.37895, 0.0 ], [ 113.73337, -8.37912, 0.0 ], [ 113.73332, -8.37924, 0.0 ], [ 113.7332, -8.37977, 0.0 ], [ 113.7332, -8.37981, 0.0 ], [ 113.73317, -8.38049, 0.0 ], [ 113.73316, -8.38081, 0.0 ], [ 113.73315, -8.38109, 0.0 ], [ 113.73312, -8.38135, 0.0 ], [ 113.73311, -8.38153, 0.0 ], [ 113.73309, -8.38171, 0.0 ], [ 113.73309, -8.38173, 0.0 ], [ 113.73308, -8.38189, 0.0 ], [ 113.73308, -8.38198, 0.0 ], [ 113.73305, -8.38225, 0.0 ], [ 113.73302, -8.38244, 0.0 ], [ 113.73302, -8.38261, 0.0 ], [ 113.73301, -8.38279, 0.0 ], [ 113.73301, -8.38284, 0.0 ], [ 113.733, -8.38297, 0.0 ], [ 113.73298, -8.38314, 0.0 ], [ 113.73298, -8.38315, 0.0 ], [ 113.73297, -8.3835, 0.0 ], [ 113.73296, -8.38368, 0.0 ], [ 113.73296, -8.38372, 0.0 ], [ 113.73296, -8.38386, 0.0 ], [ 113.73294, -8.38422, 0.0 ], [ 113.73294, -8.38429, 0.0 ], [ 113.73293, -8.3844, 0.0 ], [ 113.7329, -8.38467, 0.0 ], [ 113.73289, -8.38473, 0.0 ], [ 113.73287, -8.385, 0.0 ], [ 113.73284, -8.38528, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "JP7M+P5R, Jl. Bandealit, Area Sawah/Kebun, Curahnongko, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.7328212, -8.3853002, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Jl. Untung Suropati, Curahlele, Wonoasri, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.7225331, -8.3708267, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JQQ2+8M2, Jl. Yos Sudarso, Curahtakir, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.7516839, -8.3616577, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JP7M+P5R, Jl. Bandealit, Area Sawah/Kebun, Curahnongko, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.7328432, -8.3852762, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Curahrejo - Cangkring.geojson b/smart_cycling_api/import_queue/done/Curahrejo - Cangkring.geojson new file mode 100644 index 0000000..2416a5d --- /dev/null +++ b/smart_cycling_api/import_queue/done/Curahrejo - Cangkring.geojson @@ -0,0 +1,12 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari MMXF+JHV, Curahrejo, Cangkring, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke MMXF+JHV, Curahrejo, Cangkring, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari MMXF+JHV, Curahrejo, Cangkring, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke MMXF+JHV, Curahrejo, Cangkring, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.6738, -8.30101, 0.0 ], [ 113.67386, -8.30097, 0.0 ], [ 113.6739, -8.30093, 0.0 ], [ 113.67393, -8.3009, 0.0 ], [ 113.67396, -8.30087, 0.0 ], [ 113.67398, -8.30083, 0.0 ], [ 113.67404, -8.30075, 0.0 ], [ 113.67407, -8.30068, 0.0 ], [ 113.67408, -8.30064, 0.0 ], [ 113.67409, -8.30061, 0.0 ], [ 113.6741, -8.30057, 0.0 ], [ 113.6741, -8.3005, 0.0 ], [ 113.67409, -8.30036, 0.0 ], [ 113.67407, -8.30003, 0.0 ], [ 113.67403, -8.29951, 0.0 ], [ 113.67402, -8.2995, 0.0 ], [ 113.67399, -8.2992, 0.0 ], [ 113.67396, -8.29876, 0.0 ], [ 113.67394, -8.29845, 0.0 ], [ 113.67394, -8.29842, 0.0 ], [ 113.67392, -8.29821, 0.0 ], [ 113.67391, -8.29806, 0.0 ], [ 113.67391, -8.29794, 0.0 ], [ 113.67391, -8.29785, 0.0 ], [ 113.67391, -8.29776, 0.0 ], [ 113.67392, -8.2977, 0.0 ], [ 113.67394, -8.29756, 0.0 ], [ 113.67399, -8.29735, 0.0 ], [ 113.674, -8.29733, 0.0 ], [ 113.67405, -8.29718, 0.0 ], [ 113.67407, -8.29714, 0.0 ], [ 113.67419, -8.29685, 0.0 ], [ 113.67421, -8.29682, 0.0 ], [ 113.67429, -8.29664, 0.0 ], [ 113.67454, -8.29612, 0.0 ], [ 113.67458, -8.29604, 0.0 ], [ 113.67468, -8.29581, 0.0 ], [ 113.67487, -8.29538, 0.0 ], [ 113.67494, -8.29521, 0.0 ], [ 113.67496, -8.29517, 0.0 ], [ 113.67498, -8.29508, 0.0 ], [ 113.67501, -8.295, 0.0 ], [ 113.67503, -8.29494, 0.0 ], [ 113.67506, -8.29489, 0.0 ], [ 113.67509, -8.29485, 0.0 ], [ 113.67513, -8.2948, 0.0 ], [ 113.67517, -8.29473, 0.0 ], [ 113.67555, -8.2939, 0.0 ], [ 113.67561, -8.29374, 0.0 ], [ 113.67568, -8.29361, 0.0 ], [ 113.67577, -8.29342, 0.0 ], [ 113.67607, -8.29278, 0.0 ], [ 113.67615, -8.2926, 0.0 ], [ 113.67625, -8.29237, 0.0 ], [ 113.67634, -8.29219, 0.0 ], [ 113.67638, -8.29209, 0.0 ], [ 113.67643, -8.29194, 0.0 ], [ 113.67644, -8.29192, 0.0 ], [ 113.67649, -8.29171, 0.0 ], [ 113.67653, -8.29164, 0.0 ], [ 113.67656, -8.29158, 0.0 ], [ 113.67659, -8.29153, 0.0 ], [ 113.67664, -8.29145, 0.0 ], [ 113.67672, -8.29128, 0.0 ], [ 113.67674, -8.29126, 0.0 ], [ 113.67688, -8.29096, 0.0 ], [ 113.67692, -8.29087, 0.0 ], [ 113.67703, -8.29063, 0.0 ], [ 113.67712, -8.29043, 0.0 ], [ 113.67728, -8.29006, 0.0 ], [ 113.67732, -8.28997, 0.0 ], [ 113.67746, -8.28966, 0.0 ], [ 113.67756, -8.28947, 0.0 ], [ 113.67769, -8.2892, 0.0 ], [ 113.67782, -8.28892, 0.0 ], [ 113.67793, -8.28865, 0.0 ], [ 113.67798, -8.28854, 0.0 ], [ 113.67798, -8.28852, 0.0 ], [ 113.6781, -8.28829, 0.0 ], [ 113.67819, -8.28804, 0.0 ], [ 113.67821, -8.28798, 0.0 ], [ 113.67822, -8.28793, 0.0 ], [ 113.67822, -8.28791, 0.0 ], [ 113.67823, -8.2879, 0.0 ], [ 113.67824, -8.28788, 0.0 ], [ 113.67827, -8.28784, 0.0 ], [ 113.67831, -8.28778, 0.0 ], [ 113.67833, -8.28775, 0.0 ], [ 113.67834, -8.28771, 0.0 ], [ 113.67837, -8.28763, 0.0 ], [ 113.67838, -8.28762, 0.0 ], [ 113.67843, -8.28745, 0.0 ], [ 113.67845, -8.28736, 0.0 ], [ 113.67846, -8.28728, 0.0 ], [ 113.67847, -8.28714, 0.0 ], [ 113.67848, -8.28699, 0.0 ], [ 113.67847, -8.28687, 0.0 ], [ 113.67847, -8.28676, 0.0 ], [ 113.67843, -8.28656, 0.0 ], [ 113.67839, -8.28634, 0.0 ], [ 113.67825, -8.28638, 0.0 ], [ 113.67819, -8.28639, 0.0 ], [ 113.6781, -8.28641, 0.0 ], [ 113.67777, -8.28646, 0.0 ], [ 113.67775, -8.28646, 0.0 ], [ 113.67745, -8.28652, 0.0 ], [ 113.67742, -8.28652, 0.0 ], [ 113.67721, -8.28657, 0.0 ], [ 113.67709, -8.28659, 0.0 ], [ 113.67652, -8.28672, 0.0 ], [ 113.67622, -8.28677, 0.0 ], [ 113.67596, -8.28682, 0.0 ], [ 113.6759, -8.28683, 0.0 ], [ 113.67589, -8.28683, 0.0 ], [ 113.67562, -8.2869, 0.0 ], [ 113.67534, -8.28696, 0.0 ], [ 113.6753, -8.28697, 0.0 ], [ 113.67529, -8.28697, 0.0 ], [ 113.67502, -8.28699, 0.0 ], [ 113.67483, -8.28699, 0.0 ], [ 113.67452, -8.28699, 0.0 ], [ 113.67424, -8.28697, 0.0 ], [ 113.67409, -8.28696, 0.0 ], [ 113.67373, -8.28693, 0.0 ], [ 113.67313, -8.2869, 0.0 ], [ 113.67288, -8.28689, 0.0 ], [ 113.67254, -8.28687, 0.0 ], [ 113.67243, -8.28687, 0.0 ], [ 113.67235, -8.28687, 0.0 ], [ 113.67224, -8.28687, 0.0 ], [ 113.672, -8.28685, 0.0 ], [ 113.6719, -8.28684, 0.0 ], [ 113.67165, -8.28683, 0.0 ], [ 113.67159, -8.28683, 0.0 ], [ 113.67136, -8.28681, 0.0 ], [ 113.67135, -8.28681, 0.0 ], [ 113.67124, -8.2868, 0.0 ], [ 113.67091, -8.28679, 0.0 ], [ 113.67086, -8.28679, 0.0 ], [ 113.67078, -8.28678, 0.0 ], [ 113.67054, -8.28676, 0.0 ], [ 113.67049, -8.28676, 0.0 ], [ 113.66998, -8.28672, 0.0 ], [ 113.66971, -8.2867, 0.0 ], [ 113.66942, -8.28668, 0.0 ], [ 113.66885, -8.28662, 0.0 ], [ 113.66861, -8.28661, 0.0 ], [ 113.66856, -8.28661, 0.0 ], [ 113.66837, -8.28661, 0.0 ], [ 113.66825, -8.2866, 0.0 ], [ 113.66818, -8.2866, 0.0 ], [ 113.66811, -8.2866, 0.0 ], [ 113.66793, -8.28659, 0.0 ], [ 113.66782, -8.28658, 0.0 ], [ 113.66751, -8.28658, 0.0 ], [ 113.6675, -8.28658, 0.0 ], [ 113.66741, -8.28659, 0.0 ], [ 113.66734, -8.28661, 0.0 ], [ 113.66731, -8.28663, 0.0 ], [ 113.66729, -8.28666, 0.0 ], [ 113.66726, -8.2867, 0.0 ], [ 113.66725, -8.28674, 0.0 ], [ 113.66724, -8.28679, 0.0 ], [ 113.66724, -8.28694, 0.0 ], [ 113.66724, -8.28705, 0.0 ], [ 113.66706, -8.28709, 0.0 ], [ 113.66689, -8.28711, 0.0 ], [ 113.66674, -8.28714, 0.0 ], [ 113.6666, -8.28716, 0.0 ], [ 113.66656, -8.28717, 0.0 ], [ 113.66644, -8.28719, 0.0 ], [ 113.66638, -8.28721, 0.0 ], [ 113.66636, -8.28722, 0.0 ], [ 113.66631, -8.28725, 0.0 ], [ 113.66616, -8.28735, 0.0 ], [ 113.66605, -8.28742, 0.0 ], [ 113.66574, -8.28763, 0.0 ], [ 113.66572, -8.28757, 0.0 ], [ 113.66574, -8.28763, 0.0 ], [ 113.66587, -8.28797, 0.0 ], [ 113.66601, -8.28832, 0.0 ], [ 113.66624, -8.28889, 0.0 ], [ 113.66628, -8.28898, 0.0 ], [ 113.66634, -8.28914, 0.0 ], [ 113.66645, -8.28941, 0.0 ], [ 113.66654, -8.28964, 0.0 ], [ 113.66656, -8.28968, 0.0 ], [ 113.66657, -8.28972, 0.0 ], [ 113.66665, -8.28992, 0.0 ], [ 113.66678, -8.29024, 0.0 ], [ 113.66684, -8.29037, 0.0 ], [ 113.66704, -8.29086, 0.0 ], [ 113.66736, -8.29166, 0.0 ], [ 113.66758, -8.29221, 0.0 ], [ 113.6677, -8.29253, 0.0 ], [ 113.66796, -8.29317, 0.0 ], [ 113.66804, -8.29338, 0.0 ], [ 113.66808, -8.29345, 0.0 ], [ 113.66813, -8.29354, 0.0 ], [ 113.66822, -8.29369, 0.0 ], [ 113.66937, -8.29516, 0.0 ], [ 113.66938, -8.29518, 0.0 ], [ 113.66964, -8.29551, 0.0 ], [ 113.66998, -8.29596, 0.0 ], [ 113.67, -8.29599, 0.0 ], [ 113.67002, -8.29601, 0.0 ], [ 113.67018, -8.29621, 0.0 ], [ 113.67021, -8.29626, 0.0 ], [ 113.67024, -8.29629, 0.0 ], [ 113.67031, -8.29641, 0.0 ], [ 113.67042, -8.29656, 0.0 ], [ 113.67044, -8.29659, 0.0 ], [ 113.67048, -8.29664, 0.0 ], [ 113.67078, -8.29703, 0.0 ], [ 113.67089, -8.29718, 0.0 ], [ 113.67109, -8.29745, 0.0 ], [ 113.67143, -8.29789, 0.0 ], [ 113.67176, -8.29832, 0.0 ], [ 113.67195, -8.29856, 0.0 ], [ 113.67203, -8.29868, 0.0 ], [ 113.67207, -8.29873, 0.0 ], [ 113.67213, -8.29882, 0.0 ], [ 113.67215, -8.29884, 0.0 ], [ 113.6723, -8.29904, 0.0 ], [ 113.67234, -8.29908, 0.0 ], [ 113.67257, -8.29942, 0.0 ], [ 113.67275, -8.29967, 0.0 ], [ 113.67297, -8.29998, 0.0 ], [ 113.67305, -8.3001, 0.0 ], [ 113.67313, -8.3002, 0.0 ], [ 113.67341, -8.30056, 0.0 ], [ 113.6737, -8.30089, 0.0 ], [ 113.6738, -8.30101, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "MMXF+JHV, Curahrejo, Cangkring, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6737983, -8.3010051, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PM7H+C5W, Cangkring Baru, Cangkring, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6781855, -8.2863904, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PM68+X7C, Cangkring Baru, Cangkring, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6657169, -8.2875727, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MMXF+JHV, Curahrejo, Cangkring, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6737983, -8.3010051, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Jatimulyo - Pontang Dadapan.geojson b/smart_cycling_api/import_queue/done/Jatimulyo - Pontang Dadapan.geojson new file mode 100644 index 0000000..bcd7c07 --- /dev/null +++ b/smart_cycling_api/import_queue/done/Jatimulyo - Pontang Dadapan.geojson @@ -0,0 +1,12 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari MMH7+F7V, Darussalam, Sruni, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke MMH7+F7V, Darussalam, Sruni, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari MMH7+F7V, Darussalam, Sruni, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke MMH7+F7V, Darussalam, Sruni, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.66315, -8.32165, 0.0 ], [ 113.66312, -8.32169, 0.0 ], [ 113.66309, -8.32173, 0.0 ], [ 113.66301, -8.32186, 0.0 ], [ 113.66288, -8.32208, 0.0 ], [ 113.66273, -8.3223, 0.0 ], [ 113.66271, -8.32234, 0.0 ], [ 113.66263, -8.32246, 0.0 ], [ 113.66244, -8.32276, 0.0 ], [ 113.66221, -8.3231, 0.0 ], [ 113.66205, -8.32335, 0.0 ], [ 113.6619, -8.32359, 0.0 ], [ 113.66185, -8.32367, 0.0 ], [ 113.66176, -8.32382, 0.0 ], [ 113.66164, -8.324, 0.0 ], [ 113.66147, -8.32426, 0.0 ], [ 113.66134, -8.32447, 0.0 ], [ 113.66124, -8.32462, 0.0 ], [ 113.66123, -8.32465, 0.0 ], [ 113.66121, -8.32468, 0.0 ], [ 113.66118, -8.32474, 0.0 ], [ 113.66115, -8.3248, 0.0 ], [ 113.66091, -8.32514, 0.0 ], [ 113.66082, -8.32528, 0.0 ], [ 113.66058, -8.32566, 0.0 ], [ 113.66032, -8.32607, 0.0 ], [ 113.66024, -8.32619, 0.0 ], [ 113.66014, -8.32634, 0.0 ], [ 113.6601, -8.3264, 0.0 ], [ 113.65991, -8.3267, 0.0 ], [ 113.65972, -8.32699, 0.0 ], [ 113.65956, -8.32724, 0.0 ], [ 113.65956, -8.32725, 0.0 ], [ 113.65944, -8.32743, 0.0 ], [ 113.65927, -8.32771, 0.0 ], [ 113.65925, -8.32773, 0.0 ], [ 113.65908, -8.328, 0.0 ], [ 113.6589, -8.32829, 0.0 ], [ 113.65874, -8.32853, 0.0 ], [ 113.65868, -8.32862, 0.0 ], [ 113.6586, -8.32876, 0.0 ], [ 113.65859, -8.32877, 0.0 ], [ 113.65849, -8.32892, 0.0 ], [ 113.65846, -8.32897, 0.0 ], [ 113.6583, -8.32922, 0.0 ], [ 113.6583, -8.32923, 0.0 ], [ 113.6582, -8.32938, 0.0 ], [ 113.6582, -8.32939, 0.0 ], [ 113.65809, -8.32957, 0.0 ], [ 113.65798, -8.32976, 0.0 ], [ 113.65794, -8.32986, 0.0 ], [ 113.65791, -8.32995, 0.0 ], [ 113.65789, -8.33003, 0.0 ], [ 113.65788, -8.33013, 0.0 ], [ 113.65788, -8.33026, 0.0 ], [ 113.65788, -8.33045, 0.0 ], [ 113.65789, -8.33062, 0.0 ], [ 113.65791, -8.33079, 0.0 ], [ 113.65791, -8.33083, 0.0 ], [ 113.65793, -8.3311, 0.0 ], [ 113.65796, -8.33138, 0.0 ], [ 113.65799, -8.33175, 0.0 ], [ 113.65799, -8.33183, 0.0 ], [ 113.65801, -8.33208, 0.0 ], [ 113.65804, -8.33247, 0.0 ], [ 113.65805, -8.33249, 0.0 ], [ 113.65825, -8.33246, 0.0 ], [ 113.65859, -8.33241, 0.0 ], [ 113.65867, -8.33239, 0.0 ], [ 113.65877, -8.33238, 0.0 ], [ 113.6589, -8.33236, 0.0 ], [ 113.65906, -8.33235, 0.0 ], [ 113.65921, -8.33233, 0.0 ], [ 113.65928, -8.33232, 0.0 ], [ 113.65934, -8.33231, 0.0 ], [ 113.65948, -8.33226, 0.0 ], [ 113.65957, -8.33223, 0.0 ], [ 113.65969, -8.3322, 0.0 ], [ 113.65979, -8.33218, 0.0 ], [ 113.65983, -8.33217, 0.0 ], [ 113.65995, -8.33214, 0.0 ], [ 113.66002, -8.33213, 0.0 ], [ 113.66005, -8.33212, 0.0 ], [ 113.66007, -8.33211, 0.0 ], [ 113.66011, -8.33209, 0.0 ], [ 113.66017, -8.33206, 0.0 ], [ 113.66026, -8.33201, 0.0 ], [ 113.66032, -8.33199, 0.0 ], [ 113.66039, -8.33198, 0.0 ], [ 113.66047, -8.33198, 0.0 ], [ 113.66058, -8.33199, 0.0 ], [ 113.66066, -8.33201, 0.0 ], [ 113.66138, -8.33224, 0.0 ], [ 113.66337, -8.33289, 0.0 ], [ 113.66343, -8.33276, 0.0 ], [ 113.66351, -8.33255, 0.0 ], [ 113.66397, -8.33139, 0.0 ], [ 113.66423, -8.33072, 0.0 ], [ 113.66463, -8.32971, 0.0 ], [ 113.66476, -8.32938, 0.0 ], [ 113.66489, -8.32904, 0.0 ], [ 113.66496, -8.32887, 0.0 ], [ 113.66542, -8.3277, 0.0 ], [ 113.66587, -8.32655, 0.0 ], [ 113.66615, -8.32588, 0.0 ], [ 113.66621, -8.32573, 0.0 ], [ 113.66646, -8.32511, 0.0 ], [ 113.66656, -8.32489, 0.0 ], [ 113.66676, -8.32439, 0.0 ], [ 113.66691, -8.32401, 0.0 ], [ 113.66699, -8.32388, 0.0 ], [ 113.66691, -8.32383, 0.0 ], [ 113.66672, -8.3237, 0.0 ], [ 113.666, -8.32326, 0.0 ], [ 113.66569, -8.32308, 0.0 ], [ 113.66491, -8.32262, 0.0 ], [ 113.66476, -8.32252, 0.0 ], [ 113.66444, -8.32233, 0.0 ], [ 113.66373, -8.32192, 0.0 ], [ 113.6635, -8.3218, 0.0 ], [ 113.66338, -8.32174, 0.0 ], [ 113.66324, -8.32168, 0.0 ], [ 113.66315, -8.32165, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "MMH7+F7V, Darussalam, Sruni, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6631497, -8.3216454, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MM85+W5M, Pontang Utara, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6580445, -8.3324663, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MMG8+CPQ, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6669086, -8.3238306, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MMH7+F7V, Darussalam, Sruni, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6631497, -8.3216454, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Jatimulyo - Seruni - Curahmati - Tempurejo.geojson b/smart_cycling_api/import_queue/done/Jatimulyo - Seruni - Curahmati - Tempurejo.geojson new file mode 100644 index 0000000..b8340d4 --- /dev/null +++ b/smart_cycling_api/import_queue/done/Jatimulyo - Seruni - Curahmati - Tempurejo.geojson @@ -0,0 +1,14 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari MMG8+CPQ, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke MMG8+CPQ, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari MMG8+CPQ, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke MMG8+CPQ, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.66699, -8.32388, 0.0 ], [ 113.66672, -8.3237, 0.0 ], [ 113.666, -8.32326, 0.0 ], [ 113.66569, -8.32308, 0.0 ], [ 113.66491, -8.32262, 0.0 ], [ 113.66476, -8.32252, 0.0 ], [ 113.66444, -8.32233, 0.0 ], [ 113.66373, -8.32192, 0.0 ], [ 113.6635, -8.3218, 0.0 ], [ 113.66338, -8.32174, 0.0 ], [ 113.66324, -8.32168, 0.0 ], [ 113.66315, -8.32165, 0.0 ], [ 113.6631, -8.32162, 0.0 ], [ 113.66307, -8.3216, 0.0 ], [ 113.66305, -8.32157, 0.0 ], [ 113.663, -8.32152, 0.0 ], [ 113.66302, -8.32143, 0.0 ], [ 113.66305, -8.32137, 0.0 ], [ 113.66311, -8.32127, 0.0 ], [ 113.66318, -8.32118, 0.0 ], [ 113.66333, -8.32101, 0.0 ], [ 113.66344, -8.32087, 0.0 ], [ 113.66356, -8.32072, 0.0 ], [ 113.66366, -8.32057, 0.0 ], [ 113.66377, -8.32041, 0.0 ], [ 113.66404, -8.31998, 0.0 ], [ 113.66416, -8.3198, 0.0 ], [ 113.6642, -8.31974, 0.0 ], [ 113.66423, -8.31968, 0.0 ], [ 113.66425, -8.31964, 0.0 ], [ 113.66427, -8.31961, 0.0 ], [ 113.66437, -8.3194, 0.0 ], [ 113.66446, -8.31927, 0.0 ], [ 113.66458, -8.3191, 0.0 ], [ 113.66469, -8.31894, 0.0 ], [ 113.6648, -8.31876, 0.0 ], [ 113.66522, -8.31809, 0.0 ], [ 113.66561, -8.31745, 0.0 ], [ 113.66575, -8.31716, 0.0 ], [ 113.66581, -8.31701, 0.0 ], [ 113.66588, -8.31684, 0.0 ], [ 113.66599, -8.31654, 0.0 ], [ 113.66604, -8.31633, 0.0 ], [ 113.66607, -8.31615, 0.0 ], [ 113.6662, -8.31544, 0.0 ], [ 113.66632, -8.31474, 0.0 ], [ 113.66636, -8.31456, 0.0 ], [ 113.66636, -8.31451, 0.0 ], [ 113.66644, -8.31408, 0.0 ], [ 113.66651, -8.31366, 0.0 ], [ 113.66654, -8.31349, 0.0 ], [ 113.66657, -8.31332, 0.0 ], [ 113.6666, -8.31314, 0.0 ], [ 113.66669, -8.31266, 0.0 ], [ 113.66676, -8.31225, 0.0 ], [ 113.66682, -8.3119, 0.0 ], [ 113.66685, -8.31177, 0.0 ], [ 113.66702, -8.31079, 0.0 ], [ 113.66724, -8.30966, 0.0 ], [ 113.66741, -8.30873, 0.0 ], [ 113.66754, -8.30801, 0.0 ], [ 113.66764, -8.30738, 0.0 ], [ 113.66769, -8.30712, 0.0 ], [ 113.66776, -8.30679, 0.0 ], [ 113.6678, -8.3066, 0.0 ], [ 113.66783, -8.30649, 0.0 ], [ 113.66786, -8.30644, 0.0 ], [ 113.66789, -8.30639, 0.0 ], [ 113.66793, -8.30633, 0.0 ], [ 113.66798, -8.30627, 0.0 ], [ 113.66807, -8.30621, 0.0 ], [ 113.66829, -8.30603, 0.0 ], [ 113.66846, -8.30589, 0.0 ], [ 113.66849, -8.30587, 0.0 ], [ 113.66863, -8.30575, 0.0 ], [ 113.66871, -8.30567, 0.0 ], [ 113.66876, -8.30564, 0.0 ], [ 113.66888, -8.30554, 0.0 ], [ 113.66904, -8.30539, 0.0 ], [ 113.66917, -8.30526, 0.0 ], [ 113.66923, -8.3052, 0.0 ], [ 113.66944, -8.30501, 0.0 ], [ 113.66961, -8.30487, 0.0 ], [ 113.66975, -8.30475, 0.0 ], [ 113.66977, -8.30474, 0.0 ], [ 113.66986, -8.30465, 0.0 ], [ 113.67001, -8.30452, 0.0 ], [ 113.67006, -8.30446, 0.0 ], [ 113.67011, -8.30441, 0.0 ], [ 113.67017, -8.30435, 0.0 ], [ 113.67023, -8.3043, 0.0 ], [ 113.67034, -8.30421, 0.0 ], [ 113.67051, -8.30407, 0.0 ], [ 113.67069, -8.30391, 0.0 ], [ 113.67073, -8.30388, 0.0 ], [ 113.67089, -8.30373, 0.0 ], [ 113.67104, -8.30361, 0.0 ], [ 113.67136, -8.3033, 0.0 ], [ 113.6717, -8.303, 0.0 ], [ 113.67199, -8.30274, 0.0 ], [ 113.67208, -8.30266, 0.0 ], [ 113.67243, -8.30234, 0.0 ], [ 113.67267, -8.30213, 0.0 ], [ 113.67282, -8.30198, 0.0 ], [ 113.6729, -8.3019, 0.0 ], [ 113.67298, -8.30182, 0.0 ], [ 113.67312, -8.30168, 0.0 ], [ 113.67339, -8.3014, 0.0 ], [ 113.67361, -8.30119, 0.0 ], [ 113.6738, -8.30101, 0.0 ], [ 113.67399, -8.30124, 0.0 ], [ 113.67416, -8.30148, 0.0 ], [ 113.67429, -8.30163, 0.0 ], [ 113.67438, -8.30173, 0.0 ], [ 113.67453, -8.30185, 0.0 ], [ 113.6746, -8.30189, 0.0 ], [ 113.67463, -8.3019, 0.0 ], [ 113.67469, -8.30192, 0.0 ], [ 113.67478, -8.30192, 0.0 ], [ 113.67486, -8.30191, 0.0 ], [ 113.67493, -8.30189, 0.0 ], [ 113.67504, -8.30183, 0.0 ], [ 113.67533, -8.30164, 0.0 ], [ 113.67582, -8.3013, 0.0 ], [ 113.67607, -8.30115, 0.0 ], [ 113.6762, -8.30107, 0.0 ], [ 113.67675, -8.30073, 0.0 ], [ 113.67686, -8.30066, 0.0 ], [ 113.67742, -8.30032, 0.0 ], [ 113.67764, -8.30019, 0.0 ], [ 113.67797, -8.29999, 0.0 ], [ 113.67806, -8.29992, 0.0 ], [ 113.67811, -8.29988, 0.0 ], [ 113.6783, -8.29975, 0.0 ], [ 113.67852, -8.29964, 0.0 ], [ 113.67861, -8.2996, 0.0 ], [ 113.67874, -8.29952, 0.0 ], [ 113.67883, -8.29946, 0.0 ], [ 113.67885, -8.29946, 0.0 ], [ 113.67894, -8.29941, 0.0 ], [ 113.67902, -8.2994, 0.0 ], [ 113.67908, -8.29939, 0.0 ], [ 113.67912, -8.29939, 0.0 ], [ 113.67916, -8.29939, 0.0 ], [ 113.67917, -8.29939, 0.0 ], [ 113.6793, -8.29942, 0.0 ], [ 113.67948, -8.29944, 0.0 ], [ 113.67963, -8.29946, 0.0 ], [ 113.67988, -8.29949, 0.0 ], [ 113.68086, -8.29962, 0.0 ], [ 113.68159, -8.29969, 0.0 ], [ 113.68193, -8.29972, 0.0 ], [ 113.68195, -8.29972, 0.0 ], [ 113.68197, -8.29972, 0.0 ], [ 113.682, -8.29971, 0.0 ], [ 113.68203, -8.2997, 0.0 ], [ 113.68206, -8.29968, 0.0 ], [ 113.68211, -8.29963, 0.0 ], [ 113.68261, -8.29917, 0.0 ], [ 113.68264, -8.29915, 0.0 ], [ 113.68267, -8.29913, 0.0 ], [ 113.68273, -8.29911, 0.0 ], [ 113.68278, -8.29909, 0.0 ], [ 113.68296, -8.29904, 0.0 ], [ 113.68302, -8.29906, 0.0 ], [ 113.68315, -8.29911, 0.0 ], [ 113.68322, -8.29914, 0.0 ], [ 113.68326, -8.29915, 0.0 ], [ 113.68328, -8.29916, 0.0 ], [ 113.68335, -8.29918, 0.0 ], [ 113.6834, -8.29921, 0.0 ], [ 113.68344, -8.29924, 0.0 ], [ 113.68347, -8.29927, 0.0 ], [ 113.68351, -8.29934, 0.0 ], [ 113.68353, -8.29939, 0.0 ], [ 113.68353, -8.2994, 0.0 ], [ 113.68354, -8.29947, 0.0 ], [ 113.68354, -8.29957, 0.0 ], [ 113.68354, -8.29963, 0.0 ], [ 113.68354, -8.29978, 0.0 ], [ 113.68356, -8.29985, 0.0 ], [ 113.68359, -8.2999, 0.0 ], [ 113.68361, -8.29993, 0.0 ], [ 113.68368, -8.29997, 0.0 ], [ 113.68374, -8.29999, 0.0 ], [ 113.68382, -8.30001, 0.0 ], [ 113.68413, -8.30006, 0.0 ], [ 113.68427, -8.30008, 0.0 ], [ 113.68436, -8.30009, 0.0 ], [ 113.68471, -8.30014, 0.0 ], [ 113.68496, -8.30018, 0.0 ], [ 113.68524, -8.30021, 0.0 ], [ 113.68526, -8.30021, 0.0 ], [ 113.68549, -8.30023, 0.0 ], [ 113.68562, -8.30024, 0.0 ], [ 113.68593, -8.3003, 0.0 ], [ 113.68633, -8.30035, 0.0 ], [ 113.68654, -8.30038, 0.0 ], [ 113.68689, -8.30043, 0.0 ], [ 113.68699, -8.30044, 0.0 ], [ 113.68709, -8.30045, 0.0 ], [ 113.68725, -8.30048, 0.0 ], [ 113.68733, -8.30049, 0.0 ], [ 113.68746, -8.3005, 0.0 ], [ 113.6876, -8.30052, 0.0 ], [ 113.6877, -8.30054, 0.0 ], [ 113.6878, -8.30055, 0.0 ], [ 113.68809, -8.30059, 0.0 ], [ 113.68866, -8.30067, 0.0 ], [ 113.68895, -8.30071, 0.0 ], [ 113.68936, -8.30076, 0.0 ], [ 113.68966, -8.3008, 0.0 ], [ 113.68976, -8.30011, 0.0 ], [ 113.68991, -8.29937, 0.0 ], [ 113.68992, -8.29935, 0.0 ], [ 113.69004, -8.2988, 0.0 ], [ 113.69006, -8.29871, 0.0 ], [ 113.6901, -8.29858, 0.0 ], [ 113.69018, -8.29825, 0.0 ], [ 113.69025, -8.29798, 0.0 ], [ 113.6903, -8.29776, 0.0 ], [ 113.69033, -8.2976, 0.0 ], [ 113.6904, -8.29732, 0.0 ], [ 113.69044, -8.29712, 0.0 ], [ 113.69052, -8.29681, 0.0 ], [ 113.69067, -8.29612, 0.0 ], [ 113.69078, -8.29568, 0.0 ], [ 113.69082, -8.29552, 0.0 ], [ 113.69094, -8.29515, 0.0 ], [ 113.69115, -8.29454, 0.0 ], [ 113.69123, -8.29431, 0.0 ], [ 113.69135, -8.29397, 0.0 ], [ 113.69156, -8.29347, 0.0 ], [ 113.69163, -8.2933, 0.0 ], [ 113.69164, -8.29328, 0.0 ], [ 113.69181, -8.29279, 0.0 ], [ 113.69202, -8.29217, 0.0 ], [ 113.6922, -8.29148, 0.0 ], [ 113.69226, -8.29122, 0.0 ], [ 113.69228, -8.29114, 0.0 ], [ 113.69231, -8.291, 0.0 ], [ 113.69233, -8.29089, 0.0 ], [ 113.69236, -8.29069, 0.0 ], [ 113.69237, -8.29058, 0.0 ], [ 113.69225, -8.2906, 0.0 ], [ 113.69204, -8.29061, 0.0 ], [ 113.69171, -8.29063, 0.0 ], [ 113.69123, -8.29065, 0.0 ], [ 113.69096, -8.29068, 0.0 ], [ 113.69072, -8.29072, 0.0 ], [ 113.69066, -8.29073, 0.0 ], [ 113.69036, -8.29079, 0.0 ], [ 113.69012, -8.29084, 0.0 ], [ 113.68983, -8.29094, 0.0 ], [ 113.68955, -8.2911, 0.0 ], [ 113.68937, -8.29123, 0.0 ], [ 113.68917, -8.29141, 0.0 ], [ 113.68896, -8.29158, 0.0 ], [ 113.68882, -8.29167, 0.0 ], [ 113.68871, -8.29174, 0.0 ], [ 113.68862, -8.29177, 0.0 ], [ 113.68852, -8.29178, 0.0 ], [ 113.68851, -8.29178, 0.0 ], [ 113.68844, -8.29179, 0.0 ], [ 113.68826, -8.29179, 0.0 ], [ 113.68806, -8.2918, 0.0 ], [ 113.68792, -8.29182, 0.0 ], [ 113.68777, -8.29184, 0.0 ], [ 113.68764, -8.29187, 0.0 ], [ 113.68752, -8.29189, 0.0 ], [ 113.68745, -8.29191, 0.0 ], [ 113.68709, -8.29199, 0.0 ], [ 113.68684, -8.29206, 0.0 ], [ 113.68644, -8.29221, 0.0 ], [ 113.68626, -8.29228, 0.0 ], [ 113.68622, -8.29231, 0.0 ], [ 113.6862, -8.29233, 0.0 ], [ 113.68617, -8.29237, 0.0 ], [ 113.68613, -8.29244, 0.0 ], [ 113.68609, -8.29249, 0.0 ], [ 113.68596, -8.29274, 0.0 ], [ 113.68594, -8.29278, 0.0 ], [ 113.6859, -8.29281, 0.0 ], [ 113.68581, -8.29288, 0.0 ], [ 113.68572, -8.29292, 0.0 ], [ 113.68543, -8.293, 0.0 ], [ 113.68534, -8.29302, 0.0 ], [ 113.68525, -8.29305, 0.0 ], [ 113.68508, -8.2931, 0.0 ], [ 113.685, -8.29313, 0.0 ], [ 113.68459, -8.29322, 0.0 ], [ 113.68455, -8.29323, 0.0 ], [ 113.68437, -8.29327, 0.0 ], [ 113.68413, -8.29332, 0.0 ], [ 113.68372, -8.29339, 0.0 ], [ 113.68337, -8.29348, 0.0 ], [ 113.68313, -8.29354, 0.0 ], [ 113.68278, -8.29363, 0.0 ], [ 113.68277, -8.2943, 0.0 ], [ 113.68277, -8.29435, 0.0 ], [ 113.68273, -8.29468, 0.0 ], [ 113.68272, -8.29471, 0.0 ], [ 113.68271, -8.29475, 0.0 ], [ 113.68269, -8.29485, 0.0 ], [ 113.68267, -8.29494, 0.0 ], [ 113.68264, -8.29508, 0.0 ], [ 113.68261, -8.29515, 0.0 ], [ 113.6826, -8.2952, 0.0 ], [ 113.68255, -8.29536, 0.0 ], [ 113.68249, -8.29562, 0.0 ], [ 113.68244, -8.29601, 0.0 ], [ 113.68239, -8.29625, 0.0 ], [ 113.68237, -8.29635, 0.0 ], [ 113.6823, -8.29663, 0.0 ], [ 113.68229, -8.29669, 0.0 ], [ 113.68217, -8.29714, 0.0 ], [ 113.68214, -8.29725, 0.0 ], [ 113.68212, -8.29733, 0.0 ], [ 113.6821, -8.29744, 0.0 ], [ 113.68194, -8.29813, 0.0 ], [ 113.68188, -8.2984, 0.0 ], [ 113.68177, -8.29884, 0.0 ], [ 113.68176, -8.29888, 0.0 ], [ 113.68171, -8.29913, 0.0 ], [ 113.68159, -8.29969, 0.0 ], [ 113.68086, -8.29962, 0.0 ], [ 113.67988, -8.29949, 0.0 ], [ 113.67963, -8.29946, 0.0 ], [ 113.67948, -8.29944, 0.0 ], [ 113.6793, -8.29942, 0.0 ], [ 113.67917, -8.29939, 0.0 ], [ 113.67916, -8.29939, 0.0 ], [ 113.67912, -8.29939, 0.0 ], [ 113.67908, -8.29939, 0.0 ], [ 113.67902, -8.2994, 0.0 ], [ 113.67894, -8.29941, 0.0 ], [ 113.67885, -8.29946, 0.0 ], [ 113.67883, -8.29946, 0.0 ], [ 113.67874, -8.29952, 0.0 ], [ 113.67861, -8.2996, 0.0 ], [ 113.67852, -8.29964, 0.0 ], [ 113.6783, -8.29975, 0.0 ], [ 113.67811, -8.29988, 0.0 ], [ 113.67806, -8.29992, 0.0 ], [ 113.67797, -8.29999, 0.0 ], [ 113.67764, -8.30019, 0.0 ], [ 113.67742, -8.30032, 0.0 ], [ 113.67686, -8.30066, 0.0 ], [ 113.67675, -8.30073, 0.0 ], [ 113.6762, -8.30107, 0.0 ], [ 113.67607, -8.30115, 0.0 ], [ 113.67582, -8.3013, 0.0 ], [ 113.67533, -8.30164, 0.0 ], [ 113.67504, -8.30183, 0.0 ], [ 113.67493, -8.30189, 0.0 ], [ 113.67486, -8.30191, 0.0 ], [ 113.67478, -8.30192, 0.0 ], [ 113.67469, -8.30192, 0.0 ], [ 113.67463, -8.3019, 0.0 ], [ 113.6746, -8.30189, 0.0 ], [ 113.67453, -8.30185, 0.0 ], [ 113.67438, -8.30173, 0.0 ], [ 113.67429, -8.30163, 0.0 ], [ 113.67416, -8.30148, 0.0 ], [ 113.67399, -8.30124, 0.0 ], [ 113.6738, -8.30101, 0.0 ], [ 113.67361, -8.30119, 0.0 ], [ 113.67339, -8.3014, 0.0 ], [ 113.67312, -8.30168, 0.0 ], [ 113.67298, -8.30182, 0.0 ], [ 113.6729, -8.3019, 0.0 ], [ 113.67282, -8.30198, 0.0 ], [ 113.67267, -8.30213, 0.0 ], [ 113.67243, -8.30234, 0.0 ], [ 113.67208, -8.30266, 0.0 ], [ 113.67199, -8.30274, 0.0 ], [ 113.6717, -8.303, 0.0 ], [ 113.67136, -8.3033, 0.0 ], [ 113.67104, -8.30361, 0.0 ], [ 113.67089, -8.30373, 0.0 ], [ 113.67073, -8.30388, 0.0 ], [ 113.67069, -8.30391, 0.0 ], [ 113.67051, -8.30407, 0.0 ], [ 113.67034, -8.30421, 0.0 ], [ 113.67023, -8.3043, 0.0 ], [ 113.67017, -8.30435, 0.0 ], [ 113.67011, -8.30441, 0.0 ], [ 113.67006, -8.30446, 0.0 ], [ 113.67001, -8.30452, 0.0 ], [ 113.66986, -8.30465, 0.0 ], [ 113.66977, -8.30474, 0.0 ], [ 113.66975, -8.30475, 0.0 ], [ 113.66961, -8.30487, 0.0 ], [ 113.66944, -8.30501, 0.0 ], [ 113.66923, -8.3052, 0.0 ], [ 113.66917, -8.30526, 0.0 ], [ 113.66904, -8.30539, 0.0 ], [ 113.66888, -8.30554, 0.0 ], [ 113.66876, -8.30564, 0.0 ], [ 113.66871, -8.30567, 0.0 ], [ 113.66863, -8.30575, 0.0 ], [ 113.66849, -8.30587, 0.0 ], [ 113.66846, -8.30589, 0.0 ], [ 113.66829, -8.30603, 0.0 ], [ 113.66807, -8.30621, 0.0 ], [ 113.66798, -8.30627, 0.0 ], [ 113.66793, -8.30633, 0.0 ], [ 113.66789, -8.30639, 0.0 ], [ 113.66786, -8.30644, 0.0 ], [ 113.66783, -8.30649, 0.0 ], [ 113.6678, -8.3066, 0.0 ], [ 113.66776, -8.30679, 0.0 ], [ 113.66769, -8.30712, 0.0 ], [ 113.66764, -8.30738, 0.0 ], [ 113.66754, -8.30801, 0.0 ], [ 113.6683, -8.3081, 0.0 ], [ 113.66861, -8.30813, 0.0 ], [ 113.66875, -8.30863, 0.0 ], [ 113.66882, -8.30885, 0.0 ], [ 113.66898, -8.30943, 0.0 ], [ 113.669, -8.3095, 0.0 ], [ 113.66906, -8.30972, 0.0 ], [ 113.66914, -8.31, 0.0 ], [ 113.66918, -8.31016, 0.0 ], [ 113.66926, -8.31043, 0.0 ], [ 113.66928, -8.3105, 0.0 ], [ 113.66935, -8.31076, 0.0 ], [ 113.66936, -8.31081, 0.0 ], [ 113.66938, -8.31089, 0.0 ], [ 113.66939, -8.31101, 0.0 ], [ 113.66939, -8.31102, 0.0 ], [ 113.66939, -8.31105, 0.0 ], [ 113.66941, -8.31121, 0.0 ], [ 113.66942, -8.31135, 0.0 ], [ 113.66943, -8.31146, 0.0 ], [ 113.66947, -8.31191, 0.0 ], [ 113.66949, -8.31208, 0.0 ], [ 113.6695, -8.31228, 0.0 ], [ 113.66952, -8.31242, 0.0 ], [ 113.66954, -8.31302, 0.0 ], [ 113.66952, -8.31357, 0.0 ], [ 113.66954, -8.31388, 0.0 ], [ 113.66952, -8.31412, 0.0 ], [ 113.66949, -8.31444, 0.0 ], [ 113.66945, -8.31481, 0.0 ], [ 113.66943, -8.31492, 0.0 ], [ 113.66941, -8.31511, 0.0 ], [ 113.66932, -8.31544, 0.0 ], [ 113.66927, -8.31564, 0.0 ], [ 113.66911, -8.31614, 0.0 ], [ 113.66876, -8.31708, 0.0 ], [ 113.66864, -8.31731, 0.0 ], [ 113.66831, -8.31792, 0.0 ], [ 113.66822, -8.31807, 0.0 ], [ 113.66818, -8.31811, 0.0 ], [ 113.6681, -8.31823, 0.0 ], [ 113.66802, -8.31841, 0.0 ], [ 113.66795, -8.31855, 0.0 ], [ 113.66791, -8.31863, 0.0 ], [ 113.66784, -8.31884, 0.0 ], [ 113.66772, -8.31915, 0.0 ], [ 113.6676, -8.31952, 0.0 ], [ 113.66756, -8.31962, 0.0 ], [ 113.66753, -8.31968, 0.0 ], [ 113.66743, -8.31992, 0.0 ], [ 113.66724, -8.32035, 0.0 ], [ 113.66723, -8.32036, 0.0 ], [ 113.66721, -8.32037, 0.0 ], [ 113.66719, -8.32039, 0.0 ], [ 113.66701, -8.32066, 0.0 ], [ 113.66692, -8.32078, 0.0 ], [ 113.66678, -8.32099, 0.0 ], [ 113.66675, -8.32104, 0.0 ], [ 113.66674, -8.32107, 0.0 ], [ 113.66673, -8.32108, 0.0 ], [ 113.66673, -8.3211, 0.0 ], [ 113.66673, -8.32111, 0.0 ], [ 113.66673, -8.32112, 0.0 ], [ 113.66674, -8.32113, 0.0 ], [ 113.66674, -8.32114, 0.0 ], [ 113.66675, -8.32115, 0.0 ], [ 113.66676, -8.32116, 0.0 ], [ 113.66677, -8.32117, 0.0 ], [ 113.66679, -8.32117, 0.0 ], [ 113.66682, -8.32118, 0.0 ], [ 113.66685, -8.32118, 0.0 ], [ 113.66697, -8.32121, 0.0 ], [ 113.66706, -8.32124, 0.0 ], [ 113.66714, -8.32127, 0.0 ], [ 113.66721, -8.32129, 0.0 ], [ 113.66761, -8.32144, 0.0 ], [ 113.66807, -8.32164, 0.0 ], [ 113.66806, -8.32167, 0.0 ], [ 113.66797, -8.32182, 0.0 ], [ 113.66785, -8.32204, 0.0 ], [ 113.6678, -8.32214, 0.0 ], [ 113.66767, -8.32241, 0.0 ], [ 113.66766, -8.32243, 0.0 ], [ 113.6675, -8.32278, 0.0 ], [ 113.66736, -8.32308, 0.0 ], [ 113.66729, -8.32323, 0.0 ], [ 113.66711, -8.32361, 0.0 ], [ 113.66699, -8.32388, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "MMG8+CPQ, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6669859, -8.3238821, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Galaxy temporan, Galaksi, Tempurejo, Kabupaten Jember, Jawa Timur", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6922631, -8.2912173, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PM2J+4JV, Jl. KH. Abdurrahman, Tempurejo, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6815904, -8.299688, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MMR9+V2C, Darungan, Sruni, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6675357, -8.3080064, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MMH8+GQ4, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6667372, -8.3211314, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MMG8+CPQ, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6669859, -8.3238821, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Jatimulyo - Seruni.geojson b/smart_cycling_api/import_queue/done/Jatimulyo - Seruni.geojson new file mode 100644 index 0000000..af55e7e --- /dev/null +++ b/smart_cycling_api/import_queue/done/Jatimulyo - Seruni.geojson @@ -0,0 +1,13 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.663, -8.32152, 0.0 ], [ 113.66302, -8.32143, 0.0 ], [ 113.66305, -8.32137, 0.0 ], [ 113.66311, -8.32127, 0.0 ], [ 113.66318, -8.32118, 0.0 ], [ 113.66333, -8.32101, 0.0 ], [ 113.66344, -8.32087, 0.0 ], [ 113.66356, -8.32072, 0.0 ], [ 113.66366, -8.32057, 0.0 ], [ 113.66377, -8.32041, 0.0 ], [ 113.66404, -8.31998, 0.0 ], [ 113.66416, -8.3198, 0.0 ], [ 113.6642, -8.31974, 0.0 ], [ 113.66423, -8.31968, 0.0 ], [ 113.66425, -8.31964, 0.0 ], [ 113.66427, -8.31961, 0.0 ], [ 113.66437, -8.3194, 0.0 ], [ 113.66446, -8.31927, 0.0 ], [ 113.66458, -8.3191, 0.0 ], [ 113.66469, -8.31894, 0.0 ], [ 113.6648, -8.31876, 0.0 ], [ 113.66522, -8.31809, 0.0 ], [ 113.66561, -8.31745, 0.0 ], [ 113.66575, -8.31716, 0.0 ], [ 113.66581, -8.31701, 0.0 ], [ 113.66588, -8.31684, 0.0 ], [ 113.66599, -8.31654, 0.0 ], [ 113.66604, -8.31633, 0.0 ], [ 113.66607, -8.31615, 0.0 ], [ 113.6662, -8.31544, 0.0 ], [ 113.66632, -8.31474, 0.0 ], [ 113.66636, -8.31456, 0.0 ], [ 113.66636, -8.31451, 0.0 ], [ 113.66644, -8.31408, 0.0 ], [ 113.66651, -8.31366, 0.0 ], [ 113.66654, -8.31349, 0.0 ], [ 113.66657, -8.31332, 0.0 ], [ 113.6666, -8.31314, 0.0 ], [ 113.66669, -8.31266, 0.0 ], [ 113.66676, -8.31225, 0.0 ], [ 113.66682, -8.3119, 0.0 ], [ 113.66685, -8.31177, 0.0 ], [ 113.66702, -8.31079, 0.0 ], [ 113.66724, -8.30966, 0.0 ], [ 113.66741, -8.30873, 0.0 ], [ 113.66754, -8.30801, 0.0 ], [ 113.6683, -8.3081, 0.0 ], [ 113.66861, -8.30813, 0.0 ], [ 113.66875, -8.30863, 0.0 ], [ 113.66882, -8.30885, 0.0 ], [ 113.66898, -8.30943, 0.0 ], [ 113.669, -8.3095, 0.0 ], [ 113.66906, -8.30972, 0.0 ], [ 113.66914, -8.31, 0.0 ], [ 113.66918, -8.31016, 0.0 ], [ 113.66926, -8.31043, 0.0 ], [ 113.66928, -8.3105, 0.0 ], [ 113.66935, -8.31076, 0.0 ], [ 113.66936, -8.31081, 0.0 ], [ 113.66938, -8.31089, 0.0 ], [ 113.66939, -8.31101, 0.0 ], [ 113.66939, -8.31102, 0.0 ], [ 113.66939, -8.31105, 0.0 ], [ 113.66941, -8.31121, 0.0 ], [ 113.66942, -8.31135, 0.0 ], [ 113.66943, -8.31146, 0.0 ], [ 113.66947, -8.31191, 0.0 ], [ 113.66949, -8.31208, 0.0 ], [ 113.6695, -8.31228, 0.0 ], [ 113.66952, -8.31242, 0.0 ], [ 113.66954, -8.31302, 0.0 ], [ 113.66952, -8.31357, 0.0 ], [ 113.66954, -8.31388, 0.0 ], [ 113.66952, -8.31412, 0.0 ], [ 113.66949, -8.31444, 0.0 ], [ 113.66945, -8.31481, 0.0 ], [ 113.66943, -8.31492, 0.0 ], [ 113.66941, -8.31511, 0.0 ], [ 113.66932, -8.31544, 0.0 ], [ 113.66927, -8.31564, 0.0 ], [ 113.66911, -8.31614, 0.0 ], [ 113.66876, -8.31708, 0.0 ], [ 113.66864, -8.31731, 0.0 ], [ 113.66831, -8.31792, 0.0 ], [ 113.66822, -8.31807, 0.0 ], [ 113.66818, -8.31811, 0.0 ], [ 113.6681, -8.31823, 0.0 ], [ 113.66802, -8.31841, 0.0 ], [ 113.66795, -8.31855, 0.0 ], [ 113.66791, -8.31863, 0.0 ], [ 113.66784, -8.31884, 0.0 ], [ 113.66772, -8.31915, 0.0 ], [ 113.6676, -8.31952, 0.0 ], [ 113.66756, -8.31962, 0.0 ], [ 113.66753, -8.31968, 0.0 ], [ 113.66743, -8.31992, 0.0 ], [ 113.66724, -8.32035, 0.0 ], [ 113.66723, -8.32036, 0.0 ], [ 113.66721, -8.32037, 0.0 ], [ 113.66719, -8.32039, 0.0 ], [ 113.66701, -8.32066, 0.0 ], [ 113.66692, -8.32078, 0.0 ], [ 113.66678, -8.32099, 0.0 ], [ 113.66675, -8.32104, 0.0 ], [ 113.66674, -8.32107, 0.0 ], [ 113.66673, -8.32108, 0.0 ], [ 113.66673, -8.3211, 0.0 ], [ 113.66673, -8.32111, 0.0 ], [ 113.66673, -8.32112, 0.0 ], [ 113.66674, -8.32114, 0.0 ], [ 113.66675, -8.32115, 0.0 ], [ 113.66676, -8.32116, 0.0 ], [ 113.66677, -8.32117, 0.0 ], [ 113.66679, -8.32117, 0.0 ], [ 113.66682, -8.32118, 0.0 ], [ 113.66685, -8.32118, 0.0 ], [ 113.66697, -8.32121, 0.0 ], [ 113.66706, -8.32124, 0.0 ], [ 113.66714, -8.32127, 0.0 ], [ 113.66721, -8.32129, 0.0 ], [ 113.66761, -8.32144, 0.0 ], [ 113.66807, -8.32164, 0.0 ], [ 113.66806, -8.32167, 0.0 ], [ 113.66797, -8.32182, 0.0 ], [ 113.66785, -8.32204, 0.0 ], [ 113.6678, -8.32214, 0.0 ], [ 113.66767, -8.32241, 0.0 ], [ 113.66766, -8.32243, 0.0 ], [ 113.6675, -8.32278, 0.0 ], [ 113.66736, -8.32308, 0.0 ], [ 113.66729, -8.32323, 0.0 ], [ 113.66711, -8.32361, 0.0 ], [ 113.66699, -8.32388, 0.0 ], [ 113.66672, -8.3237, 0.0 ], [ 113.666, -8.32326, 0.0 ], [ 113.66569, -8.32308, 0.0 ], [ 113.66491, -8.32262, 0.0 ], [ 113.66476, -8.32252, 0.0 ], [ 113.66444, -8.32233, 0.0 ], [ 113.66373, -8.32192, 0.0 ], [ 113.6635, -8.3218, 0.0 ], [ 113.66338, -8.32174, 0.0 ], [ 113.66324, -8.32168, 0.0 ], [ 113.66315, -8.32165, 0.0 ], [ 113.6631, -8.32162, 0.0 ], [ 113.66307, -8.3216, 0.0 ], [ 113.66305, -8.32157, 0.0 ], [ 113.663, -8.32152, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6630025, -8.3215175, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MMR9+V2C, Darungan, Sruni, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6675357, -8.3080064, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MMH8+GQ4, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6667333, -8.3211209, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MMG8+CPQ, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6669859, -8.3238821, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MMH7+952, Darussalam, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6630025, -8.3215175, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Jatimulyo.geojson b/smart_cycling_api/import_queue/done/Jatimulyo.geojson new file mode 100644 index 0000000..7fb8b81 --- /dev/null +++ b/smart_cycling_api/import_queue/done/Jatimulyo.geojson @@ -0,0 +1,14 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari MMG8+Q5G, Jl. Ps. Lawas, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke MMG8+Q5G, Jl. Ps. Lawas, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari MMG8+Q5G, Jl. Ps. Lawas, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke MMG8+Q5G, Jl. Ps. Lawas, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.66491, -8.32262, 0.0 ], [ 113.66479, -8.32284, 0.0 ], [ 113.66475, -8.32292, 0.0 ], [ 113.66468, -8.32306, 0.0 ], [ 113.66458, -8.32323, 0.0 ], [ 113.6645, -8.32337, 0.0 ], [ 113.66443, -8.32352, 0.0 ], [ 113.66433, -8.32375, 0.0 ], [ 113.66432, -8.32378, 0.0 ], [ 113.66419, -8.32408, 0.0 ], [ 113.66407, -8.32435, 0.0 ], [ 113.664, -8.32454, 0.0 ], [ 113.66392, -8.32478, 0.0 ], [ 113.66388, -8.32495, 0.0 ], [ 113.6638, -8.32523, 0.0 ], [ 113.66365, -8.32575, 0.0 ], [ 113.66365, -8.32578, 0.0 ], [ 113.66365, -8.32575, 0.0 ], [ 113.66408, -8.32589, 0.0 ], [ 113.66419, -8.32592, 0.0 ], [ 113.66434, -8.32597, 0.0 ], [ 113.66467, -8.32608, 0.0 ], [ 113.66485, -8.32615, 0.0 ], [ 113.66502, -8.32621, 0.0 ], [ 113.66539, -8.32634, 0.0 ], [ 113.66557, -8.32641, 0.0 ], [ 113.66574, -8.32649, 0.0 ], [ 113.66587, -8.32655, 0.0 ], [ 113.66608, -8.32668, 0.0 ], [ 113.66633, -8.32683, 0.0 ], [ 113.66637, -8.32685, 0.0 ], [ 113.66662, -8.32705, 0.0 ], [ 113.66674, -8.32715, 0.0 ], [ 113.66698, -8.32735, 0.0 ], [ 113.66739, -8.32768, 0.0 ], [ 113.66745, -8.32774, 0.0 ], [ 113.66794, -8.32817, 0.0 ], [ 113.66817, -8.32837, 0.0 ], [ 113.66874, -8.32875, 0.0 ], [ 113.66899, -8.32887, 0.0 ], [ 113.66921, -8.32895, 0.0 ], [ 113.6692, -8.32901, 0.0 ], [ 113.66923, -8.32901, 0.0 ], [ 113.66925, -8.32901, 0.0 ], [ 113.66927, -8.32901, 0.0 ], [ 113.66928, -8.32902, 0.0 ], [ 113.66929, -8.32902, 0.0 ], [ 113.66931, -8.32903, 0.0 ], [ 113.66937, -8.32908, 0.0 ], [ 113.66943, -8.32912, 0.0 ], [ 113.66953, -8.32919, 0.0 ], [ 113.66958, -8.32922, 0.0 ], [ 113.66982, -8.3294, 0.0 ], [ 113.66985, -8.32942, 0.0 ], [ 113.66996, -8.32949, 0.0 ], [ 113.67002, -8.32953, 0.0 ], [ 113.6701, -8.32958, 0.0 ], [ 113.67037, -8.32972, 0.0 ], [ 113.67067, -8.32987, 0.0 ], [ 113.67081, -8.32993, 0.0 ], [ 113.6709, -8.32998, 0.0 ], [ 113.67096, -8.33, 0.0 ], [ 113.67098, -8.33001, 0.0 ], [ 113.671, -8.33001, 0.0 ], [ 113.67101, -8.33001, 0.0 ], [ 113.67102, -8.33001, 0.0 ], [ 113.67104, -8.33, 0.0 ], [ 113.67105, -8.32999, 0.0 ], [ 113.67106, -8.32998, 0.0 ], [ 113.67108, -8.32994, 0.0 ], [ 113.67112, -8.32988, 0.0 ], [ 113.67115, -8.32981, 0.0 ], [ 113.67119, -8.32972, 0.0 ], [ 113.67124, -8.32959, 0.0 ], [ 113.67131, -8.32936, 0.0 ], [ 113.67136, -8.32921, 0.0 ], [ 113.67137, -8.32917, 0.0 ], [ 113.67141, -8.32901, 0.0 ], [ 113.67147, -8.32881, 0.0 ], [ 113.67151, -8.32869, 0.0 ], [ 113.67163, -8.32835, 0.0 ], [ 113.67178, -8.32803, 0.0 ], [ 113.67178, -8.32802, 0.0 ], [ 113.67188, -8.3278, 0.0 ], [ 113.67195, -8.32763, 0.0 ], [ 113.67199, -8.32754, 0.0 ], [ 113.67219, -8.32703, 0.0 ], [ 113.67226, -8.32682, 0.0 ], [ 113.67227, -8.32679, 0.0 ], [ 113.67228, -8.32677, 0.0 ], [ 113.67228, -8.32676, 0.0 ], [ 113.67228, -8.32674, 0.0 ], [ 113.67227, -8.32673, 0.0 ], [ 113.67226, -8.32671, 0.0 ], [ 113.67224, -8.3267, 0.0 ], [ 113.67219, -8.32668, 0.0 ], [ 113.67204, -8.32659, 0.0 ], [ 113.67178, -8.32643, 0.0 ], [ 113.67148, -8.32622, 0.0 ], [ 113.67108, -8.32591, 0.0 ], [ 113.67094, -8.32579, 0.0 ], [ 113.67066, -8.32556, 0.0 ], [ 113.67059, -8.32551, 0.0 ], [ 113.67045, -8.3254, 0.0 ], [ 113.6702, -8.32522, 0.0 ], [ 113.66987, -8.32497, 0.0 ], [ 113.66972, -8.32486, 0.0 ], [ 113.6697, -8.32485, 0.0 ], [ 113.66926, -8.32453, 0.0 ], [ 113.66914, -8.32443, 0.0 ], [ 113.669, -8.32432, 0.0 ], [ 113.6689, -8.32457, 0.0 ], [ 113.66883, -8.32474, 0.0 ], [ 113.66879, -8.32483, 0.0 ], [ 113.66876, -8.32491, 0.0 ], [ 113.6683, -8.32467, 0.0 ], [ 113.66787, -8.32441, 0.0 ], [ 113.6678, -8.32437, 0.0 ], [ 113.66699, -8.32388, 0.0 ], [ 113.66672, -8.3237, 0.0 ], [ 113.666, -8.32326, 0.0 ], [ 113.66569, -8.32308, 0.0 ], [ 113.66491, -8.32262, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "MMG8+Q5G, Jl. Ps. Lawas, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6649093, -8.3226195, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MMG7+CP7, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6641874, -8.3240806, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MMF7+JW2, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6636452, -8.3257787, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Jl. Ps. Lerok No.20, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6709967, -8.3300102, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MMFC+HX4, Jl. Boran, Saksak, Tempurejo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6722731, -8.3267855, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MMG8+Q5G, Jl. Ps. Lawas, Bringin Sari, Jatimulyo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6649093, -8.3226195, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Jatirejo - Pondokrejo - Kalisanen - Curahlele - Wonoasri - Blater - Sidodadi.geojson b/smart_cycling_api/import_queue/done/Jatirejo - Pondokrejo - Kalisanen - Curahlele - Wonoasri - Blater - Sidodadi.geojson new file mode 100644 index 0000000..34c5e09 --- /dev/null +++ b/smart_cycling_api/import_queue/done/Jatirejo - Pondokrejo - Kalisanen - Curahlele - Wonoasri - Blater - Sidodadi.geojson @@ -0,0 +1,12 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari MM9V+52F, Glantangan, Pondokrejo, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia ke MM9V+52F, Glantangan, Pondokrejo, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari MM9V+52F, Glantangan, Pondokrejo, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia ke MM9V+52F, Glantangan, Pondokrejo, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.69245, -8.33174, 0.0 ], [ 113.69245, -8.3316, 0.0 ], [ 113.69247, -8.3316, 0.0 ], [ 113.6928, -8.33162, 0.0 ], [ 113.69349, -8.33164, 0.0 ], [ 113.69367, -8.33165, 0.0 ], [ 113.694, -8.33164, 0.0 ], [ 113.6944, -8.33163, 0.0 ], [ 113.69491, -8.33162, 0.0 ], [ 113.695, -8.33163, 0.0 ], [ 113.69503, -8.33163, 0.0 ], [ 113.69536, -8.33165, 0.0 ], [ 113.69543, -8.33166, 0.0 ], [ 113.69558, -8.33166, 0.0 ], [ 113.69568, -8.33165, 0.0 ], [ 113.69569, -8.33165, 0.0 ], [ 113.69579, -8.33163, 0.0 ], [ 113.69582, -8.33163, 0.0 ], [ 113.69594, -8.3316, 0.0 ], [ 113.69617, -8.33152, 0.0 ], [ 113.69638, -8.33146, 0.0 ], [ 113.69651, -8.33149, 0.0 ], [ 113.69668, -8.33154, 0.0 ], [ 113.69683, -8.33154, 0.0 ], [ 113.69707, -8.33153, 0.0 ], [ 113.69723, -8.33152, 0.0 ], [ 113.69742, -8.33151, 0.0 ], [ 113.69745, -8.33151, 0.0 ], [ 113.69775, -8.33152, 0.0 ], [ 113.69778, -8.33153, 0.0 ], [ 113.69795, -8.33158, 0.0 ], [ 113.69801, -8.33159, 0.0 ], [ 113.69813, -8.33163, 0.0 ], [ 113.69827, -8.33169, 0.0 ], [ 113.69829, -8.3317, 0.0 ], [ 113.69861, -8.33188, 0.0 ], [ 113.69877, -8.33196, 0.0 ], [ 113.69891, -8.33204, 0.0 ], [ 113.69893, -8.33204, 0.0 ], [ 113.69898, -8.33205, 0.0 ], [ 113.69905, -8.33204, 0.0 ], [ 113.69911, -8.33203, 0.0 ], [ 113.69914, -8.33202, 0.0 ], [ 113.69923, -8.332, 0.0 ], [ 113.69928, -8.33197, 0.0 ], [ 113.69929, -8.33197, 0.0 ], [ 113.69934, -8.33192, 0.0 ], [ 113.69939, -8.33188, 0.0 ], [ 113.69941, -8.33184, 0.0 ], [ 113.69944, -8.33178, 0.0 ], [ 113.6995, -8.33169, 0.0 ], [ 113.6996, -8.33154, 0.0 ], [ 113.69961, -8.33151, 0.0 ], [ 113.69965, -8.33148, 0.0 ], [ 113.6997, -8.33146, 0.0 ], [ 113.69974, -8.33144, 0.0 ], [ 113.69983, -8.33141, 0.0 ], [ 113.69992, -8.33139, 0.0 ], [ 113.70002, -8.33138, 0.0 ], [ 113.70028, -8.33138, 0.0 ], [ 113.70065, -8.33138, 0.0 ], [ 113.70155, -8.33138, 0.0 ], [ 113.7018, -8.33138, 0.0 ], [ 113.70228, -8.33138, 0.0 ], [ 113.70263, -8.33137, 0.0 ], [ 113.70307, -8.33138, 0.0 ], [ 113.70337, -8.33134, 0.0 ], [ 113.70373, -8.3313, 0.0 ], [ 113.70382, -8.33128, 0.0 ], [ 113.70388, -8.33128, 0.0 ], [ 113.70391, -8.33127, 0.0 ], [ 113.70393, -8.33126, 0.0 ], [ 113.70397, -8.33123, 0.0 ], [ 113.70405, -8.33117, 0.0 ], [ 113.70419, -8.33099, 0.0 ], [ 113.70447, -8.33057, 0.0 ], [ 113.7045, -8.33051, 0.0 ], [ 113.70455, -8.33041, 0.0 ], [ 113.70462, -8.33028, 0.0 ], [ 113.70463, -8.33025, 0.0 ], [ 113.7047, -8.33008, 0.0 ], [ 113.70471, -8.33004, 0.0 ], [ 113.70473, -8.32999, 0.0 ], [ 113.70476, -8.32992, 0.0 ], [ 113.70494, -8.3294, 0.0 ], [ 113.70519, -8.32946, 0.0 ], [ 113.70565, -8.32953, 0.0 ], [ 113.70618, -8.32956, 0.0 ], [ 113.7062, -8.32956, 0.0 ], [ 113.70638, -8.32959, 0.0 ], [ 113.70668, -8.32965, 0.0 ], [ 113.70682, -8.32968, 0.0 ], [ 113.70695, -8.32973, 0.0 ], [ 113.70707, -8.32977, 0.0 ], [ 113.70708, -8.32978, 0.0 ], [ 113.70726, -8.32987, 0.0 ], [ 113.70745, -8.32997, 0.0 ], [ 113.70756, -8.33004, 0.0 ], [ 113.70762, -8.33007, 0.0 ], [ 113.70771, -8.33013, 0.0 ], [ 113.70782, -8.3302, 0.0 ], [ 113.70801, -8.33034, 0.0 ], [ 113.70811, -8.33043, 0.0 ], [ 113.70825, -8.33061, 0.0 ], [ 113.70848, -8.331, 0.0 ], [ 113.7086, -8.33117, 0.0 ], [ 113.70908, -8.33202, 0.0 ], [ 113.71022, -8.334, 0.0 ], [ 113.71068, -8.33477, 0.0 ], [ 113.71077, -8.33492, 0.0 ], [ 113.71123, -8.3357, 0.0 ], [ 113.71133, -8.33585, 0.0 ], [ 113.71172, -8.3365, 0.0 ], [ 113.7122, -8.33732, 0.0 ], [ 113.71232, -8.33752, 0.0 ], [ 113.71271, -8.33821, 0.0 ], [ 113.71304, -8.33878, 0.0 ], [ 113.71307, -8.33883, 0.0 ], [ 113.71313, -8.33893, 0.0 ], [ 113.71323, -8.3391, 0.0 ], [ 113.71342, -8.33935, 0.0 ], [ 113.71347, -8.33946, 0.0 ], [ 113.71363, -8.33975, 0.0 ], [ 113.714, -8.34037, 0.0 ], [ 113.71405, -8.34043, 0.0 ], [ 113.71418, -8.34056, 0.0 ], [ 113.71429, -8.34066, 0.0 ], [ 113.71435, -8.34072, 0.0 ], [ 113.71438, -8.34074, 0.0 ], [ 113.71447, -8.34082, 0.0 ], [ 113.71452, -8.34087, 0.0 ], [ 113.71467, -8.34101, 0.0 ], [ 113.71469, -8.34103, 0.0 ], [ 113.71472, -8.34106, 0.0 ], [ 113.7151, -8.3414, 0.0 ], [ 113.71532, -8.3416, 0.0 ], [ 113.71545, -8.34172, 0.0 ], [ 113.71558, -8.34185, 0.0 ], [ 113.71571, -8.34198, 0.0 ], [ 113.71584, -8.3421, 0.0 ], [ 113.7161, -8.34235, 0.0 ], [ 113.71624, -8.34247, 0.0 ], [ 113.71641, -8.34264, 0.0 ], [ 113.7165, -8.34272, 0.0 ], [ 113.71662, -8.34285, 0.0 ], [ 113.71663, -8.34285, 0.0 ], [ 113.71676, -8.34296, 0.0 ], [ 113.71682, -8.34301, 0.0 ], [ 113.7169, -8.34308, 0.0 ], [ 113.71757, -8.34369, 0.0 ], [ 113.7177, -8.34382, 0.0 ], [ 113.71795, -8.34407, 0.0 ], [ 113.71806, -8.34418, 0.0 ], [ 113.71886, -8.34492, 0.0 ], [ 113.71925, -8.34529, 0.0 ], [ 113.71952, -8.34554, 0.0 ], [ 113.71965, -8.34566, 0.0 ], [ 113.71978, -8.34579, 0.0 ], [ 113.72023, -8.3462, 0.0 ], [ 113.72115, -8.34707, 0.0 ], [ 113.72124, -8.34714, 0.0 ], [ 113.72124, -8.34715, 0.0 ], [ 113.72164, -8.34751, 0.0 ], [ 113.72169, -8.34755, 0.0 ], [ 113.72211, -8.34795, 0.0 ], [ 113.72237, -8.3482, 0.0 ], [ 113.7225, -8.34832, 0.0 ], [ 113.72264, -8.34845, 0.0 ], [ 113.72276, -8.34857, 0.0 ], [ 113.72277, -8.34857, 0.0 ], [ 113.72304, -8.34882, 0.0 ], [ 113.72355, -8.34928, 0.0 ], [ 113.7237, -8.3494, 0.0 ], [ 113.72384, -8.34952, 0.0 ], [ 113.72389, -8.34957, 0.0 ], [ 113.72397, -8.34965, 0.0 ], [ 113.72398, -8.34965, 0.0 ], [ 113.724, -8.34969, 0.0 ], [ 113.72401, -8.34973, 0.0 ], [ 113.72402, -8.34979, 0.0 ], [ 113.72403, -8.34987, 0.0 ], [ 113.72403, -8.35, 0.0 ], [ 113.72402, -8.35036, 0.0 ], [ 113.72401, -8.35077, 0.0 ], [ 113.724, -8.35108, 0.0 ], [ 113.724, -8.35126, 0.0 ], [ 113.72399, -8.35144, 0.0 ], [ 113.72398, -8.35179, 0.0 ], [ 113.72398, -8.35197, 0.0 ], [ 113.72396, -8.35233, 0.0 ], [ 113.72395, -8.35251, 0.0 ], [ 113.72393, -8.35287, 0.0 ], [ 113.72392, -8.35305, 0.0 ], [ 113.72391, -8.35323, 0.0 ], [ 113.7239, -8.35341, 0.0 ], [ 113.72389, -8.3535, 0.0 ], [ 113.72389, -8.35359, 0.0 ], [ 113.72388, -8.35377, 0.0 ], [ 113.72386, -8.35413, 0.0 ], [ 113.7238, -8.35539, 0.0 ], [ 113.72378, -8.35575, 0.0 ], [ 113.72377, -8.35593, 0.0 ], [ 113.72376, -8.35629, 0.0 ], [ 113.72375, -8.35647, 0.0 ], [ 113.72373, -8.35687, 0.0 ], [ 113.72372, -8.35692, 0.0 ], [ 113.72372, -8.35694, 0.0 ], [ 113.72372, -8.3571, 0.0 ], [ 113.72371, -8.35754, 0.0 ], [ 113.72371, -8.35764, 0.0 ], [ 113.72371, -8.358, 0.0 ], [ 113.72371, -8.35813, 0.0 ], [ 113.72371, -8.35855, 0.0 ], [ 113.7237, -8.35883, 0.0 ], [ 113.72361, -8.3598, 0.0 ], [ 113.7236, -8.35991, 0.0 ], [ 113.72359, -8.36009, 0.0 ], [ 113.72358, -8.3602, 0.0 ], [ 113.72355, -8.36074, 0.0 ], [ 113.7235, -8.36142, 0.0 ], [ 113.7235, -8.36146, 0.0 ], [ 113.72348, -8.36181, 0.0 ], [ 113.72344, -8.36285, 0.0 ], [ 113.72344, -8.36289, 0.0 ], [ 113.72343, -8.36307, 0.0 ], [ 113.72343, -8.36325, 0.0 ], [ 113.72342, -8.36373, 0.0 ], [ 113.7234, -8.36407, 0.0 ], [ 113.72336, -8.36441, 0.0 ], [ 113.72336, -8.36477, 0.0 ], [ 113.72336, -8.36488, 0.0 ], [ 113.72335, -8.3652, 0.0 ], [ 113.72334, -8.36531, 0.0 ], [ 113.72332, -8.36555, 0.0 ], [ 113.7233, -8.36569, 0.0 ], [ 113.7233, -8.36573, 0.0 ], [ 113.7233, -8.36575, 0.0 ], [ 113.7233, -8.36577, 0.0 ], [ 113.72331, -8.36579, 0.0 ], [ 113.72333, -8.36581, 0.0 ], [ 113.72336, -8.36585, 0.0 ], [ 113.72339, -8.36589, 0.0 ], [ 113.72342, -8.36592, 0.0 ], [ 113.72347, -8.36598, 0.0 ], [ 113.7235, -8.36602, 0.0 ], [ 113.72351, -8.36603, 0.0 ], [ 113.72352, -8.36606, 0.0 ], [ 113.72353, -8.36609, 0.0 ], [ 113.72353, -8.36613, 0.0 ], [ 113.72353, -8.36617, 0.0 ], [ 113.72353, -8.3662, 0.0 ], [ 113.72348, -8.36631, 0.0 ], [ 113.72346, -8.36636, 0.0 ], [ 113.72338, -8.36653, 0.0 ], [ 113.72331, -8.36671, 0.0 ], [ 113.72329, -8.36677, 0.0 ], [ 113.72327, -8.36683, 0.0 ], [ 113.72326, -8.36687, 0.0 ], [ 113.72326, -8.36688, 0.0 ], [ 113.72325, -8.36695, 0.0 ], [ 113.72325, -8.36704, 0.0 ], [ 113.72325, -8.3671, 0.0 ], [ 113.72323, -8.36738, 0.0 ], [ 113.72322, -8.36788, 0.0 ], [ 113.72319, -8.36844, 0.0 ], [ 113.72317, -8.36882, 0.0 ], [ 113.72309, -8.37048, 0.0 ], [ 113.72278, -8.37067, 0.0 ], [ 113.7226, -8.37078, 0.0 ], [ 113.72217, -8.37106, 0.0 ], [ 113.72202, -8.37116, 0.0 ], [ 113.72111, -8.37176, 0.0 ], [ 113.72096, -8.37186, 0.0 ], [ 113.72004, -8.37244, 0.0 ], [ 113.71974, -8.37263, 0.0 ], [ 113.71928, -8.37292, 0.0 ], [ 113.71912, -8.37302, 0.0 ], [ 113.71897, -8.37311, 0.0 ], [ 113.71895, -8.37312, 0.0 ], [ 113.71866, -8.37331, 0.0 ], [ 113.71851, -8.37341, 0.0 ], [ 113.71805, -8.3737, 0.0 ], [ 113.7179, -8.3738, 0.0 ], [ 113.71775, -8.37389, 0.0 ], [ 113.71751, -8.37404, 0.0 ], [ 113.71738, -8.37413, 0.0 ], [ 113.71734, -8.37415, 0.0 ], [ 113.7159, -8.37507, 0.0 ], [ 113.71553, -8.37531, 0.0 ], [ 113.71546, -8.37536, 0.0 ], [ 113.71522, -8.37553, 0.0 ], [ 113.71452, -8.37596, 0.0 ], [ 113.71369, -8.37646, 0.0 ], [ 113.71358, -8.37653, 0.0 ], [ 113.71332, -8.37672, 0.0 ], [ 113.71305, -8.37691, 0.0 ], [ 113.71229, -8.37739, 0.0 ], [ 113.71216, -8.37747, 0.0 ], [ 113.71149, -8.3779, 0.0 ], [ 113.71091, -8.37827, 0.0 ], [ 113.71062, -8.37845, 0.0 ], [ 113.71055, -8.3785, 0.0 ], [ 113.7104, -8.3786, 0.0 ], [ 113.70994, -8.37889, 0.0 ], [ 113.70978, -8.37899, 0.0 ], [ 113.70933, -8.37928, 0.0 ], [ 113.70902, -8.37947, 0.0 ], [ 113.70887, -8.37957, 0.0 ], [ 113.70826, -8.37996, 0.0 ], [ 113.7081, -8.38006, 0.0 ], [ 113.7078, -8.38025, 0.0 ], [ 113.70719, -8.38064, 0.0 ], [ 113.70713, -8.38067, 0.0 ], [ 113.70703, -8.38074, 0.0 ], [ 113.70688, -8.38083, 0.0 ], [ 113.7064, -8.38113, 0.0 ], [ 113.70625, -8.38123, 0.0 ], [ 113.70578, -8.38151, 0.0 ], [ 113.70543, -8.38172, 0.0 ], [ 113.7047, -8.3822, 0.0 ], [ 113.7044, -8.38239, 0.0 ], [ 113.70379, -8.38279, 0.0 ], [ 113.70288, -8.38339, 0.0 ], [ 113.70261, -8.38356, 0.0 ], [ 113.70241, -8.38366, 0.0 ], [ 113.70209, -8.38364, 0.0 ], [ 113.70101, -8.38358, 0.0 ], [ 113.70096, -8.38357, 0.0 ], [ 113.70028, -8.38353, 0.0 ], [ 113.70023, -8.38353, 0.0 ], [ 113.7001, -8.38352, 0.0 ], [ 113.69995, -8.38351, 0.0 ], [ 113.69974, -8.3835, 0.0 ], [ 113.69956, -8.38349, 0.0 ], [ 113.69939, -8.38348, 0.0 ], [ 113.69937, -8.38348, 0.0 ], [ 113.69927, -8.38348, 0.0 ], [ 113.69913, -8.3835, 0.0 ], [ 113.699, -8.38353, 0.0 ], [ 113.69888, -8.38357, 0.0 ], [ 113.69867, -8.38365, 0.0 ], [ 113.6986, -8.38367, 0.0 ], [ 113.69829, -8.38379, 0.0 ], [ 113.69811, -8.38386, 0.0 ], [ 113.69748, -8.3841, 0.0 ], [ 113.69733, -8.38416, 0.0 ], [ 113.69692, -8.38428, 0.0 ], [ 113.69623, -8.38449, 0.0 ], [ 113.69606, -8.38455, 0.0 ], [ 113.69553, -8.38471, 0.0 ], [ 113.69449, -8.38503, 0.0 ], [ 113.69438, -8.38506, 0.0 ], [ 113.6931, -8.38545, 0.0 ], [ 113.69293, -8.3855, 0.0 ], [ 113.69206, -8.38576, 0.0 ], [ 113.69188, -8.38581, 0.0 ], [ 113.69157, -8.3859, 0.0 ], [ 113.69066, -8.38615, 0.0 ], [ 113.68898, -8.38662, 0.0 ], [ 113.68891, -8.38663, 0.0 ], [ 113.68888, -8.38664, 0.0 ], [ 113.6888, -8.38665, 0.0 ], [ 113.68873, -8.38665, 0.0 ], [ 113.68871, -8.38665, 0.0 ], [ 113.68859, -8.38664, 0.0 ], [ 113.68854, -8.38663, 0.0 ], [ 113.68838, -8.38661, 0.0 ], [ 113.688, -8.38654, 0.0 ], [ 113.68692, -8.38643, 0.0 ], [ 113.68583, -8.38633, 0.0 ], [ 113.6851, -8.38626, 0.0 ], [ 113.68511, -8.38615, 0.0 ], [ 113.6851, -8.38626, 0.0 ], [ 113.68438, -8.38627, 0.0 ], [ 113.68419, -8.38628, 0.0 ], [ 113.68336, -8.38629, 0.0 ], [ 113.68313, -8.38626, 0.0 ], [ 113.68297, -8.38624, 0.0 ], [ 113.68276, -8.3862, 0.0 ], [ 113.68245, -8.38614, 0.0 ], [ 113.68229, -8.3861, 0.0 ], [ 113.68211, -8.38605, 0.0 ], [ 113.68198, -8.38602, 0.0 ], [ 113.68194, -8.38601, 0.0 ], [ 113.68186, -8.38599, 0.0 ], [ 113.68174, -8.38598, 0.0 ], [ 113.68167, -8.38597, 0.0 ], [ 113.68164, -8.38597, 0.0 ], [ 113.68152, -8.38596, 0.0 ], [ 113.68141, -8.38596, 0.0 ], [ 113.681, -8.38593, 0.0 ], [ 113.68068, -8.38591, 0.0 ], [ 113.6803, -8.38588, 0.0 ], [ 113.68025, -8.38588, 0.0 ], [ 113.67966, -8.38584, 0.0 ], [ 113.67938, -8.38582, 0.0 ], [ 113.67887, -8.38578, 0.0 ], [ 113.67785, -8.38569, 0.0 ], [ 113.67682, -8.38567, 0.0 ], [ 113.67676, -8.38566, 0.0 ], [ 113.6766, -8.38566, 0.0 ], [ 113.67611, -8.38565, 0.0 ], [ 113.67443, -8.38558, 0.0 ], [ 113.67397, -8.38558, 0.0 ], [ 113.67299, -8.38557, 0.0 ], [ 113.67273, -8.38557, 0.0 ], [ 113.67214, -8.38556, 0.0 ], [ 113.67176, -8.38556, 0.0 ], [ 113.67152, -8.38555, 0.0 ], [ 113.67032, -8.38553, 0.0 ], [ 113.66912, -8.38554, 0.0 ], [ 113.66873, -8.38554, 0.0 ], [ 113.66869, -8.38554, 0.0 ], [ 113.668, -8.38552, 0.0 ], [ 113.66757, -8.38554, 0.0 ], [ 113.66735, -8.38554, 0.0 ], [ 113.66714, -8.38554, 0.0 ], [ 113.66674, -8.38555, 0.0 ], [ 113.6662, -8.38556, 0.0 ], [ 113.66606, -8.38556, 0.0 ], [ 113.66565, -8.38556, 0.0 ], [ 113.66474, -8.38556, 0.0 ], [ 113.66417, -8.38556, 0.0 ], [ 113.66311, -8.38556, 0.0 ], [ 113.66307, -8.38547, 0.0 ], [ 113.6629, -8.38484, 0.0 ], [ 113.6628, -8.38444, 0.0 ], [ 113.66275, -8.38423, 0.0 ], [ 113.66274, -8.38416, 0.0 ], [ 113.6627, -8.384, 0.0 ], [ 113.66263, -8.38362, 0.0 ], [ 113.66255, -8.3831, 0.0 ], [ 113.66251, -8.38286, 0.0 ], [ 113.66244, -8.38238, 0.0 ], [ 113.66235, -8.38186, 0.0 ], [ 113.66232, -8.38168, 0.0 ], [ 113.6623, -8.3815, 0.0 ], [ 113.66227, -8.38135, 0.0 ], [ 113.6622, -8.38085, 0.0 ], [ 113.66219, -8.38069, 0.0 ], [ 113.66217, -8.38057, 0.0 ], [ 113.66212, -8.38022, 0.0 ], [ 113.66205, -8.37969, 0.0 ], [ 113.66203, -8.37955, 0.0 ], [ 113.66195, -8.37883, 0.0 ], [ 113.66193, -8.37862, 0.0 ], [ 113.66191, -8.37844, 0.0 ], [ 113.66187, -8.37796, 0.0 ], [ 113.66187, -8.37787, 0.0 ], [ 113.66185, -8.37769, 0.0 ], [ 113.66183, -8.37743, 0.0 ], [ 113.6618, -8.37713, 0.0 ], [ 113.66177, -8.37683, 0.0 ], [ 113.66175, -8.37665, 0.0 ], [ 113.66174, -8.37659, 0.0 ], [ 113.66172, -8.37643, 0.0 ], [ 113.66168, -8.37629, 0.0 ], [ 113.66165, -8.37613, 0.0 ], [ 113.6616, -8.37594, 0.0 ], [ 113.66156, -8.3758, 0.0 ], [ 113.66152, -8.37565, 0.0 ], [ 113.66136, -8.37519, 0.0 ], [ 113.6613, -8.375, 0.0 ], [ 113.66116, -8.37463, 0.0 ], [ 113.66099, -8.37418, 0.0 ], [ 113.6608, -8.37372, 0.0 ], [ 113.66073, -8.37351, 0.0 ], [ 113.66064, -8.37327, 0.0 ], [ 113.66048, -8.37293, 0.0 ], [ 113.66037, -8.37268, 0.0 ], [ 113.66024, -8.37238, 0.0 ], [ 113.66035, -8.37212, 0.0 ], [ 113.66038, -8.372, 0.0 ], [ 113.66041, -8.37191, 0.0 ], [ 113.66051, -8.37146, 0.0 ], [ 113.6606, -8.37099, 0.0 ], [ 113.66062, -8.37087, 0.0 ], [ 113.66074, -8.37014, 0.0 ], [ 113.66082, -8.36964, 0.0 ], [ 113.66092, -8.36909, 0.0 ], [ 113.66092, -8.36908, 0.0 ], [ 113.66094, -8.36899, 0.0 ], [ 113.661, -8.36859, 0.0 ], [ 113.66102, -8.36849, 0.0 ], [ 113.66103, -8.36839, 0.0 ], [ 113.66108, -8.36807, 0.0 ], [ 113.66116, -8.36751, 0.0 ], [ 113.66133, -8.36663, 0.0 ], [ 113.6614, -8.36619, 0.0 ], [ 113.6615, -8.36575, 0.0 ], [ 113.66205, -8.36581, 0.0 ], [ 113.66244, -8.36586, 0.0 ], [ 113.66285, -8.3659, 0.0 ], [ 113.66311, -8.36592, 0.0 ], [ 113.66312, -8.36592, 0.0 ], [ 113.66328, -8.36593, 0.0 ], [ 113.66337, -8.36593, 0.0 ], [ 113.66348, -8.36592, 0.0 ], [ 113.66403, -8.36588, 0.0 ], [ 113.66416, -8.36587, 0.0 ], [ 113.66457, -8.36585, 0.0 ], [ 113.66475, -8.36584, 0.0 ], [ 113.66493, -8.36583, 0.0 ], [ 113.66512, -8.36582, 0.0 ], [ 113.66559, -8.3658, 0.0 ], [ 113.66565, -8.36579, 0.0 ], [ 113.66566, -8.36579, 0.0 ], [ 113.66626, -8.36578, 0.0 ], [ 113.66665, -8.36575, 0.0 ], [ 113.66715, -8.36571, 0.0 ], [ 113.66757, -8.36568, 0.0 ], [ 113.66774, -8.36567, 0.0 ], [ 113.66798, -8.36565, 0.0 ], [ 113.66808, -8.36565, 0.0 ], [ 113.6682, -8.36566, 0.0 ], [ 113.66837, -8.36568, 0.0 ], [ 113.6686, -8.3657, 0.0 ], [ 113.66891, -8.36574, 0.0 ], [ 113.66893, -8.36574, 0.0 ], [ 113.66945, -8.36583, 0.0 ], [ 113.6698, -8.36589, 0.0 ], [ 113.67027, -8.36596, 0.0 ], [ 113.67028, -8.36591, 0.0 ], [ 113.67034, -8.3657, 0.0 ], [ 113.67039, -8.36552, 0.0 ], [ 113.67048, -8.36518, 0.0 ], [ 113.67052, -8.36502, 0.0 ], [ 113.67054, -8.36494, 0.0 ], [ 113.67056, -8.36486, 0.0 ], [ 113.67058, -8.36467, 0.0 ], [ 113.67058, -8.36465, 0.0 ], [ 113.67058, -8.36447, 0.0 ], [ 113.67058, -8.36445, 0.0 ], [ 113.67058, -8.36416, 0.0 ], [ 113.67058, -8.36393, 0.0 ], [ 113.67058, -8.36369, 0.0 ], [ 113.67058, -8.36339, 0.0 ], [ 113.67055, -8.36289, 0.0 ], [ 113.67054, -8.36244, 0.0 ], [ 113.67055, -8.36225, 0.0 ], [ 113.67055, -8.36222, 0.0 ], [ 113.67056, -8.36205, 0.0 ], [ 113.67058, -8.36196, 0.0 ], [ 113.6706, -8.36187, 0.0 ], [ 113.67066, -8.36175, 0.0 ], [ 113.67068, -8.36171, 0.0 ], [ 113.67093, -8.36123, 0.0 ], [ 113.67098, -8.36112, 0.0 ], [ 113.67106, -8.36096, 0.0 ], [ 113.67113, -8.36079, 0.0 ], [ 113.67141, -8.36013, 0.0 ], [ 113.67148, -8.35996, 0.0 ], [ 113.67162, -8.35963, 0.0 ], [ 113.67177, -8.35927, 0.0 ], [ 113.67184, -8.35911, 0.0 ], [ 113.67187, -8.35902, 0.0 ], [ 113.67188, -8.35893, 0.0 ], [ 113.67189, -8.35887, 0.0 ], [ 113.67188, -8.3588, 0.0 ], [ 113.67185, -8.35869, 0.0 ], [ 113.67178, -8.35844, 0.0 ], [ 113.67163, -8.35796, 0.0 ], [ 113.67157, -8.35774, 0.0 ], [ 113.67147, -8.35742, 0.0 ], [ 113.67139, -8.35713, 0.0 ], [ 113.67116, -8.35635, 0.0 ], [ 113.67113, -8.35627, 0.0 ], [ 113.67062, -8.35463, 0.0 ], [ 113.67054, -8.35437, 0.0 ], [ 113.67039, -8.35386, 0.0 ], [ 113.67037, -8.35377, 0.0 ], [ 113.67026, -8.35342, 0.0 ], [ 113.67023, -8.35332, 0.0 ], [ 113.67018, -8.35314, 0.0 ], [ 113.67013, -8.353, 0.0 ], [ 113.66997, -8.35244, 0.0 ], [ 113.66994, -8.3523, 0.0 ], [ 113.66993, -8.35221, 0.0 ], [ 113.66993, -8.35213, 0.0 ], [ 113.66994, -8.35207, 0.0 ], [ 113.66996, -8.352, 0.0 ], [ 113.66998, -8.35194, 0.0 ], [ 113.67, -8.35187, 0.0 ], [ 113.67011, -8.35159, 0.0 ], [ 113.67024, -8.35127, 0.0 ], [ 113.67056, -8.35049, 0.0 ], [ 113.67075, -8.35001, 0.0 ], [ 113.67087, -8.34972, 0.0 ], [ 113.67093, -8.3496, 0.0 ], [ 113.67111, -8.34913, 0.0 ], [ 113.67119, -8.34893, 0.0 ], [ 113.67158, -8.34793, 0.0 ], [ 113.67165, -8.34776, 0.0 ], [ 113.67174, -8.34753, 0.0 ], [ 113.67175, -8.34744, 0.0 ], [ 113.67176, -8.34727, 0.0 ], [ 113.67175, -8.34715, 0.0 ], [ 113.67174, -8.34705, 0.0 ], [ 113.67174, -8.34699, 0.0 ], [ 113.67173, -8.34666, 0.0 ], [ 113.67172, -8.3466, 0.0 ], [ 113.6717, -8.3462, 0.0 ], [ 113.67169, -8.34609, 0.0 ], [ 113.67169, -8.34603, 0.0 ], [ 113.67168, -8.34573, 0.0 ], [ 113.67167, -8.34555, 0.0 ], [ 113.67163, -8.34515, 0.0 ], [ 113.67161, -8.34472, 0.0 ], [ 113.6716, -8.34466, 0.0 ], [ 113.67157, -8.34442, 0.0 ], [ 113.67156, -8.34428, 0.0 ], [ 113.67155, -8.34419, 0.0 ], [ 113.67153, -8.34404, 0.0 ], [ 113.67152, -8.344, 0.0 ], [ 113.67151, -8.34391, 0.0 ], [ 113.67151, -8.34389, 0.0 ], [ 113.6715, -8.34379, 0.0 ], [ 113.6715, -8.3437, 0.0 ], [ 113.6715, -8.34366, 0.0 ], [ 113.6715, -8.34363, 0.0 ], [ 113.6715, -8.3436, 0.0 ], [ 113.67151, -8.34358, 0.0 ], [ 113.67154, -8.34353, 0.0 ], [ 113.67165, -8.34332, 0.0 ], [ 113.67186, -8.34296, 0.0 ], [ 113.67195, -8.3428, 0.0 ], [ 113.672, -8.34272, 0.0 ], [ 113.67209, -8.34256, 0.0 ], [ 113.67213, -8.3425, 0.0 ], [ 113.6722, -8.34239, 0.0 ], [ 113.6724, -8.34205, 0.0 ], [ 113.67248, -8.34192, 0.0 ], [ 113.67251, -8.34186, 0.0 ], [ 113.67257, -8.34177, 0.0 ], [ 113.6726, -8.34173, 0.0 ], [ 113.67262, -8.34171, 0.0 ], [ 113.67266, -8.34165, 0.0 ], [ 113.67271, -8.3416, 0.0 ], [ 113.67274, -8.34156, 0.0 ], [ 113.67279, -8.34153, 0.0 ], [ 113.67283, -8.3415, 0.0 ], [ 113.67292, -8.34144, 0.0 ], [ 113.67307, -8.34133, 0.0 ], [ 113.67328, -8.3412, 0.0 ], [ 113.67342, -8.34112, 0.0 ], [ 113.67349, -8.34108, 0.0 ], [ 113.67378, -8.34091, 0.0 ], [ 113.67402, -8.34075, 0.0 ], [ 113.67407, -8.34073, 0.0 ], [ 113.67416, -8.34067, 0.0 ], [ 113.67429, -8.34058, 0.0 ], [ 113.67437, -8.34053, 0.0 ], [ 113.67447, -8.34049, 0.0 ], [ 113.67457, -8.34046, 0.0 ], [ 113.67463, -8.34045, 0.0 ], [ 113.67472, -8.34043, 0.0 ], [ 113.67481, -8.34043, 0.0 ], [ 113.67489, -8.34045, 0.0 ], [ 113.67495, -8.34046, 0.0 ], [ 113.67503, -8.3405, 0.0 ], [ 113.67515, -8.34055, 0.0 ], [ 113.67539, -8.34098, 0.0 ], [ 113.67562, -8.34139, 0.0 ], [ 113.67577, -8.34167, 0.0 ], [ 113.67585, -8.34182, 0.0 ], [ 113.67586, -8.34184, 0.0 ], [ 113.67616, -8.34241, 0.0 ], [ 113.67618, -8.34246, 0.0 ], [ 113.67626, -8.34262, 0.0 ], [ 113.67629, -8.34271, 0.0 ], [ 113.67632, -8.34278, 0.0 ], [ 113.67638, -8.34286, 0.0 ], [ 113.67651, -8.34307, 0.0 ], [ 113.67667, -8.34326, 0.0 ], [ 113.67684, -8.34341, 0.0 ], [ 113.67697, -8.3435, 0.0 ], [ 113.6771, -8.34357, 0.0 ], [ 113.67721, -8.3436, 0.0 ], [ 113.67734, -8.3436, 0.0 ], [ 113.67746, -8.34357, 0.0 ], [ 113.67757, -8.34353, 0.0 ], [ 113.67767, -8.34348, 0.0 ], [ 113.67782, -8.34337, 0.0 ], [ 113.67791, -8.34331, 0.0 ], [ 113.67795, -8.34328, 0.0 ], [ 113.678, -8.34325, 0.0 ], [ 113.6782, -8.34311, 0.0 ], [ 113.67823, -8.34309, 0.0 ], [ 113.67839, -8.34298, 0.0 ], [ 113.67855, -8.34287, 0.0 ], [ 113.67871, -8.34277, 0.0 ], [ 113.67884, -8.34268, 0.0 ], [ 113.67893, -8.34263, 0.0 ], [ 113.67904, -8.34259, 0.0 ], [ 113.67918, -8.34255, 0.0 ], [ 113.6792, -8.34255, 0.0 ], [ 113.67933, -8.34251, 0.0 ], [ 113.67935, -8.34251, 0.0 ], [ 113.67955, -8.34246, 0.0 ], [ 113.67975, -8.34242, 0.0 ], [ 113.68008, -8.34235, 0.0 ], [ 113.6801, -8.34234, 0.0 ], [ 113.68038, -8.34226, 0.0 ], [ 113.68057, -8.34222, 0.0 ], [ 113.68075, -8.34217, 0.0 ], [ 113.68128, -8.34204, 0.0 ], [ 113.68152, -8.34196, 0.0 ], [ 113.68243, -8.34173, 0.0 ], [ 113.68262, -8.34169, 0.0 ], [ 113.68315, -8.34156, 0.0 ], [ 113.68349, -8.34148, 0.0 ], [ 113.68376, -8.34143, 0.0 ], [ 113.6838, -8.34142, 0.0 ], [ 113.6842, -8.34133, 0.0 ], [ 113.68433, -8.34129, 0.0 ], [ 113.68445, -8.34126, 0.0 ], [ 113.68488, -8.34117, 0.0 ], [ 113.68495, -8.34116, 0.0 ], [ 113.68525, -8.34108, 0.0 ], [ 113.68529, -8.34107, 0.0 ], [ 113.68532, -8.34105, 0.0 ], [ 113.68538, -8.34102, 0.0 ], [ 113.68544, -8.34097, 0.0 ], [ 113.68561, -8.34086, 0.0 ], [ 113.68593, -8.34068, 0.0 ], [ 113.68619, -8.3405, 0.0 ], [ 113.68649, -8.3403, 0.0 ], [ 113.68664, -8.3402, 0.0 ], [ 113.6867, -8.34016, 0.0 ], [ 113.68689, -8.34005, 0.0 ], [ 113.68699, -8.33999, 0.0 ], [ 113.68719, -8.33991, 0.0 ], [ 113.68728, -8.33987, 0.0 ], [ 113.68778, -8.3397, 0.0 ], [ 113.68784, -8.33968, 0.0 ], [ 113.68801, -8.33964, 0.0 ], [ 113.68823, -8.33957, 0.0 ], [ 113.68856, -8.33944, 0.0 ], [ 113.68873, -8.33933, 0.0 ], [ 113.68895, -8.33921, 0.0 ], [ 113.68916, -8.33906, 0.0 ], [ 113.68933, -8.33895, 0.0 ], [ 113.68947, -8.33887, 0.0 ], [ 113.68983, -8.33862, 0.0 ], [ 113.69016, -8.33842, 0.0 ], [ 113.69024, -8.33838, 0.0 ], [ 113.69044, -8.33825, 0.0 ], [ 113.69061, -8.33816, 0.0 ], [ 113.69073, -8.3381, 0.0 ], [ 113.69096, -8.33801, 0.0 ], [ 113.69134, -8.3379, 0.0 ], [ 113.69149, -8.33786, 0.0 ], [ 113.69174, -8.33778, 0.0 ], [ 113.69193, -8.33773, 0.0 ], [ 113.69216, -8.33764, 0.0 ], [ 113.69218, -8.33756, 0.0 ], [ 113.69232, -8.33715, 0.0 ], [ 113.69247, -8.33655, 0.0 ], [ 113.69252, -8.33635, 0.0 ], [ 113.69257, -8.33603, 0.0 ], [ 113.6926, -8.3358, 0.0 ], [ 113.69265, -8.33531, 0.0 ], [ 113.69269, -8.33491, 0.0 ], [ 113.69269, -8.33442, 0.0 ], [ 113.69267, -8.33425, 0.0 ], [ 113.69267, -8.33422, 0.0 ], [ 113.69266, -8.33412, 0.0 ], [ 113.69264, -8.33404, 0.0 ], [ 113.69261, -8.33397, 0.0 ], [ 113.69255, -8.33383, 0.0 ], [ 113.69251, -8.33373, 0.0 ], [ 113.69247, -8.33361, 0.0 ], [ 113.69246, -8.33353, 0.0 ], [ 113.69245, -8.33343, 0.0 ], [ 113.69244, -8.33336, 0.0 ], [ 113.69244, -8.33325, 0.0 ], [ 113.69243, -8.33313, 0.0 ], [ 113.69243, -8.33311, 0.0 ], [ 113.69244, -8.33268, 0.0 ], [ 113.69244, -8.33265, 0.0 ], [ 113.69245, -8.33223, 0.0 ], [ 113.69245, -8.33218, 0.0 ], [ 113.69245, -8.3321, 0.0 ], [ 113.69245, -8.33174, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "MM9V+52F, Glantangan, Pondokrejo, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6924485, -8.3317383, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JM7P+F57, Kraton, Wonoasri, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6851113, -8.3861473, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MM2C+QH8, Jl. Glantangan, Pondokemiri Lor, Pondokrejo, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6715648, -8.3479737, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MM9V+52F, Glantangan, Pondokrejo, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6924485, -8.3317383, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Jatisari - Leces Seruni.geojson b/smart_cycling_api/import_queue/done/Jatisari - Leces Seruni.geojson new file mode 100644 index 0000000..dcd55d9 --- /dev/null +++ b/smart_cycling_api/import_queue/done/Jatisari - Leces Seruni.geojson @@ -0,0 +1,12 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari PJ2R+F5, Krajan, Sruni, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke PJ2R+F5, Krajan, Sruni, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari PJ2R+F5, Krajan, Sruni, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke PJ2R+F5, Krajan, Sruni, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.64025, -8.29888, 0.0 ], [ 113.64047, -8.29888, 0.0 ], [ 113.64072, -8.29888, 0.0 ], [ 113.64086, -8.29888, 0.0 ], [ 113.64092, -8.29888, 0.0 ], [ 113.64093, -8.29888, 0.0 ], [ 113.64096, -8.29889, 0.0 ], [ 113.64105, -8.29894, 0.0 ], [ 113.64124, -8.29906, 0.0 ], [ 113.64138, -8.29915, 0.0 ], [ 113.64145, -8.2992, 0.0 ], [ 113.64149, -8.29922, 0.0 ], [ 113.64154, -8.29923, 0.0 ], [ 113.64156, -8.29923, 0.0 ], [ 113.64162, -8.29923, 0.0 ], [ 113.64187, -8.29924, 0.0 ], [ 113.64211, -8.29923, 0.0 ], [ 113.6422, -8.29922, 0.0 ], [ 113.64247, -8.29921, 0.0 ], [ 113.64266, -8.2992, 0.0 ], [ 113.64304, -8.29919, 0.0 ], [ 113.64335, -8.29918, 0.0 ], [ 113.64348, -8.29917, 0.0 ], [ 113.64359, -8.29918, 0.0 ], [ 113.64367, -8.29919, 0.0 ], [ 113.64377, -8.29922, 0.0 ], [ 113.64387, -8.29923, 0.0 ], [ 113.64402, -8.29924, 0.0 ], [ 113.64435, -8.29925, 0.0 ], [ 113.64462, -8.29927, 0.0 ], [ 113.64476, -8.29928, 0.0 ], [ 113.64495, -8.29927, 0.0 ], [ 113.64515, -8.29925, 0.0 ], [ 113.64537, -8.29923, 0.0 ], [ 113.6454, -8.29923, 0.0 ], [ 113.64555, -8.29922, 0.0 ], [ 113.64572, -8.29923, 0.0 ], [ 113.64594, -8.29925, 0.0 ], [ 113.64611, -8.29927, 0.0 ], [ 113.64628, -8.29927, 0.0 ], [ 113.6465, -8.29927, 0.0 ], [ 113.64678, -8.29927, 0.0 ], [ 113.64682, -8.29927, 0.0 ], [ 113.64702, -8.29927, 0.0 ], [ 113.6472, -8.29929, 0.0 ], [ 113.64737, -8.29933, 0.0 ], [ 113.64763, -8.29935, 0.0 ], [ 113.64772, -8.29936, 0.0 ], [ 113.64789, -8.29938, 0.0 ], [ 113.64813, -8.2994, 0.0 ], [ 113.64824, -8.29943, 0.0 ], [ 113.6483, -8.29944, 0.0 ], [ 113.64834, -8.29947, 0.0 ], [ 113.64838, -8.2995, 0.0 ], [ 113.64841, -8.29954, 0.0 ], [ 113.64845, -8.29957, 0.0 ], [ 113.64848, -8.29958, 0.0 ], [ 113.64853, -8.29958, 0.0 ], [ 113.6487, -8.29959, 0.0 ], [ 113.649, -8.29961, 0.0 ], [ 113.6491, -8.29962, 0.0 ], [ 113.64916, -8.29963, 0.0 ], [ 113.64921, -8.29966, 0.0 ], [ 113.64922, -8.29967, 0.0 ], [ 113.64926, -8.2997, 0.0 ], [ 113.6493, -8.29974, 0.0 ], [ 113.64934, -8.29976, 0.0 ], [ 113.64937, -8.29977, 0.0 ], [ 113.64939, -8.29977, 0.0 ], [ 113.64946, -8.29978, 0.0 ], [ 113.6498, -8.2998, 0.0 ], [ 113.65027, -8.29982, 0.0 ], [ 113.65042, -8.29983, 0.0 ], [ 113.65068, -8.29986, 0.0 ], [ 113.65103, -8.29991, 0.0 ], [ 113.65132, -8.29995, 0.0 ], [ 113.65136, -8.29996, 0.0 ], [ 113.65151, -8.3, 0.0 ], [ 113.65182, -8.30011, 0.0 ], [ 113.65224, -8.30025, 0.0 ], [ 113.65254, -8.30035, 0.0 ], [ 113.65291, -8.30044, 0.0 ], [ 113.65341, -8.30056, 0.0 ], [ 113.65386, -8.30064, 0.0 ], [ 113.65437, -8.30072, 0.0 ], [ 113.65444, -8.30073, 0.0 ], [ 113.65488, -8.30081, 0.0 ], [ 113.65533, -8.30088, 0.0 ], [ 113.65536, -8.30089, 0.0 ], [ 113.65561, -8.30094, 0.0 ], [ 113.65569, -8.30096, 0.0 ], [ 113.65601, -8.30104, 0.0 ], [ 113.6563, -8.30112, 0.0 ], [ 113.65655, -8.30121, 0.0 ], [ 113.65656, -8.30122, 0.0 ], [ 113.6567, -8.30127, 0.0 ], [ 113.65679, -8.30128, 0.0 ], [ 113.65692, -8.30129, 0.0 ], [ 113.65728, -8.3013, 0.0 ], [ 113.65763, -8.3013, 0.0 ], [ 113.65782, -8.30131, 0.0 ], [ 113.658, -8.30133, 0.0 ], [ 113.65823, -8.30136, 0.0 ], [ 113.6585, -8.3014, 0.0 ], [ 113.65885, -8.30145, 0.0 ], [ 113.6594, -8.30152, 0.0 ], [ 113.65985, -8.30159, 0.0 ], [ 113.66008, -8.30162, 0.0 ], [ 113.66026, -8.30164, 0.0 ], [ 113.66028, -8.30165, 0.0 ], [ 113.6603, -8.30166, 0.0 ], [ 113.66032, -8.30166, 0.0 ], [ 113.66033, -8.30168, 0.0 ], [ 113.66033, -8.3017, 0.0 ], [ 113.66033, -8.30173, 0.0 ], [ 113.66032, -8.30177, 0.0 ], [ 113.66029, -8.30185, 0.0 ], [ 113.66028, -8.30188, 0.0 ], [ 113.6602, -8.30213, 0.0 ], [ 113.66017, -8.30224, 0.0 ], [ 113.66016, -8.3023, 0.0 ], [ 113.66017, -8.30237, 0.0 ], [ 113.66019, -8.30255, 0.0 ], [ 113.6602, -8.30257, 0.0 ], [ 113.66023, -8.30284, 0.0 ], [ 113.66027, -8.30316, 0.0 ], [ 113.66028, -8.30336, 0.0 ], [ 113.66028, -8.30358, 0.0 ], [ 113.66027, -8.30375, 0.0 ], [ 113.66024, -8.30398, 0.0 ], [ 113.6602, -8.30423, 0.0 ], [ 113.66016, -8.30453, 0.0 ], [ 113.66015, -8.3047, 0.0 ], [ 113.66014, -8.30478, 0.0 ], [ 113.66013, -8.30507, 0.0 ], [ 113.66011, -8.30531, 0.0 ], [ 113.66012, -8.30559, 0.0 ], [ 113.66012, -8.30563, 0.0 ], [ 113.66012, -8.30577, 0.0 ], [ 113.66012, -8.30584, 0.0 ], [ 113.66014, -8.30614, 0.0 ], [ 113.66015, -8.30642, 0.0 ], [ 113.66017, -8.30654, 0.0 ], [ 113.66019, -8.30667, 0.0 ], [ 113.6602, -8.30672, 0.0 ], [ 113.66024, -8.30692, 0.0 ], [ 113.66026, -8.30702, 0.0 ], [ 113.66027, -8.30709, 0.0 ], [ 113.6603, -8.30715, 0.0 ], [ 113.6603, -8.30716, 0.0 ], [ 113.66032, -8.30719, 0.0 ], [ 113.66033, -8.30721, 0.0 ], [ 113.66036, -8.30722, 0.0 ], [ 113.66041, -8.30722, 0.0 ], [ 113.66049, -8.30723, 0.0 ], [ 113.66067, -8.30725, 0.0 ], [ 113.66085, -8.30727, 0.0 ], [ 113.66158, -8.30734, 0.0 ], [ 113.66195, -8.30737, 0.0 ], [ 113.6623, -8.30741, 0.0 ], [ 113.6632, -8.30754, 0.0 ], [ 113.66338, -8.30757, 0.0 ], [ 113.6641, -8.30767, 0.0 ], [ 113.66503, -8.3078, 0.0 ], [ 113.66557, -8.30787, 0.0 ], [ 113.66585, -8.30791, 0.0 ], [ 113.66617, -8.30794, 0.0 ], [ 113.66645, -8.30796, 0.0 ], [ 113.66714, -8.30799, 0.0 ], [ 113.66754, -8.30801, 0.0 ], [ 113.66741, -8.30873, 0.0 ], [ 113.66724, -8.30966, 0.0 ], [ 113.66702, -8.31079, 0.0 ], [ 113.66685, -8.31177, 0.0 ], [ 113.66682, -8.3119, 0.0 ], [ 113.66676, -8.31225, 0.0 ], [ 113.66669, -8.31266, 0.0 ], [ 113.6666, -8.31314, 0.0 ], [ 113.66657, -8.31332, 0.0 ], [ 113.66654, -8.31349, 0.0 ], [ 113.66651, -8.31366, 0.0 ], [ 113.66644, -8.31408, 0.0 ], [ 113.66636, -8.31451, 0.0 ], [ 113.66636, -8.31456, 0.0 ], [ 113.66632, -8.31474, 0.0 ], [ 113.6662, -8.31544, 0.0 ], [ 113.66607, -8.31615, 0.0 ], [ 113.66604, -8.31633, 0.0 ], [ 113.66599, -8.31654, 0.0 ], [ 113.66588, -8.31684, 0.0 ], [ 113.66581, -8.31701, 0.0 ], [ 113.66575, -8.31716, 0.0 ], [ 113.66561, -8.31745, 0.0 ], [ 113.66522, -8.31809, 0.0 ], [ 113.6648, -8.31876, 0.0 ], [ 113.66469, -8.31894, 0.0 ], [ 113.66458, -8.3191, 0.0 ], [ 113.66446, -8.31927, 0.0 ], [ 113.66437, -8.3194, 0.0 ], [ 113.66427, -8.31961, 0.0 ], [ 113.66425, -8.31964, 0.0 ], [ 113.66423, -8.31968, 0.0 ], [ 113.6642, -8.31974, 0.0 ], [ 113.66416, -8.3198, 0.0 ], [ 113.66404, -8.31998, 0.0 ], [ 113.66377, -8.32041, 0.0 ], [ 113.66366, -8.32057, 0.0 ], [ 113.66356, -8.32072, 0.0 ], [ 113.66344, -8.32087, 0.0 ], [ 113.66333, -8.32101, 0.0 ], [ 113.66318, -8.32118, 0.0 ], [ 113.66311, -8.32127, 0.0 ], [ 113.66305, -8.32137, 0.0 ], [ 113.66302, -8.32143, 0.0 ], [ 113.663, -8.32152, 0.0 ], [ 113.66283, -8.32155, 0.0 ], [ 113.66263, -8.32159, 0.0 ], [ 113.66248, -8.3216, 0.0 ], [ 113.66245, -8.3216, 0.0 ], [ 113.66239, -8.32161, 0.0 ], [ 113.6623, -8.3216, 0.0 ], [ 113.66223, -8.32159, 0.0 ], [ 113.66214, -8.32156, 0.0 ], [ 113.66209, -8.32155, 0.0 ], [ 113.66191, -8.32149, 0.0 ], [ 113.66154, -8.32135, 0.0 ], [ 113.66067, -8.32097, 0.0 ], [ 113.66024, -8.32077, 0.0 ], [ 113.66002, -8.32069, 0.0 ], [ 113.65996, -8.32067, 0.0 ], [ 113.65981, -8.32062, 0.0 ], [ 113.6593, -8.32049, 0.0 ], [ 113.65908, -8.32044, 0.0 ], [ 113.65883, -8.32039, 0.0 ], [ 113.65867, -8.32036, 0.0 ], [ 113.6584, -8.32029, 0.0 ], [ 113.65832, -8.32026, 0.0 ], [ 113.65826, -8.32024, 0.0 ], [ 113.65813, -8.32018, 0.0 ], [ 113.65775, -8.31994, 0.0 ], [ 113.65755, -8.31979, 0.0 ], [ 113.65718, -8.31952, 0.0 ], [ 113.65668, -8.31917, 0.0 ], [ 113.65624, -8.31888, 0.0 ], [ 113.65605, -8.31874, 0.0 ], [ 113.656, -8.31872, 0.0 ], [ 113.65591, -8.31866, 0.0 ], [ 113.65557, -8.31847, 0.0 ], [ 113.65476, -8.31807, 0.0 ], [ 113.65423, -8.31782, 0.0 ], [ 113.6537, -8.31758, 0.0 ], [ 113.65312, -8.31733, 0.0 ], [ 113.653, -8.31729, 0.0 ], [ 113.65256, -8.31709, 0.0 ], [ 113.65232, -8.31699, 0.0 ], [ 113.65211, -8.3169, 0.0 ], [ 113.65201, -8.31687, 0.0 ], [ 113.65187, -8.31683, 0.0 ], [ 113.65114, -8.3167, 0.0 ], [ 113.65103, -8.31668, 0.0 ], [ 113.65058, -8.31659, 0.0 ], [ 113.65024, -8.31654, 0.0 ], [ 113.64992, -8.3165, 0.0 ], [ 113.6493, -8.31642, 0.0 ], [ 113.64882, -8.31636, 0.0 ], [ 113.64845, -8.3163, 0.0 ], [ 113.64821, -8.31625, 0.0 ], [ 113.64811, -8.31624, 0.0 ], [ 113.64801, -8.31623, 0.0 ], [ 113.6475, -8.31619, 0.0 ], [ 113.64689, -8.31616, 0.0 ], [ 113.64688, -8.31615, 0.0 ], [ 113.64617, -8.31609, 0.0 ], [ 113.64616, -8.31609, 0.0 ], [ 113.64598, -8.31608, 0.0 ], [ 113.6458, -8.31607, 0.0 ], [ 113.64552, -8.31606, 0.0 ], [ 113.64507, -8.31602, 0.0 ], [ 113.64465, -8.31599, 0.0 ], [ 113.64436, -8.31597, 0.0 ], [ 113.64353, -8.31591, 0.0 ], [ 113.64325, -8.31589, 0.0 ], [ 113.64277, -8.31586, 0.0 ], [ 113.64221, -8.31583, 0.0 ], [ 113.64108, -8.31575, 0.0 ], [ 113.64104, -8.31575, 0.0 ], [ 113.64068, -8.31574, 0.0 ], [ 113.63992, -8.31567, 0.0 ], [ 113.63944, -8.31563, 0.0 ], [ 113.63934, -8.31562, 0.0 ], [ 113.63933, -8.3156, 0.0 ], [ 113.63933, -8.3153, 0.0 ], [ 113.63933, -8.3152, 0.0 ], [ 113.63933, -8.315, 0.0 ], [ 113.63933, -8.31493, 0.0 ], [ 113.63935, -8.31478, 0.0 ], [ 113.63936, -8.31464, 0.0 ], [ 113.63938, -8.31448, 0.0 ], [ 113.63937, -8.3143, 0.0 ], [ 113.63936, -8.31406, 0.0 ], [ 113.63936, -8.31397, 0.0 ], [ 113.63934, -8.31363, 0.0 ], [ 113.63926, -8.31361, 0.0 ], [ 113.63922, -8.3136, 0.0 ], [ 113.63918, -8.31359, 0.0 ], [ 113.63914, -8.31359, 0.0 ], [ 113.63908, -8.3136, 0.0 ], [ 113.63903, -8.31361, 0.0 ], [ 113.63884, -8.31366, 0.0 ], [ 113.63874, -8.31369, 0.0 ], [ 113.6385, -8.31374, 0.0 ], [ 113.63842, -8.31375, 0.0 ], [ 113.63839, -8.31376, 0.0 ], [ 113.63831, -8.31377, 0.0 ], [ 113.63818, -8.31377, 0.0 ], [ 113.63806, -8.31377, 0.0 ], [ 113.63799, -8.31376, 0.0 ], [ 113.63793, -8.31375, 0.0 ], [ 113.63784, -8.31374, 0.0 ], [ 113.63773, -8.31373, 0.0 ], [ 113.63753, -8.3137, 0.0 ], [ 113.63742, -8.31369, 0.0 ], [ 113.63718, -8.31366, 0.0 ], [ 113.6371, -8.31365, 0.0 ], [ 113.63666, -8.31361, 0.0 ], [ 113.63618, -8.31356, 0.0 ], [ 113.63582, -8.31354, 0.0 ], [ 113.63559, -8.31353, 0.0 ], [ 113.63562, -8.31322, 0.0 ], [ 113.63563, -8.31284, 0.0 ], [ 113.63564, -8.31274, 0.0 ], [ 113.63564, -8.31272, 0.0 ], [ 113.63567, -8.3122, 0.0 ], [ 113.63567, -8.31211, 0.0 ], [ 113.63568, -8.31198, 0.0 ], [ 113.63568, -8.31181, 0.0 ], [ 113.63571, -8.31132, 0.0 ], [ 113.63571, -8.31131, 0.0 ], [ 113.63572, -8.31109, 0.0 ], [ 113.63572, -8.31091, 0.0 ], [ 113.63574, -8.3105, 0.0 ], [ 113.63575, -8.31004, 0.0 ], [ 113.63576, -8.3099, 0.0 ], [ 113.63576, -8.30983, 0.0 ], [ 113.63578, -8.3095, 0.0 ], [ 113.63579, -8.30931, 0.0 ], [ 113.63582, -8.30916, 0.0 ], [ 113.63585, -8.30901, 0.0 ], [ 113.6359, -8.30887, 0.0 ], [ 113.63597, -8.30873, 0.0 ], [ 113.63599, -8.30869, 0.0 ], [ 113.63608, -8.30853, 0.0 ], [ 113.63612, -8.30847, 0.0 ], [ 113.63639, -8.30803, 0.0 ], [ 113.63659, -8.30775, 0.0 ], [ 113.63672, -8.30756, 0.0 ], [ 113.63692, -8.30724, 0.0 ], [ 113.63699, -8.30714, 0.0 ], [ 113.6372, -8.30679, 0.0 ], [ 113.63725, -8.30672, 0.0 ], [ 113.63736, -8.3065, 0.0 ], [ 113.63749, -8.30626, 0.0 ], [ 113.63751, -8.30623, 0.0 ], [ 113.63754, -8.30617, 0.0 ], [ 113.63784, -8.30561, 0.0 ], [ 113.63789, -8.3055, 0.0 ], [ 113.63798, -8.30527, 0.0 ], [ 113.63805, -8.30513, 0.0 ], [ 113.63815, -8.30485, 0.0 ], [ 113.63819, -8.30476, 0.0 ], [ 113.63826, -8.30458, 0.0 ], [ 113.63833, -8.3044, 0.0 ], [ 113.63837, -8.30429, 0.0 ], [ 113.63856, -8.30361, 0.0 ], [ 113.63857, -8.30359, 0.0 ], [ 113.63875, -8.30298, 0.0 ], [ 113.63875, -8.30296, 0.0 ], [ 113.63882, -8.3027, 0.0 ], [ 113.63884, -8.30262, 0.0 ], [ 113.63886, -8.30254, 0.0 ], [ 113.63894, -8.30226, 0.0 ], [ 113.639, -8.30192, 0.0 ], [ 113.63901, -8.30186, 0.0 ], [ 113.63902, -8.30176, 0.0 ], [ 113.63905, -8.30152, 0.0 ], [ 113.63906, -8.30141, 0.0 ], [ 113.6391, -8.30112, 0.0 ], [ 113.63918, -8.30061, 0.0 ], [ 113.63922, -8.30037, 0.0 ], [ 113.63923, -8.30024, 0.0 ], [ 113.63923, -8.30015, 0.0 ], [ 113.63929, -8.30008, 0.0 ], [ 113.63938, -8.30001, 0.0 ], [ 113.63948, -8.29993, 0.0 ], [ 113.6395, -8.29991, 0.0 ], [ 113.63964, -8.2998, 0.0 ], [ 113.63966, -8.29978, 0.0 ], [ 113.63984, -8.29962, 0.0 ], [ 113.63995, -8.2995, 0.0 ], [ 113.64003, -8.29933, 0.0 ], [ 113.64011, -8.29914, 0.0 ], [ 113.64015, -8.299, 0.0 ], [ 113.64019, -8.29888, 0.0 ], [ 113.64025, -8.29888, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "PJ2R+F5, Krajan, Sruni, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6402478, -8.2988809, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Jalan Tanpa Nama, Sruni, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6602973, -8.3071516, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Jl. Flamboyan No.7, Karang Kokap, Sruni, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6392274, -8.3001456, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PJ2R+F5, Krajan, Sruni, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6402475, -8.2988809, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Jenggawah (Kaki Gunung Jenggawah).geojson b/smart_cycling_api/import_queue/done/Jenggawah (Kaki Gunung Jenggawah).geojson new file mode 100644 index 0000000..00dc650 --- /dev/null +++ b/smart_cycling_api/import_queue/done/Jenggawah (Kaki Gunung Jenggawah).geojson @@ -0,0 +1,12 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari Jl. Kawi No.38, Krajan, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke Jl. Kawi No.38, Krajan, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari Jl. Kawi No.38, Krajan, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke Jl. Kawi No.38, Krajan, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.64947, -8.26334, 0.0 ], [ 113.64997, -8.26348, 0.0 ], [ 113.65036, -8.26356, 0.0 ], [ 113.65068, -8.26363, 0.0 ], [ 113.65082, -8.26364, 0.0 ], [ 113.65108, -8.26366, 0.0 ], [ 113.65132, -8.26369, 0.0 ], [ 113.6514, -8.26369, 0.0 ], [ 113.65159, -8.26365, 0.0 ], [ 113.65181, -8.26356, 0.0 ], [ 113.65203, -8.26346, 0.0 ], [ 113.6522, -8.26336, 0.0 ], [ 113.65233, -8.26328, 0.0 ], [ 113.65239, -8.26324, 0.0 ], [ 113.65244, -8.2632, 0.0 ], [ 113.65254, -8.26312, 0.0 ], [ 113.65262, -8.26303, 0.0 ], [ 113.65273, -8.2629, 0.0 ], [ 113.65283, -8.2628, 0.0 ], [ 113.65296, -8.26265, 0.0 ], [ 113.65307, -8.26253, 0.0 ], [ 113.65317, -8.26246, 0.0 ], [ 113.65329, -8.26239, 0.0 ], [ 113.65339, -8.26234, 0.0 ], [ 113.65346, -8.26231, 0.0 ], [ 113.65365, -8.26227, 0.0 ], [ 113.65378, -8.26224, 0.0 ], [ 113.65383, -8.26224, 0.0 ], [ 113.654, -8.26224, 0.0 ], [ 113.65401, -8.26224, 0.0 ], [ 113.65414, -8.26228, 0.0 ], [ 113.65434, -8.26231, 0.0 ], [ 113.65462, -8.26233, 0.0 ], [ 113.6548, -8.26234, 0.0 ], [ 113.65494, -8.26236, 0.0 ], [ 113.65522, -8.26242, 0.0 ], [ 113.65552, -8.26252, 0.0 ], [ 113.65598, -8.26268, 0.0 ], [ 113.65629, -8.26279, 0.0 ], [ 113.65646, -8.26285, 0.0 ], [ 113.65661, -8.26289, 0.0 ], [ 113.65697, -8.26305, 0.0 ], [ 113.65697, -8.26306, 0.0 ], [ 113.65701, -8.26308, 0.0 ], [ 113.65757, -8.26345, 0.0 ], [ 113.65814, -8.26381, 0.0 ], [ 113.65833, -8.26395, 0.0 ], [ 113.6586, -8.26414, 0.0 ], [ 113.65878, -8.26428, 0.0 ], [ 113.65908, -8.26446, 0.0 ], [ 113.65919, -8.26452, 0.0 ], [ 113.65948, -8.26465, 0.0 ], [ 113.65975, -8.26472, 0.0 ], [ 113.66003, -8.26478, 0.0 ], [ 113.66038, -8.26483, 0.0 ], [ 113.66051, -8.26485, 0.0 ], [ 113.66076, -8.26489, 0.0 ], [ 113.66093, -8.26493, 0.0 ], [ 113.66096, -8.26494, 0.0 ], [ 113.66147, -8.2651, 0.0 ], [ 113.6618, -8.26528, 0.0 ], [ 113.66193, -8.26535, 0.0 ], [ 113.6623, -8.26555, 0.0 ], [ 113.66245, -8.26562, 0.0 ], [ 113.66255, -8.26564, 0.0 ], [ 113.66259, -8.26565, 0.0 ], [ 113.66301, -8.26571, 0.0 ], [ 113.66312, -8.26574, 0.0 ], [ 113.66296, -8.26609, 0.0 ], [ 113.6628, -8.26641, 0.0 ], [ 113.66268, -8.26672, 0.0 ], [ 113.66261, -8.26687, 0.0 ], [ 113.66254, -8.26706, 0.0 ], [ 113.66251, -8.26714, 0.0 ], [ 113.66241, -8.26735, 0.0 ], [ 113.66227, -8.26767, 0.0 ], [ 113.66214, -8.26793, 0.0 ], [ 113.66194, -8.2685, 0.0 ], [ 113.66172, -8.26903, 0.0 ], [ 113.66147, -8.26967, 0.0 ], [ 113.6614, -8.26984, 0.0 ], [ 113.66138, -8.26989, 0.0 ], [ 113.66128, -8.27015, 0.0 ], [ 113.66119, -8.27033, 0.0 ], [ 113.66106, -8.27064, 0.0 ], [ 113.66099, -8.27079, 0.0 ], [ 113.66087, -8.27106, 0.0 ], [ 113.6608, -8.27122, 0.0 ], [ 113.66073, -8.27134, 0.0 ], [ 113.6607, -8.27139, 0.0 ], [ 113.66058, -8.27155, 0.0 ], [ 113.6605, -8.27165, 0.0 ], [ 113.66047, -8.27169, 0.0 ], [ 113.66035, -8.27181, 0.0 ], [ 113.66024, -8.2719, 0.0 ], [ 113.66013, -8.27196, 0.0 ], [ 113.66002, -8.272, 0.0 ], [ 113.65989, -8.27203, 0.0 ], [ 113.6598, -8.27204, 0.0 ], [ 113.65971, -8.27204, 0.0 ], [ 113.65967, -8.27203, 0.0 ], [ 113.65963, -8.27203, 0.0 ], [ 113.65955, -8.27201, 0.0 ], [ 113.65935, -8.27192, 0.0 ], [ 113.65928, -8.27189, 0.0 ], [ 113.6592, -8.27189, 0.0 ], [ 113.65918, -8.27189, 0.0 ], [ 113.65914, -8.2719, 0.0 ], [ 113.65906, -8.27193, 0.0 ], [ 113.65881, -8.27206, 0.0 ], [ 113.65849, -8.27223, 0.0 ], [ 113.65833, -8.27232, 0.0 ], [ 113.65823, -8.27237, 0.0 ], [ 113.65801, -8.27249, 0.0 ], [ 113.65786, -8.27256, 0.0 ], [ 113.65773, -8.27261, 0.0 ], [ 113.65772, -8.27262, 0.0 ], [ 113.65763, -8.27266, 0.0 ], [ 113.65759, -8.2727, 0.0 ], [ 113.65756, -8.27275, 0.0 ], [ 113.65753, -8.27281, 0.0 ], [ 113.65751, -8.27291, 0.0 ], [ 113.65751, -8.27292, 0.0 ], [ 113.65744, -8.27335, 0.0 ], [ 113.65738, -8.27373, 0.0 ], [ 113.65734, -8.27394, 0.0 ], [ 113.65732, -8.27398, 0.0 ], [ 113.65729, -8.27401, 0.0 ], [ 113.65726, -8.27404, 0.0 ], [ 113.65715, -8.27412, 0.0 ], [ 113.65708, -8.27416, 0.0 ], [ 113.65698, -8.27423, 0.0 ], [ 113.65688, -8.2743, 0.0 ], [ 113.65681, -8.27436, 0.0 ], [ 113.65677, -8.27441, 0.0 ], [ 113.65675, -8.27447, 0.0 ], [ 113.65673, -8.27459, 0.0 ], [ 113.65672, -8.27484, 0.0 ], [ 113.6567, -8.27504, 0.0 ], [ 113.65669, -8.2751, 0.0 ], [ 113.65667, -8.27529, 0.0 ], [ 113.65661, -8.27551, 0.0 ], [ 113.65658, -8.27562, 0.0 ], [ 113.65654, -8.27569, 0.0 ], [ 113.65651, -8.27575, 0.0 ], [ 113.65647, -8.2758, 0.0 ], [ 113.65628, -8.27608, 0.0 ], [ 113.65614, -8.27595, 0.0 ], [ 113.65601, -8.27586, 0.0 ], [ 113.6559, -8.2758, 0.0 ], [ 113.65588, -8.2758, 0.0 ], [ 113.65582, -8.27577, 0.0 ], [ 113.65562, -8.27574, 0.0 ], [ 113.65542, -8.27571, 0.0 ], [ 113.65518, -8.27568, 0.0 ], [ 113.6551, -8.27567, 0.0 ], [ 113.65488, -8.27563, 0.0 ], [ 113.65473, -8.2756, 0.0 ], [ 113.65463, -8.27557, 0.0 ], [ 113.65456, -8.27552, 0.0 ], [ 113.65454, -8.27551, 0.0 ], [ 113.65446, -8.27543, 0.0 ], [ 113.65443, -8.27539, 0.0 ], [ 113.65432, -8.27526, 0.0 ], [ 113.65432, -8.27525, 0.0 ], [ 113.6542, -8.27507, 0.0 ], [ 113.65412, -8.27494, 0.0 ], [ 113.65384, -8.27454, 0.0 ], [ 113.65376, -8.27443, 0.0 ], [ 113.65373, -8.27438, 0.0 ], [ 113.65312, -8.27352, 0.0 ], [ 113.65307, -8.27346, 0.0 ], [ 113.65266, -8.2729, 0.0 ], [ 113.65236, -8.27251, 0.0 ], [ 113.65217, -8.27225, 0.0 ], [ 113.65202, -8.27205, 0.0 ], [ 113.652, -8.27202, 0.0 ], [ 113.65197, -8.27199, 0.0 ], [ 113.65144, -8.27129, 0.0 ], [ 113.65118, -8.27094, 0.0 ], [ 113.65106, -8.27079, 0.0 ], [ 113.651, -8.2707, 0.0 ], [ 113.65086, -8.27053, 0.0 ], [ 113.65068, -8.27028, 0.0 ], [ 113.65053, -8.27009, 0.0 ], [ 113.65018, -8.26962, 0.0 ], [ 113.64986, -8.2692, 0.0 ], [ 113.6497, -8.26899, 0.0 ], [ 113.64952, -8.26875, 0.0 ], [ 113.64942, -8.26862, 0.0 ], [ 113.6493, -8.26847, 0.0 ], [ 113.64928, -8.26845, 0.0 ], [ 113.6492, -8.26837, 0.0 ], [ 113.64909, -8.26827, 0.0 ], [ 113.64898, -8.26821, 0.0 ], [ 113.64885, -8.26815, 0.0 ], [ 113.64865, -8.26806, 0.0 ], [ 113.64854, -8.26802, 0.0 ], [ 113.64779, -8.26772, 0.0 ], [ 113.64837, -8.26626, 0.0 ], [ 113.64856, -8.26568, 0.0 ], [ 113.64862, -8.26551, 0.0 ], [ 113.64876, -8.26514, 0.0 ], [ 113.64892, -8.26472, 0.0 ], [ 113.64897, -8.26459, 0.0 ], [ 113.64947, -8.26334, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "Jl. Kawi No.38, Krajan, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6494738, -8.2633407, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PMH5+6PQ, Jl. Sekar Putih, Wedan Gn., Wonojati, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6591791, -8.2718936, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Jl. Kawi No.156, Krajan, Wonojati, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6477861, -8.2677205, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Jl. Kawi No.38, Krajan, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6494738, -8.2633407, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Karanganyar - Ambulu.geojson b/smart_cycling_api/import_queue/done/Karanganyar - Ambulu.geojson new file mode 100644 index 0000000..1163c5a --- /dev/null +++ b/smart_cycling_api/import_queue/done/Karanganyar - Ambulu.geojson @@ -0,0 +1,13 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari Jl. Kopral Soetomo No.288, Krajan, Karanganyar, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia ke MJJ6+F83, Jl. Kop Soetomo Sumberan, Sumberan, Karanganyar, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari Jl. Kopral Soetomo No.288, Krajan, Karanganyar, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia ke MJJ6+F83, Jl. Kop Soetomo Sumberan, Sumberan, Karanganyar, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.61076, -8.31927, 0.0 ], [ 113.6108, -8.31928, 0.0 ], [ 113.61152, -8.31945, 0.0 ], [ 113.61236, -8.31965, 0.0 ], [ 113.61256, -8.31972, 0.0 ], [ 113.61261, -8.31974, 0.0 ], [ 113.6126, -8.31993, 0.0 ], [ 113.61258, -8.32005, 0.0 ], [ 113.61256, -8.32013, 0.0 ], [ 113.61242, -8.32076, 0.0 ], [ 113.61228, -8.3213, 0.0 ], [ 113.61205, -8.32213, 0.0 ], [ 113.6119, -8.32274, 0.0 ], [ 113.6118, -8.3232, 0.0 ], [ 113.61178, -8.32326, 0.0 ], [ 113.61177, -8.32328, 0.0 ], [ 113.61175, -8.3233, 0.0 ], [ 113.61174, -8.32332, 0.0 ], [ 113.6117, -8.32335, 0.0 ], [ 113.61164, -8.32338, 0.0 ], [ 113.61154, -8.32345, 0.0 ], [ 113.6115, -8.32348, 0.0 ], [ 113.61147, -8.32351, 0.0 ], [ 113.61146, -8.32354, 0.0 ], [ 113.61143, -8.32359, 0.0 ], [ 113.61142, -8.32364, 0.0 ], [ 113.61142, -8.32366, 0.0 ], [ 113.61141, -8.32375, 0.0 ], [ 113.61139, -8.324, 0.0 ], [ 113.61139, -8.32401, 0.0 ], [ 113.61137, -8.32422, 0.0 ], [ 113.61136, -8.32435, 0.0 ], [ 113.61133, -8.32476, 0.0 ], [ 113.61132, -8.32495, 0.0 ], [ 113.6113, -8.32508, 0.0 ], [ 113.61128, -8.32516, 0.0 ], [ 113.61125, -8.32534, 0.0 ], [ 113.61119, -8.32565, 0.0 ], [ 113.61119, -8.32567, 0.0 ], [ 113.61118, -8.32573, 0.0 ], [ 113.61096, -8.32689, 0.0 ], [ 113.61094, -8.32705, 0.0 ], [ 113.61091, -8.32723, 0.0 ], [ 113.61088, -8.32741, 0.0 ], [ 113.61084, -8.3277, 0.0 ], [ 113.61079, -8.32802, 0.0 ], [ 113.61073, -8.32828, 0.0 ], [ 113.6107, -8.3284, 0.0 ], [ 113.61065, -8.32855, 0.0 ], [ 113.61059, -8.32872, 0.0 ], [ 113.61058, -8.32875, 0.0 ], [ 113.61038, -8.32925, 0.0 ], [ 113.61032, -8.32939, 0.0 ], [ 113.61027, -8.32962, 0.0 ], [ 113.6102, -8.32995, 0.0 ], [ 113.61019, -8.33005, 0.0 ], [ 113.61011, -8.33059, 0.0 ], [ 113.61009, -8.33075, 0.0 ], [ 113.61007, -8.33088, 0.0 ], [ 113.61001, -8.33133, 0.0 ], [ 113.60999, -8.33158, 0.0 ], [ 113.60999, -8.33176, 0.0 ], [ 113.60999, -8.33206, 0.0 ], [ 113.61, -8.33231, 0.0 ], [ 113.60999, -8.33246, 0.0 ], [ 113.60997, -8.33286, 0.0 ], [ 113.60995, -8.33299, 0.0 ], [ 113.60994, -8.33306, 0.0 ], [ 113.60989, -8.33356, 0.0 ], [ 113.60977, -8.33465, 0.0 ], [ 113.60976, -8.33468, 0.0 ], [ 113.60974, -8.33538, 0.0 ], [ 113.60973, -8.33586, 0.0 ], [ 113.60972, -8.33615, 0.0 ], [ 113.60976, -8.33615, 0.0 ], [ 113.60982, -8.33616, 0.0 ], [ 113.60986, -8.33621, 0.0 ], [ 113.60987, -8.33623, 0.0 ], [ 113.60987, -8.33627, 0.0 ], [ 113.60987, -8.33632, 0.0 ], [ 113.60987, -8.33637, 0.0 ], [ 113.60986, -8.33642, 0.0 ], [ 113.60985, -8.33653, 0.0 ], [ 113.6098, -8.33688, 0.0 ], [ 113.60975, -8.33725, 0.0 ], [ 113.60975, -8.33729, 0.0 ], [ 113.60968, -8.33775, 0.0 ], [ 113.60961, -8.33856, 0.0 ], [ 113.60977, -8.33933, 0.0 ], [ 113.60987, -8.33978, 0.0 ], [ 113.60988, -8.33982, 0.0 ], [ 113.60993, -8.33994, 0.0 ], [ 113.60995, -8.33999, 0.0 ], [ 113.60997, -8.34003, 0.0 ], [ 113.60998, -8.34007, 0.0 ], [ 113.60999, -8.34013, 0.0 ], [ 113.60999, -8.34017, 0.0 ], [ 113.61, -8.34041, 0.0 ], [ 113.60993, -8.34112, 0.0 ], [ 113.60989, -8.3415, 0.0 ], [ 113.60989, -8.34152, 0.0 ], [ 113.60987, -8.3417, 0.0 ], [ 113.60986, -8.34188, 0.0 ], [ 113.60983, -8.34227, 0.0 ], [ 113.60977, -8.34268, 0.0 ], [ 113.60973, -8.34297, 0.0 ], [ 113.60971, -8.34306, 0.0 ], [ 113.6097, -8.34313, 0.0 ], [ 113.60968, -8.34327, 0.0 ], [ 113.60954, -8.34426, 0.0 ], [ 113.60952, -8.34437, 0.0 ], [ 113.6095, -8.3445, 0.0 ], [ 113.60948, -8.34465, 0.0 ], [ 113.60941, -8.34512, 0.0 ], [ 113.60938, -8.34533, 0.0 ], [ 113.60936, -8.34548, 0.0 ], [ 113.60932, -8.34569, 0.0 ], [ 113.60929, -8.34589, 0.0 ], [ 113.60927, -8.34608, 0.0 ], [ 113.60926, -8.34625, 0.0 ], [ 113.60922, -8.34654, 0.0 ], [ 113.60919, -8.3468, 0.0 ], [ 113.60918, -8.34697, 0.0 ], [ 113.60904, -8.34795, 0.0 ], [ 113.609, -8.34826, 0.0 ], [ 113.609, -8.34828, 0.0 ], [ 113.609, -8.3483, 0.0 ], [ 113.609, -8.34826, 0.0 ], [ 113.60866, -8.3482, 0.0 ], [ 113.60863, -8.34819, 0.0 ], [ 113.60796, -8.34804, 0.0 ], [ 113.60781, -8.348, 0.0 ], [ 113.60744, -8.34791, 0.0 ], [ 113.60704, -8.34779, 0.0 ], [ 113.60662, -8.3477, 0.0 ], [ 113.60571, -8.34749, 0.0 ], [ 113.60577, -8.34729, 0.0 ], [ 113.60596, -8.34662, 0.0 ], [ 113.60596, -8.34655, 0.0 ], [ 113.60595, -8.34633, 0.0 ], [ 113.60604, -8.34606, 0.0 ], [ 113.60624, -8.34545, 0.0 ], [ 113.6064, -8.3449, 0.0 ], [ 113.60642, -8.34483, 0.0 ], [ 113.60666, -8.34421, 0.0 ], [ 113.60686, -8.34366, 0.0 ], [ 113.60692, -8.3434, 0.0 ], [ 113.60698, -8.34313, 0.0 ], [ 113.60704, -8.3429, 0.0 ], [ 113.60707, -8.34269, 0.0 ], [ 113.6071, -8.3425, 0.0 ], [ 113.60724, -8.34206, 0.0 ], [ 113.60727, -8.34181, 0.0 ], [ 113.60729, -8.34163, 0.0 ], [ 113.60732, -8.34137, 0.0 ], [ 113.60733, -8.34124, 0.0 ], [ 113.6074, -8.34067, 0.0 ], [ 113.6074, -8.34061, 0.0 ], [ 113.6074, -8.3406, 0.0 ], [ 113.60741, -8.34051, 0.0 ], [ 113.60742, -8.34034, 0.0 ], [ 113.60746, -8.34002, 0.0 ], [ 113.6075, -8.33968, 0.0 ], [ 113.60754, -8.3392, 0.0 ], [ 113.60757, -8.33877, 0.0 ], [ 113.6076, -8.33848, 0.0 ], [ 113.6076, -8.33833, 0.0 ], [ 113.6076, -8.33794, 0.0 ], [ 113.60763, -8.33751, 0.0 ], [ 113.60761, -8.33658, 0.0 ], [ 113.60762, -8.33649, 0.0 ], [ 113.60768, -8.33599, 0.0 ], [ 113.60771, -8.33587, 0.0 ], [ 113.6078, -8.33553, 0.0 ], [ 113.60781, -8.33539, 0.0 ], [ 113.60783, -8.33506, 0.0 ], [ 113.60788, -8.33473, 0.0 ], [ 113.60788, -8.3347, 0.0 ], [ 113.60799, -8.33324, 0.0 ], [ 113.60804, -8.33269, 0.0 ], [ 113.60804, -8.33266, 0.0 ], [ 113.60806, -8.33236, 0.0 ], [ 113.60809, -8.33202, 0.0 ], [ 113.60814, -8.33136, 0.0 ], [ 113.60813, -8.33131, 0.0 ], [ 113.60814, -8.33123, 0.0 ], [ 113.60818, -8.33085, 0.0 ], [ 113.60818, -8.33082, 0.0 ], [ 113.6082, -8.33068, 0.0 ], [ 113.60823, -8.3303, 0.0 ], [ 113.60826, -8.32992, 0.0 ], [ 113.60829, -8.32956, 0.0 ], [ 113.60831, -8.32938, 0.0 ], [ 113.60835, -8.32894, 0.0 ], [ 113.60835, -8.32869, 0.0 ], [ 113.60847, -8.32751, 0.0 ], [ 113.60849, -8.32733, 0.0 ], [ 113.60852, -8.32716, 0.0 ], [ 113.60853, -8.32706, 0.0 ], [ 113.60855, -8.32693, 0.0 ], [ 113.60856, -8.32686, 0.0 ], [ 113.60863, -8.32654, 0.0 ], [ 113.60866, -8.32633, 0.0 ], [ 113.60871, -8.32606, 0.0 ], [ 113.60877, -8.3258, 0.0 ], [ 113.60879, -8.32571, 0.0 ], [ 113.60882, -8.32561, 0.0 ], [ 113.60885, -8.32548, 0.0 ], [ 113.60888, -8.32536, 0.0 ], [ 113.60893, -8.32519, 0.0 ], [ 113.60896, -8.32508, 0.0 ], [ 113.60908, -8.32466, 0.0 ], [ 113.60911, -8.32454, 0.0 ], [ 113.60938, -8.32365, 0.0 ], [ 113.60969, -8.32263, 0.0 ], [ 113.60979, -8.32232, 0.0 ], [ 113.60993, -8.32183, 0.0 ], [ 113.60996, -8.32174, 0.0 ], [ 113.60999, -8.32166, 0.0 ], [ 113.61016, -8.32105, 0.0 ], [ 113.6103, -8.32058, 0.0 ], [ 113.61048, -8.32004, 0.0 ], [ 113.61049, -8.32001, 0.0 ], [ 113.61063, -8.31967, 0.0 ], [ 113.61071, -8.31948, 0.0 ], [ 113.6108, -8.31928, 0.0 ], [ 113.611, -8.31883, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "Jl. Kopral Soetomo No.288, Krajan, Karanganyar, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6107648, -8.3192688, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MJJ6+5XQ, Jl. Sultan Agung, Krajan, Karanganyar, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.61256, -8.3197197, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Jl. Ahmad Yani No.47, Krajan, Ambulu, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6089954, -8.3482951, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Jl. Manggar No.14, Krajan, Ambulu, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6057718, -8.3472866, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MJJ6+F83, Jl. Kop Soetomo Sumberan, Sumberan, Karanganyar, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6110012, -8.3188332, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Kawangrejo Kebun Karet.geojson b/smart_cycling_api/import_queue/done/Kawangrejo Kebun Karet.geojson new file mode 100644 index 0000000..6d7b2f1 --- /dev/null +++ b/smart_cycling_api/import_queue/done/Kawangrejo Kebun Karet.geojson @@ -0,0 +1,12 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari PPP4+629, Jl. Soekarno Hatta, Kawang Rejo, Kawangrejo, Kec. Mumbulsari, Kabupaten Jember, Jawa Timur 68174, Indonesia ke PPP4+629, Jl. Soekarno Hatta, Kawang Rejo, Kawangrejo, Kec. Mumbulsari, Kabupaten Jember, Jawa Timur 68174, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari PPP4+629, Jl. Soekarno Hatta, Kawang Rejo, Kawangrejo, Kec. Mumbulsari, Kabupaten Jember, Jawa Timur 68174, Indonesia ke PPP4+629, Jl. Soekarno Hatta, Kawang Rejo, Kawangrejo, Kec. Mumbulsari, Kabupaten Jember, Jawa Timur 68174, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.70516, -8.26458, 0.0 ], [ 113.70517, -8.26454, 0.0 ], [ 113.7058, -8.26449, 0.0 ], [ 113.70618, -8.26446, 0.0 ], [ 113.70642, -8.26445, 0.0 ], [ 113.70682, -8.26445, 0.0 ], [ 113.70715, -8.26444, 0.0 ], [ 113.70755, -8.26446, 0.0 ], [ 113.70822, -8.26443, 0.0 ], [ 113.70854, -8.2644, 0.0 ], [ 113.70867, -8.2644, 0.0 ], [ 113.70874, -8.2644, 0.0 ], [ 113.70883, -8.26441, 0.0 ], [ 113.70888, -8.26443, 0.0 ], [ 113.70892, -8.26444, 0.0 ], [ 113.70897, -8.26445, 0.0 ], [ 113.709, -8.26446, 0.0 ], [ 113.70904, -8.26446, 0.0 ], [ 113.70913, -8.26446, 0.0 ], [ 113.70923, -8.26445, 0.0 ], [ 113.70927, -8.26443, 0.0 ], [ 113.7093, -8.26442, 0.0 ], [ 113.70933, -8.26439, 0.0 ], [ 113.70939, -8.26435, 0.0 ], [ 113.70943, -8.26432, 0.0 ], [ 113.70955, -8.26423, 0.0 ], [ 113.7096, -8.2642, 0.0 ], [ 113.70964, -8.26418, 0.0 ], [ 113.7097, -8.26415, 0.0 ], [ 113.70977, -8.26413, 0.0 ], [ 113.70983, -8.26412, 0.0 ], [ 113.7099, -8.26413, 0.0 ], [ 113.70994, -8.26414, 0.0 ], [ 113.71019, -8.2643, 0.0 ], [ 113.71028, -8.26436, 0.0 ], [ 113.71036, -8.26439, 0.0 ], [ 113.71043, -8.26442, 0.0 ], [ 113.71049, -8.26442, 0.0 ], [ 113.71054, -8.26443, 0.0 ], [ 113.71067, -8.26442, 0.0 ], [ 113.71073, -8.26442, 0.0 ], [ 113.71075, -8.26442, 0.0 ], [ 113.71076, -8.26442, 0.0 ], [ 113.71096, -8.26441, 0.0 ], [ 113.71119, -8.26442, 0.0 ], [ 113.71147, -8.26445, 0.0 ], [ 113.71172, -8.26451, 0.0 ], [ 113.71185, -8.26454, 0.0 ], [ 113.71199, -8.26458, 0.0 ], [ 113.71222, -8.26466, 0.0 ], [ 113.71229, -8.26468, 0.0 ], [ 113.71252, -8.26475, 0.0 ], [ 113.71276, -8.26482, 0.0 ], [ 113.71283, -8.26484, 0.0 ], [ 113.71286, -8.26485, 0.0 ], [ 113.71289, -8.26485, 0.0 ], [ 113.71292, -8.26485, 0.0 ], [ 113.71294, -8.26485, 0.0 ], [ 113.71296, -8.26485, 0.0 ], [ 113.71299, -8.26484, 0.0 ], [ 113.71299, -8.26483, 0.0 ], [ 113.713, -8.26483, 0.0 ], [ 113.71301, -8.26483, 0.0 ], [ 113.71302, -8.26482, 0.0 ], [ 113.71302, -8.26481, 0.0 ], [ 113.71304, -8.2648, 0.0 ], [ 113.71312, -8.26471, 0.0 ], [ 113.71316, -8.26465, 0.0 ], [ 113.71337, -8.26435, 0.0 ], [ 113.71338, -8.26434, 0.0 ], [ 113.71349, -8.26419, 0.0 ], [ 113.7135, -8.26419, 0.0 ], [ 113.71359, -8.26406, 0.0 ], [ 113.71367, -8.26396, 0.0 ], [ 113.71372, -8.26389, 0.0 ], [ 113.71375, -8.26386, 0.0 ], [ 113.71378, -8.26384, 0.0 ], [ 113.7138, -8.26382, 0.0 ], [ 113.71384, -8.26381, 0.0 ], [ 113.7139, -8.2638, 0.0 ], [ 113.71391, -8.2638, 0.0 ], [ 113.71392, -8.2638, 0.0 ], [ 113.71393, -8.2638, 0.0 ], [ 113.71395, -8.2638, 0.0 ], [ 113.71396, -8.2638, 0.0 ], [ 113.71398, -8.26381, 0.0 ], [ 113.71402, -8.26384, 0.0 ], [ 113.71415, -8.26393, 0.0 ], [ 113.71431, -8.26407, 0.0 ], [ 113.71452, -8.26428, 0.0 ], [ 113.71468, -8.26447, 0.0 ], [ 113.71488, -8.26471, 0.0 ], [ 113.71507, -8.26493, 0.0 ], [ 113.71523, -8.26515, 0.0 ], [ 113.71544, -8.26539, 0.0 ], [ 113.71555, -8.26554, 0.0 ], [ 113.71562, -8.26564, 0.0 ], [ 113.71564, -8.26568, 0.0 ], [ 113.71572, -8.2658, 0.0 ], [ 113.71578, -8.26593, 0.0 ], [ 113.71585, -8.26607, 0.0 ], [ 113.71588, -8.26614, 0.0 ], [ 113.71591, -8.26623, 0.0 ], [ 113.71593, -8.26634, 0.0 ], [ 113.71594, -8.26641, 0.0 ], [ 113.71597, -8.26682, 0.0 ], [ 113.71597, -8.26687, 0.0 ], [ 113.71599, -8.26718, 0.0 ], [ 113.71602, -8.26756, 0.0 ], [ 113.71602, -8.26767, 0.0 ], [ 113.71603, -8.26777, 0.0 ], [ 113.71604, -8.26782, 0.0 ], [ 113.71607, -8.26789, 0.0 ], [ 113.71609, -8.26794, 0.0 ], [ 113.71612, -8.26802, 0.0 ], [ 113.71615, -8.2681, 0.0 ], [ 113.71615, -8.26811, 0.0 ], [ 113.71626, -8.26831, 0.0 ], [ 113.71635, -8.26844, 0.0 ], [ 113.71643, -8.26854, 0.0 ], [ 113.71655, -8.26868, 0.0 ], [ 113.7167, -8.26881, 0.0 ], [ 113.71703, -8.26908, 0.0 ], [ 113.71709, -8.26913, 0.0 ], [ 113.7175, -8.26949, 0.0 ], [ 113.71766, -8.26962, 0.0 ], [ 113.7177, -8.26965, 0.0 ], [ 113.71775, -8.2697, 0.0 ], [ 113.71785, -8.26976, 0.0 ], [ 113.71787, -8.26977, 0.0 ], [ 113.71801, -8.26983, 0.0 ], [ 113.71812, -8.26988, 0.0 ], [ 113.71829, -8.26996, 0.0 ], [ 113.71838, -8.27, 0.0 ], [ 113.71887, -8.2702, 0.0 ], [ 113.71941, -8.27043, 0.0 ], [ 113.71982, -8.2706, 0.0 ], [ 113.72033, -8.27081, 0.0 ], [ 113.72069, -8.27095, 0.0 ], [ 113.72103, -8.27107, 0.0 ], [ 113.72104, -8.2711, 0.0 ], [ 113.72104, -8.27112, 0.0 ], [ 113.72106, -8.27115, 0.0 ], [ 113.72108, -8.27118, 0.0 ], [ 113.72111, -8.27122, 0.0 ], [ 113.72115, -8.27125, 0.0 ], [ 113.7212, -8.27129, 0.0 ], [ 113.72136, -8.27138, 0.0 ], [ 113.72154, -8.2715, 0.0 ], [ 113.72174, -8.27159, 0.0 ], [ 113.7219, -8.27167, 0.0 ], [ 113.72235, -8.27192, 0.0 ], [ 113.72234, -8.27201, 0.0 ], [ 113.72234, -8.27207, 0.0 ], [ 113.72234, -8.27212, 0.0 ], [ 113.72236, -8.27226, 0.0 ], [ 113.72243, -8.2725, 0.0 ], [ 113.7225, -8.27268, 0.0 ], [ 113.72254, -8.27279, 0.0 ], [ 113.72262, -8.27296, 0.0 ], [ 113.72268, -8.27313, 0.0 ], [ 113.72275, -8.27338, 0.0 ], [ 113.72282, -8.27361, 0.0 ], [ 113.72285, -8.27368, 0.0 ], [ 113.72285, -8.27371, 0.0 ], [ 113.72288, -8.27452, 0.0 ], [ 113.72293, -8.27501, 0.0 ], [ 113.72295, -8.27526, 0.0 ], [ 113.72299, -8.27593, 0.0 ], [ 113.72297, -8.27618, 0.0 ], [ 113.72296, -8.27636, 0.0 ], [ 113.72295, -8.27645, 0.0 ], [ 113.72294, -8.27671, 0.0 ], [ 113.72293, -8.27684, 0.0 ], [ 113.72291, -8.27709, 0.0 ], [ 113.72288, -8.27725, 0.0 ], [ 113.72284, -8.27727, 0.0 ], [ 113.7228, -8.2773, 0.0 ], [ 113.72267, -8.27741, 0.0 ], [ 113.72243, -8.27761, 0.0 ], [ 113.7223, -8.27768, 0.0 ], [ 113.72224, -8.27771, 0.0 ], [ 113.72213, -8.27773, 0.0 ], [ 113.72211, -8.27774, 0.0 ], [ 113.72204, -8.27774, 0.0 ], [ 113.72195, -8.27774, 0.0 ], [ 113.72176, -8.27775, 0.0 ], [ 113.7216, -8.27773, 0.0 ], [ 113.72146, -8.2777, 0.0 ], [ 113.72123, -8.27763, 0.0 ], [ 113.72105, -8.27757, 0.0 ], [ 113.72097, -8.27754, 0.0 ], [ 113.72075, -8.27751, 0.0 ], [ 113.72051, -8.27747, 0.0 ], [ 113.72034, -8.27746, 0.0 ], [ 113.72029, -8.27746, 0.0 ], [ 113.72011, -8.27745, 0.0 ], [ 113.72006, -8.27744, 0.0 ], [ 113.71957, -8.27741, 0.0 ], [ 113.71934, -8.2774, 0.0 ], [ 113.71886, -8.27737, 0.0 ], [ 113.7188, -8.27736, 0.0 ], [ 113.71857, -8.27735, 0.0 ], [ 113.71837, -8.27733, 0.0 ], [ 113.7182, -8.27732, 0.0 ], [ 113.71818, -8.27732, 0.0 ], [ 113.71798, -8.27729, 0.0 ], [ 113.71789, -8.2773, 0.0 ], [ 113.71783, -8.27731, 0.0 ], [ 113.7178, -8.27732, 0.0 ], [ 113.71778, -8.27734, 0.0 ], [ 113.71777, -8.27735, 0.0 ], [ 113.71776, -8.27739, 0.0 ], [ 113.71775, -8.27742, 0.0 ], [ 113.71774, -8.27744, 0.0 ], [ 113.71774, -8.27749, 0.0 ], [ 113.71773, -8.27761, 0.0 ], [ 113.71773, -8.27762, 0.0 ], [ 113.71773, -8.2778, 0.0 ], [ 113.71772, -8.27788, 0.0 ], [ 113.71772, -8.27794, 0.0 ], [ 113.71772, -8.27796, 0.0 ], [ 113.71771, -8.27797, 0.0 ], [ 113.71771, -8.27798, 0.0 ], [ 113.7177, -8.27799, 0.0 ], [ 113.71769, -8.27799, 0.0 ], [ 113.71768, -8.278, 0.0 ], [ 113.71767, -8.278, 0.0 ], [ 113.71765, -8.278, 0.0 ], [ 113.71762, -8.27799, 0.0 ], [ 113.71758, -8.27799, 0.0 ], [ 113.71754, -8.27799, 0.0 ], [ 113.71746, -8.27799, 0.0 ], [ 113.71728, -8.278, 0.0 ], [ 113.71645, -8.27798, 0.0 ], [ 113.71627, -8.27797, 0.0 ], [ 113.71609, -8.27796, 0.0 ], [ 113.71581, -8.27796, 0.0 ], [ 113.715, -8.27792, 0.0 ], [ 113.71445, -8.2779, 0.0 ], [ 113.71409, -8.27789, 0.0 ], [ 113.71372, -8.27787, 0.0 ], [ 113.71349, -8.27787, 0.0 ], [ 113.71318, -8.27786, 0.0 ], [ 113.713, -8.27786, 0.0 ], [ 113.71209, -8.27785, 0.0 ], [ 113.71118, -8.27784, 0.0 ], [ 113.71082, -8.27783, 0.0 ], [ 113.70991, -8.27782, 0.0 ], [ 113.70973, -8.27782, 0.0 ], [ 113.70875, -8.2778, 0.0 ], [ 113.70809, -8.27778, 0.0 ], [ 113.70791, -8.27778, 0.0 ], [ 113.70755, -8.27777, 0.0 ], [ 113.70718, -8.27776, 0.0 ], [ 113.70701, -8.27775, 0.0 ], [ 113.707, -8.27775, 0.0 ], [ 113.70664, -8.27774, 0.0 ], [ 113.7057, -8.27772, 0.0 ], [ 113.70561, -8.27772, 0.0 ], [ 113.70547, -8.27771, 0.0 ], [ 113.70493, -8.2777, 0.0 ], [ 113.70456, -8.27769, 0.0 ], [ 113.7035, -8.27767, 0.0 ], [ 113.70303, -8.27764, 0.0 ], [ 113.70286, -8.27764, 0.0 ], [ 113.70269, -8.27763, 0.0 ], [ 113.70218, -8.27761, 0.0 ], [ 113.70211, -8.27761, 0.0 ], [ 113.70167, -8.27759, 0.0 ], [ 113.70159, -8.27758, 0.0 ], [ 113.70118, -8.27757, 0.0 ], [ 113.70107, -8.27757, 0.0 ], [ 113.70063, -8.27756, 0.0 ], [ 113.70028, -8.27755, 0.0 ], [ 113.7001, -8.27754, 0.0 ], [ 113.70004, -8.27754, 0.0 ], [ 113.69991, -8.27754, 0.0 ], [ 113.69968, -8.27754, 0.0 ], [ 113.69949, -8.27752, 0.0 ], [ 113.69937, -8.2775, 0.0 ], [ 113.69942, -8.27745, 0.0 ], [ 113.69965, -8.27724, 0.0 ], [ 113.69971, -8.27719, 0.0 ], [ 113.69992, -8.27699, 0.0 ], [ 113.70011, -8.27682, 0.0 ], [ 113.70021, -8.27673, 0.0 ], [ 113.70054, -8.27642, 0.0 ], [ 113.70062, -8.27635, 0.0 ], [ 113.70092, -8.27605, 0.0 ], [ 113.70106, -8.27592, 0.0 ], [ 113.70138, -8.27559, 0.0 ], [ 113.70176, -8.27523, 0.0 ], [ 113.70181, -8.27519, 0.0 ], [ 113.702, -8.27502, 0.0 ], [ 113.7022, -8.27484, 0.0 ], [ 113.70222, -8.27481, 0.0 ], [ 113.70239, -8.27465, 0.0 ], [ 113.70253, -8.27453, 0.0 ], [ 113.7027, -8.27432, 0.0 ], [ 113.70277, -8.27422, 0.0 ], [ 113.70283, -8.27413, 0.0 ], [ 113.70296, -8.27391, 0.0 ], [ 113.70302, -8.27379, 0.0 ], [ 113.70307, -8.27368, 0.0 ], [ 113.70308, -8.27367, 0.0 ], [ 113.70315, -8.27349, 0.0 ], [ 113.70319, -8.27337, 0.0 ], [ 113.70326, -8.2732, 0.0 ], [ 113.70331, -8.27301, 0.0 ], [ 113.70338, -8.2727, 0.0 ], [ 113.70342, -8.27253, 0.0 ], [ 113.70344, -8.2724, 0.0 ], [ 113.70346, -8.27226, 0.0 ], [ 113.70351, -8.27201, 0.0 ], [ 113.70358, -8.27165, 0.0 ], [ 113.70365, -8.27132, 0.0 ], [ 113.70371, -8.27103, 0.0 ], [ 113.70372, -8.27097, 0.0 ], [ 113.7038, -8.27051, 0.0 ], [ 113.70386, -8.27019, 0.0 ], [ 113.70387, -8.27015, 0.0 ], [ 113.70388, -8.27007, 0.0 ], [ 113.70392, -8.2699, 0.0 ], [ 113.70396, -8.26968, 0.0 ], [ 113.70397, -8.26959, 0.0 ], [ 113.70404, -8.26921, 0.0 ], [ 113.70413, -8.26864, 0.0 ], [ 113.70414, -8.26861, 0.0 ], [ 113.70418, -8.2684, 0.0 ], [ 113.7042, -8.26826, 0.0 ], [ 113.70426, -8.26786, 0.0 ], [ 113.70429, -8.26772, 0.0 ], [ 113.70429, -8.26768, 0.0 ], [ 113.70437, -8.26739, 0.0 ], [ 113.70449, -8.26696, 0.0 ], [ 113.70462, -8.26649, 0.0 ], [ 113.70487, -8.26571, 0.0 ], [ 113.70494, -8.26535, 0.0 ], [ 113.70506, -8.26492, 0.0 ], [ 113.70515, -8.26462, 0.0 ], [ 113.70516, -8.26457, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "PPP4+629, Jl. Soekarno Hatta, Kawang Rejo, Kawangrejo, Kec. Mumbulsari, Kabupaten Jember, Jawa Timur 68174, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.7051596, -8.2645799, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PPC9+WXW, Anesanah, Mumbulsari, Kec. Mumbulsari, Kabupaten Jember, Jawa Timur 68174, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.719341, -8.277398, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PPH3+XG8, Jl. Soekarno Hatta, Kawang Rejo, Kawangrejo, Kec. Mumbulsari, Kabupaten Jember, Jawa Timur 68174, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.7038614, -8.270186, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PPP4+629, Jl. Soekarno Hatta, Kawang Rejo, Kawangrejo, Kec. Mumbulsari, Kabupaten Jember, Jawa Timur 68174, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.7051614, -8.2645741, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Kebonsadeng - Jenggawah.geojson b/smart_cycling_api/import_queue/done/Kebonsadeng - Jenggawah.geojson new file mode 100644 index 0000000..32c719a --- /dev/null +++ b/smart_cycling_api/import_queue/done/Kebonsadeng - Jenggawah.geojson @@ -0,0 +1,12 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari PJ4H+XP5, Krajan Utara, Kertonegoro, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke PJ4H+XP5, Krajan Utara, Kertonegoro, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari PJ4H+XP5, Krajan Utara, Kertonegoro, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke PJ4H+XP5, Krajan Utara, Kertonegoro, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.62949, -8.29259, 0.0 ], [ 113.62908, -8.29236, 0.0 ], [ 113.62831, -8.29192, 0.0 ], [ 113.6281, -8.2918, 0.0 ], [ 113.62731, -8.29134, 0.0 ], [ 113.6271, -8.29122, 0.0 ], [ 113.62683, -8.29107, 0.0 ], [ 113.62681, -8.29106, 0.0 ], [ 113.62637, -8.29081, 0.0 ], [ 113.62618, -8.29069, 0.0 ], [ 113.62598, -8.29058, 0.0 ], [ 113.6259, -8.29053, 0.0 ], [ 113.62585, -8.2905, 0.0 ], [ 113.62551, -8.2903, 0.0 ], [ 113.62523, -8.29013, 0.0 ], [ 113.6252, -8.29011, 0.0 ], [ 113.62494, -8.28995, 0.0 ], [ 113.62446, -8.28962, 0.0 ], [ 113.62415, -8.28941, 0.0 ], [ 113.62414, -8.28941, 0.0 ], [ 113.62391, -8.28924, 0.0 ], [ 113.62388, -8.28922, 0.0 ], [ 113.62338, -8.28888, 0.0 ], [ 113.62249, -8.28828, 0.0 ], [ 113.62247, -8.28825, 0.0 ], [ 113.62245, -8.28821, 0.0 ], [ 113.62245, -8.28818, 0.0 ], [ 113.62245, -8.28815, 0.0 ], [ 113.62245, -8.28812, 0.0 ], [ 113.62248, -8.28806, 0.0 ], [ 113.62256, -8.28788, 0.0 ], [ 113.62265, -8.28771, 0.0 ], [ 113.62255, -8.28763, 0.0 ], [ 113.62198, -8.2875, 0.0 ], [ 113.62124, -8.28735, 0.0 ], [ 113.62093, -8.2873, 0.0 ], [ 113.62072, -8.28726, 0.0 ], [ 113.6203, -8.28722, 0.0 ], [ 113.6202, -8.28721, 0.0 ], [ 113.61978, -8.28716, 0.0 ], [ 113.61945, -8.28715, 0.0 ], [ 113.61907, -8.28715, 0.0 ], [ 113.6189, -8.28718, 0.0 ], [ 113.61885, -8.28719, 0.0 ], [ 113.61872, -8.28721, 0.0 ], [ 113.61853, -8.28727, 0.0 ], [ 113.61815, -8.28739, 0.0 ], [ 113.61768, -8.28751, 0.0 ], [ 113.61728, -8.28756, 0.0 ], [ 113.6172, -8.28757, 0.0 ], [ 113.61706, -8.28757, 0.0 ], [ 113.6168, -8.28759, 0.0 ], [ 113.61645, -8.28761, 0.0 ], [ 113.61628, -8.28762, 0.0 ], [ 113.61623, -8.28763, 0.0 ], [ 113.61609, -8.2876, 0.0 ], [ 113.61585, -8.28749, 0.0 ], [ 113.61568, -8.2874, 0.0 ], [ 113.61548, -8.2873, 0.0 ], [ 113.61532, -8.28721, 0.0 ], [ 113.6152, -8.28714, 0.0 ], [ 113.61517, -8.28712, 0.0 ], [ 113.61508, -8.28705, 0.0 ], [ 113.61493, -8.28694, 0.0 ], [ 113.61481, -8.28687, 0.0 ], [ 113.61471, -8.28681, 0.0 ], [ 113.61445, -8.28669, 0.0 ], [ 113.61426, -8.28663, 0.0 ], [ 113.61388, -8.28652, 0.0 ], [ 113.61343, -8.2864, 0.0 ], [ 113.61285, -8.28625, 0.0 ], [ 113.61245, -8.28613, 0.0 ], [ 113.61221, -8.28605, 0.0 ], [ 113.61179, -8.28587, 0.0 ], [ 113.61165, -8.28582, 0.0 ], [ 113.61086, -8.28552, 0.0 ], [ 113.61046, -8.28539, 0.0 ], [ 113.61017, -8.28532, 0.0 ], [ 113.61006, -8.2853, 0.0 ], [ 113.60988, -8.28527, 0.0 ], [ 113.6093, -8.28519, 0.0 ], [ 113.60916, -8.28517, 0.0 ], [ 113.60904, -8.28516, 0.0 ], [ 113.60838, -8.28509, 0.0 ], [ 113.60812, -8.28506, 0.0 ], [ 113.60704, -8.28498, 0.0 ], [ 113.60643, -8.28492, 0.0 ], [ 113.60618, -8.28491, 0.0 ], [ 113.60616, -8.2849, 0.0 ], [ 113.60599, -8.28491, 0.0 ], [ 113.6058, -8.28492, 0.0 ], [ 113.60572, -8.28493, 0.0 ], [ 113.60529, -8.28497, 0.0 ], [ 113.60501, -8.28497, 0.0 ], [ 113.6043, -8.28497, 0.0 ], [ 113.60406, -8.28499, 0.0 ], [ 113.60388, -8.28502, 0.0 ], [ 113.60335, -8.28512, 0.0 ], [ 113.60278, -8.28519, 0.0 ], [ 113.60243, -8.28523, 0.0 ], [ 113.60206, -8.28528, 0.0 ], [ 113.60147, -8.28535, 0.0 ], [ 113.60115, -8.28541, 0.0 ], [ 113.60068, -8.28552, 0.0 ], [ 113.60067, -8.28552, 0.0 ], [ 113.59993, -8.28573, 0.0 ], [ 113.59977, -8.28577, 0.0 ], [ 113.59961, -8.28582, 0.0 ], [ 113.5995, -8.28585, 0.0 ], [ 113.59943, -8.28588, 0.0 ], [ 113.59935, -8.28591, 0.0 ], [ 113.59826, -8.28633, 0.0 ], [ 113.5977, -8.28655, 0.0 ], [ 113.59739, -8.28663, 0.0 ], [ 113.59726, -8.28666, 0.0 ], [ 113.59713, -8.28669, 0.0 ], [ 113.59709, -8.2867, 0.0 ], [ 113.59677, -8.28674, 0.0 ], [ 113.59626, -8.28679, 0.0 ], [ 113.59605, -8.28681, 0.0 ], [ 113.59538, -8.28686, 0.0 ], [ 113.59507, -8.28685, 0.0 ], [ 113.59489, -8.28682, 0.0 ], [ 113.59485, -8.28682, 0.0 ], [ 113.59414, -8.28673, 0.0 ], [ 113.59373, -8.28667, 0.0 ], [ 113.59246, -8.2865, 0.0 ], [ 113.59247, -8.28733, 0.0 ], [ 113.59247, -8.28741, 0.0 ], [ 113.59247, -8.28746, 0.0 ], [ 113.59251, -8.28803, 0.0 ], [ 113.59252, -8.2882, 0.0 ], [ 113.59254, -8.28895, 0.0 ], [ 113.59254, -8.28938, 0.0 ], [ 113.59253, -8.2898, 0.0 ], [ 113.59251, -8.29025, 0.0 ], [ 113.59251, -8.29031, 0.0 ], [ 113.5925, -8.29045, 0.0 ], [ 113.5925, -8.29096, 0.0 ], [ 113.59247, -8.29178, 0.0 ], [ 113.59241, -8.2929, 0.0 ], [ 113.59233, -8.29387, 0.0 ], [ 113.59228, -8.29455, 0.0 ], [ 113.59227, -8.2946, 0.0 ], [ 113.59226, -8.29473, 0.0 ], [ 113.59223, -8.29505, 0.0 ], [ 113.59218, -8.29551, 0.0 ], [ 113.59209, -8.29627, 0.0 ], [ 113.59207, -8.29651, 0.0 ], [ 113.59203, -8.29686, 0.0 ], [ 113.59203, -8.29693, 0.0 ], [ 113.59243, -8.29692, 0.0 ], [ 113.59351, -8.2969, 0.0 ], [ 113.59467, -8.29691, 0.0 ], [ 113.5952, -8.29693, 0.0 ], [ 113.59537, -8.29693, 0.0 ], [ 113.59593, -8.29693, 0.0 ], [ 113.59658, -8.29694, 0.0 ], [ 113.59735, -8.29696, 0.0 ], [ 113.59774, -8.29701, 0.0 ], [ 113.59833, -8.29704, 0.0 ], [ 113.59871, -8.29708, 0.0 ], [ 113.59948, -8.29716, 0.0 ], [ 113.60028, -8.29724, 0.0 ], [ 113.60129, -8.29729, 0.0 ], [ 113.60143, -8.29729, 0.0 ], [ 113.60222, -8.29734, 0.0 ], [ 113.60286, -8.29741, 0.0 ], [ 113.60324, -8.29747, 0.0 ], [ 113.60328, -8.29748, 0.0 ], [ 113.60333, -8.29749, 0.0 ], [ 113.60414, -8.29765, 0.0 ], [ 113.60466, -8.29779, 0.0 ], [ 113.60488, -8.29785, 0.0 ], [ 113.60576, -8.29803, 0.0 ], [ 113.60719, -8.29841, 0.0 ], [ 113.60739, -8.29848, 0.0 ], [ 113.60746, -8.29849, 0.0 ], [ 113.60751, -8.2985, 0.0 ], [ 113.60813, -8.29863, 0.0 ], [ 113.60888, -8.29878, 0.0 ], [ 113.60913, -8.29887, 0.0 ], [ 113.60955, -8.29903, 0.0 ], [ 113.60974, -8.29911, 0.0 ], [ 113.60997, -8.29919, 0.0 ], [ 113.61036, -8.29933, 0.0 ], [ 113.61058, -8.29939, 0.0 ], [ 113.61099, -8.2995, 0.0 ], [ 113.61147, -8.29962, 0.0 ], [ 113.61141, -8.3, 0.0 ], [ 113.6113, -8.30048, 0.0 ], [ 113.6112, -8.30088, 0.0 ], [ 113.61113, -8.30116, 0.0 ], [ 113.61131, -8.30119, 0.0 ], [ 113.61142, -8.30122, 0.0 ], [ 113.61143, -8.30122, 0.0 ], [ 113.61184, -8.30128, 0.0 ], [ 113.61231, -8.30135, 0.0 ], [ 113.61245, -8.30137, 0.0 ], [ 113.61291, -8.30144, 0.0 ], [ 113.61296, -8.30144, 0.0 ], [ 113.613, -8.30145, 0.0 ], [ 113.6133, -8.30148, 0.0 ], [ 113.61336, -8.30149, 0.0 ], [ 113.61356, -8.30149, 0.0 ], [ 113.61361, -8.30149, 0.0 ], [ 113.61371, -8.3015, 0.0 ], [ 113.61384, -8.30153, 0.0 ], [ 113.61392, -8.30156, 0.0 ], [ 113.61402, -8.3016, 0.0 ], [ 113.61404, -8.30162, 0.0 ], [ 113.61414, -8.3017, 0.0 ], [ 113.61421, -8.30176, 0.0 ], [ 113.6143, -8.30184, 0.0 ], [ 113.61434, -8.30188, 0.0 ], [ 113.61441, -8.30197, 0.0 ], [ 113.61454, -8.30213, 0.0 ], [ 113.61463, -8.30225, 0.0 ], [ 113.61471, -8.30233, 0.0 ], [ 113.61477, -8.30237, 0.0 ], [ 113.61487, -8.30242, 0.0 ], [ 113.6154, -8.30263, 0.0 ], [ 113.61569, -8.30274, 0.0 ], [ 113.61653, -8.30307, 0.0 ], [ 113.61659, -8.3031, 0.0 ], [ 113.61688, -8.30324, 0.0 ], [ 113.6182, -8.3038, 0.0 ], [ 113.61849, -8.30394, 0.0 ], [ 113.61879, -8.30408, 0.0 ], [ 113.61886, -8.30411, 0.0 ], [ 113.61896, -8.30416, 0.0 ], [ 113.61907, -8.30398, 0.0 ], [ 113.61936, -8.3035, 0.0 ], [ 113.6195, -8.30327, 0.0 ], [ 113.61967, -8.303, 0.0 ], [ 113.61982, -8.30277, 0.0 ], [ 113.61997, -8.30258, 0.0 ], [ 113.6201, -8.30244, 0.0 ], [ 113.62025, -8.30229, 0.0 ], [ 113.62036, -8.30219, 0.0 ], [ 113.62041, -8.30214, 0.0 ], [ 113.62058, -8.30198, 0.0 ], [ 113.62073, -8.30182, 0.0 ], [ 113.6215, -8.30112, 0.0 ], [ 113.62181, -8.30083, 0.0 ], [ 113.62211, -8.30055, 0.0 ], [ 113.6224, -8.30029, 0.0 ], [ 113.62263, -8.30008, 0.0 ], [ 113.62351, -8.29926, 0.0 ], [ 113.62377, -8.29902, 0.0 ], [ 113.62404, -8.29877, 0.0 ], [ 113.62437, -8.29846, 0.0 ], [ 113.62448, -8.29835, 0.0 ], [ 113.62475, -8.2981, 0.0 ], [ 113.62498, -8.29785, 0.0 ], [ 113.6251, -8.29772, 0.0 ], [ 113.62518, -8.29763, 0.0 ], [ 113.62573, -8.297, 0.0 ], [ 113.62633, -8.29633, 0.0 ], [ 113.62652, -8.29612, 0.0 ], [ 113.6267, -8.29593, 0.0 ], [ 113.62688, -8.29575, 0.0 ], [ 113.62691, -8.29572, 0.0 ], [ 113.62728, -8.29533, 0.0 ], [ 113.6273, -8.29532, 0.0 ], [ 113.62736, -8.29526, 0.0 ], [ 113.62762, -8.29497, 0.0 ], [ 113.62778, -8.2948, 0.0 ], [ 113.62791, -8.29466, 0.0 ], [ 113.62795, -8.29463, 0.0 ], [ 113.62818, -8.29434, 0.0 ], [ 113.62839, -8.29405, 0.0 ], [ 113.62843, -8.29401, 0.0 ], [ 113.62888, -8.29345, 0.0 ], [ 113.62916, -8.29308, 0.0 ], [ 113.62949, -8.29259, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "PJ4H+XP5, Krajan Utara, Kertonegoro, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.629492, -8.2925884, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PH5R+PXW, Kebun Sadeng, Kemuningsari Kidul, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.5925138, -8.290249, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MJW9+FJ8, Jl. Jember - Ambulu, Krajan Selatan, Kertonegoro, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6187945, -8.3040848, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PJ4H+XP5, Krajan Utara, Kertonegoro, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.629492, -8.2925884, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Kertonegoro - Seruni Krajan - Seruni Jatisari.geojson b/smart_cycling_api/import_queue/done/Kertonegoro - Seruni Krajan - Seruni Jatisari.geojson new file mode 100644 index 0000000..165426e --- /dev/null +++ b/smart_cycling_api/import_queue/done/Kertonegoro - Seruni Krajan - Seruni Jatisari.geojson @@ -0,0 +1,12 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari PJ3G+CGP, Krajan Tengah, Kertonegoro, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke PJ3G+CGP, Krajan Tengah, Kertonegoro, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari PJ3G+CGP, Krajan Tengah, Kertonegoro, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke PJ3G+CGP, Krajan Tengah, Kertonegoro, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.62633, -8.29633, 0.0 ], [ 113.6266, -8.2965, 0.0 ], [ 113.62703, -8.29673, 0.0 ], [ 113.62705, -8.29674, 0.0 ], [ 113.62735, -8.29687, 0.0 ], [ 113.62776, -8.29704, 0.0 ], [ 113.62781, -8.29706, 0.0 ], [ 113.62839, -8.29728, 0.0 ], [ 113.62842, -8.29729, 0.0 ], [ 113.62907, -8.29751, 0.0 ], [ 113.62911, -8.29752, 0.0 ], [ 113.62936, -8.29759, 0.0 ], [ 113.62969, -8.29769, 0.0 ], [ 113.62978, -8.29772, 0.0 ], [ 113.63001, -8.2978, 0.0 ], [ 113.63053, -8.29798, 0.0 ], [ 113.63054, -8.29798, 0.0 ], [ 113.63062, -8.29801, 0.0 ], [ 113.63134, -8.29826, 0.0 ], [ 113.6314, -8.29828, 0.0 ], [ 113.63155, -8.29834, 0.0 ], [ 113.6316, -8.29835, 0.0 ], [ 113.63192, -8.29847, 0.0 ], [ 113.63245, -8.29867, 0.0 ], [ 113.63262, -8.29874, 0.0 ], [ 113.63264, -8.29874, 0.0 ], [ 113.63305, -8.2989, 0.0 ], [ 113.63322, -8.29896, 0.0 ], [ 113.63333, -8.299, 0.0 ], [ 113.63347, -8.29905, 0.0 ], [ 113.63361, -8.2991, 0.0 ], [ 113.63364, -8.29911, 0.0 ], [ 113.63394, -8.29922, 0.0 ], [ 113.63459, -8.29947, 0.0 ], [ 113.63493, -8.29958, 0.0 ], [ 113.63526, -8.2997, 0.0 ], [ 113.63551, -8.29979, 0.0 ], [ 113.63554, -8.2998, 0.0 ], [ 113.63566, -8.29984, 0.0 ], [ 113.63578, -8.29989, 0.0 ], [ 113.63584, -8.2999, 0.0 ], [ 113.63599, -8.29994, 0.0 ], [ 113.63616, -8.29997, 0.0 ], [ 113.63639, -8.3, 0.0 ], [ 113.63679, -8.30004, 0.0 ], [ 113.63719, -8.30007, 0.0 ], [ 113.63738, -8.30008, 0.0 ], [ 113.63819, -8.30012, 0.0 ], [ 113.63923, -8.30015, 0.0 ], [ 113.63923, -8.30024, 0.0 ], [ 113.63922, -8.30037, 0.0 ], [ 113.63918, -8.30061, 0.0 ], [ 113.6391, -8.30112, 0.0 ], [ 113.63906, -8.30141, 0.0 ], [ 113.63905, -8.30152, 0.0 ], [ 113.63902, -8.30176, 0.0 ], [ 113.63901, -8.30186, 0.0 ], [ 113.639, -8.30192, 0.0 ], [ 113.63894, -8.30226, 0.0 ], [ 113.63886, -8.30254, 0.0 ], [ 113.63884, -8.30262, 0.0 ], [ 113.63882, -8.3027, 0.0 ], [ 113.63875, -8.30296, 0.0 ], [ 113.63875, -8.30298, 0.0 ], [ 113.63857, -8.30359, 0.0 ], [ 113.63856, -8.30361, 0.0 ], [ 113.63837, -8.30429, 0.0 ], [ 113.63833, -8.3044, 0.0 ], [ 113.63826, -8.30458, 0.0 ], [ 113.63819, -8.30476, 0.0 ], [ 113.63815, -8.30485, 0.0 ], [ 113.63805, -8.30513, 0.0 ], [ 113.63798, -8.30527, 0.0 ], [ 113.63789, -8.3055, 0.0 ], [ 113.63784, -8.30561, 0.0 ], [ 113.63754, -8.30617, 0.0 ], [ 113.63751, -8.30623, 0.0 ], [ 113.63749, -8.30626, 0.0 ], [ 113.63736, -8.3065, 0.0 ], [ 113.63725, -8.30672, 0.0 ], [ 113.6372, -8.30679, 0.0 ], [ 113.63699, -8.30714, 0.0 ], [ 113.63692, -8.30724, 0.0 ], [ 113.63672, -8.30756, 0.0 ], [ 113.63659, -8.30775, 0.0 ], [ 113.63639, -8.30803, 0.0 ], [ 113.63612, -8.30847, 0.0 ], [ 113.63608, -8.30853, 0.0 ], [ 113.63599, -8.30869, 0.0 ], [ 113.63597, -8.30873, 0.0 ], [ 113.6359, -8.30887, 0.0 ], [ 113.63585, -8.30901, 0.0 ], [ 113.63582, -8.30916, 0.0 ], [ 113.63579, -8.30931, 0.0 ], [ 113.63578, -8.3095, 0.0 ], [ 113.63576, -8.30983, 0.0 ], [ 113.63576, -8.3099, 0.0 ], [ 113.63575, -8.31004, 0.0 ], [ 113.63574, -8.3105, 0.0 ], [ 113.63572, -8.31091, 0.0 ], [ 113.63572, -8.31109, 0.0 ], [ 113.63571, -8.31131, 0.0 ], [ 113.63571, -8.31132, 0.0 ], [ 113.63568, -8.31181, 0.0 ], [ 113.63568, -8.31198, 0.0 ], [ 113.63567, -8.31211, 0.0 ], [ 113.63567, -8.3122, 0.0 ], [ 113.63564, -8.31272, 0.0 ], [ 113.63564, -8.31274, 0.0 ], [ 113.63563, -8.31284, 0.0 ], [ 113.63562, -8.31322, 0.0 ], [ 113.63559, -8.31353, 0.0 ], [ 113.63558, -8.3136, 0.0 ], [ 113.63556, -8.31381, 0.0 ], [ 113.63554, -8.31395, 0.0 ], [ 113.63547, -8.31453, 0.0 ], [ 113.63547, -8.31454, 0.0 ], [ 113.63544, -8.31482, 0.0 ], [ 113.63544, -8.31484, 0.0 ], [ 113.63543, -8.31509, 0.0 ], [ 113.63542, -8.31532, 0.0 ], [ 113.63541, -8.31541, 0.0 ], [ 113.63541, -8.3155, 0.0 ], [ 113.63516, -8.31549, 0.0 ], [ 113.6351, -8.31548, 0.0 ], [ 113.63501, -8.31547, 0.0 ], [ 113.63494, -8.31546, 0.0 ], [ 113.63488, -8.31545, 0.0 ], [ 113.63483, -8.31545, 0.0 ], [ 113.63468, -8.31543, 0.0 ], [ 113.63436, -8.31538, 0.0 ], [ 113.63427, -8.31537, 0.0 ], [ 113.63403, -8.31533, 0.0 ], [ 113.63396, -8.31532, 0.0 ], [ 113.63356, -8.31526, 0.0 ], [ 113.63354, -8.31526, 0.0 ], [ 113.63291, -8.31517, 0.0 ], [ 113.63286, -8.31516, 0.0 ], [ 113.63237, -8.31509, 0.0 ], [ 113.63224, -8.31507, 0.0 ], [ 113.6319, -8.31504, 0.0 ], [ 113.63159, -8.31502, 0.0 ], [ 113.6309, -8.31498, 0.0 ], [ 113.63034, -8.31495, 0.0 ], [ 113.62974, -8.3149, 0.0 ], [ 113.62872, -8.3148, 0.0 ], [ 113.62796, -8.31476, 0.0 ], [ 113.62779, -8.31475, 0.0 ], [ 113.62733, -8.31473, 0.0 ], [ 113.62688, -8.31472, 0.0 ], [ 113.62667, -8.31471, 0.0 ], [ 113.62662, -8.31471, 0.0 ], [ 113.62646, -8.31471, 0.0 ], [ 113.62633, -8.31469, 0.0 ], [ 113.62611, -8.31467, 0.0 ], [ 113.626, -8.31465, 0.0 ], [ 113.62583, -8.31463, 0.0 ], [ 113.62579, -8.31463, 0.0 ], [ 113.6257, -8.31462, 0.0 ], [ 113.62549, -8.31458, 0.0 ], [ 113.62531, -8.31455, 0.0 ], [ 113.62528, -8.31455, 0.0 ], [ 113.62521, -8.31454, 0.0 ], [ 113.62502, -8.3145, 0.0 ], [ 113.62495, -8.3145, 0.0 ], [ 113.62481, -8.31448, 0.0 ], [ 113.6246, -8.31445, 0.0 ], [ 113.62433, -8.31441, 0.0 ], [ 113.62416, -8.31439, 0.0 ], [ 113.62393, -8.31436, 0.0 ], [ 113.62375, -8.31433, 0.0 ], [ 113.62325, -8.31426, 0.0 ], [ 113.62317, -8.31425, 0.0 ], [ 113.62316, -8.31425, 0.0 ], [ 113.62249, -8.3142, 0.0 ], [ 113.62212, -8.31417, 0.0 ], [ 113.622, -8.31416, 0.0 ], [ 113.62194, -8.31415, 0.0 ], [ 113.62162, -8.31411, 0.0 ], [ 113.62142, -8.31408, 0.0 ], [ 113.62132, -8.31407, 0.0 ], [ 113.6208, -8.31397, 0.0 ], [ 113.6205, -8.3139, 0.0 ], [ 113.62042, -8.31389, 0.0 ], [ 113.61761, -8.31347, 0.0 ], [ 113.61721, -8.3134, 0.0 ], [ 113.61703, -8.31337, 0.0 ], [ 113.61637, -8.31326, 0.0 ], [ 113.61537, -8.31308, 0.0 ], [ 113.61468, -8.31294, 0.0 ], [ 113.61413, -8.31282, 0.0 ], [ 113.61438, -8.31236, 0.0 ], [ 113.6146, -8.31197, 0.0 ], [ 113.61478, -8.31165, 0.0 ], [ 113.61547, -8.31028, 0.0 ], [ 113.61582, -8.30962, 0.0 ], [ 113.61595, -8.30941, 0.0 ], [ 113.61625, -8.30887, 0.0 ], [ 113.61652, -8.30841, 0.0 ], [ 113.61661, -8.30826, 0.0 ], [ 113.61671, -8.30809, 0.0 ], [ 113.61672, -8.30807, 0.0 ], [ 113.61681, -8.30792, 0.0 ], [ 113.61718, -8.30731, 0.0 ], [ 113.61742, -8.30691, 0.0 ], [ 113.61774, -8.30636, 0.0 ], [ 113.61793, -8.30599, 0.0 ], [ 113.61826, -8.30537, 0.0 ], [ 113.61839, -8.30513, 0.0 ], [ 113.61896, -8.30416, 0.0 ], [ 113.61907, -8.30398, 0.0 ], [ 113.61936, -8.3035, 0.0 ], [ 113.6195, -8.30327, 0.0 ], [ 113.61967, -8.303, 0.0 ], [ 113.61982, -8.30277, 0.0 ], [ 113.61997, -8.30258, 0.0 ], [ 113.6201, -8.30244, 0.0 ], [ 113.62025, -8.30229, 0.0 ], [ 113.62036, -8.30219, 0.0 ], [ 113.62041, -8.30214, 0.0 ], [ 113.62058, -8.30198, 0.0 ], [ 113.62073, -8.30182, 0.0 ], [ 113.6215, -8.30112, 0.0 ], [ 113.62181, -8.30083, 0.0 ], [ 113.62211, -8.30055, 0.0 ], [ 113.6224, -8.30029, 0.0 ], [ 113.62263, -8.30008, 0.0 ], [ 113.62351, -8.29926, 0.0 ], [ 113.62377, -8.29902, 0.0 ], [ 113.62404, -8.29877, 0.0 ], [ 113.62437, -8.29846, 0.0 ], [ 113.62448, -8.29835, 0.0 ], [ 113.62475, -8.2981, 0.0 ], [ 113.62498, -8.29785, 0.0 ], [ 113.6251, -8.29772, 0.0 ], [ 113.62518, -8.29763, 0.0 ], [ 113.62573, -8.297, 0.0 ], [ 113.62633, -8.29633, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "PJ3G+CGP, Krajan Tengah, Kertonegoro, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6263282, -8.2963331, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MJMM+VCQ, Krajan, Jatisari, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6335555, -8.3152638, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MJP7+RHH, Jl. Kopral Soetomo, Sentong, Karanganyar, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6141284, -8.3128226, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PJ3G+CGP, Krajan Tengah, Kertonegoro, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6263282, -8.2963331, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Kota Blater.geojson b/smart_cycling_api/import_queue/done/Kota Blater.geojson new file mode 100644 index 0000000..abe580c --- /dev/null +++ b/smart_cycling_api/import_queue/done/Kota Blater.geojson @@ -0,0 +1,13 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari JMG6+4GC, Jl. Kota Blater, Karang Templek, Andongsari, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia ke JMG6+4GC, Jl. Kota Blater, Karang Templek, Andongsari, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari JMG6+4GC, Jl. Kota Blater, Karang Templek, Andongsari, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia ke JMG6+4GC, Jl. Kota Blater, Karang Templek, Andongsari, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.66116, -8.37463, 0.0 ], [ 113.6613, -8.375, 0.0 ], [ 113.66136, -8.37519, 0.0 ], [ 113.66152, -8.37565, 0.0 ], [ 113.66156, -8.3758, 0.0 ], [ 113.6607, -8.37592, 0.0 ], [ 113.66029, -8.37596, 0.0 ], [ 113.65942, -8.37606, 0.0 ], [ 113.65935, -8.37606, 0.0 ], [ 113.6591, -8.37609, 0.0 ], [ 113.65899, -8.3761, 0.0 ], [ 113.65895, -8.37611, 0.0 ], [ 113.65893, -8.37611, 0.0 ], [ 113.65891, -8.37612, 0.0 ], [ 113.65889, -8.37614, 0.0 ], [ 113.65888, -8.37616, 0.0 ], [ 113.65888, -8.37619, 0.0 ], [ 113.65888, -8.37622, 0.0 ], [ 113.65888, -8.37626, 0.0 ], [ 113.65889, -8.3763, 0.0 ], [ 113.65889, -8.37636, 0.0 ], [ 113.65891, -8.37647, 0.0 ], [ 113.65896, -8.37697, 0.0 ], [ 113.65902, -8.37754, 0.0 ], [ 113.65904, -8.37778, 0.0 ], [ 113.65905, -8.3779, 0.0 ], [ 113.65906, -8.37793, 0.0 ], [ 113.65912, -8.37875, 0.0 ], [ 113.65918, -8.37967, 0.0 ], [ 113.65918, -8.3797, 0.0 ], [ 113.6595, -8.37968, 0.0 ], [ 113.66038, -8.37963, 0.0 ], [ 113.66059, -8.37961, 0.0 ], [ 113.66117, -8.37958, 0.0 ], [ 113.66144, -8.37957, 0.0 ], [ 113.66203, -8.37955, 0.0 ], [ 113.66205, -8.37969, 0.0 ], [ 113.66246, -8.37967, 0.0 ], [ 113.66256, -8.37967, 0.0 ], [ 113.66338, -8.37963, 0.0 ], [ 113.66413, -8.37959, 0.0 ], [ 113.66406, -8.37875, 0.0 ], [ 113.664, -8.37788, 0.0 ], [ 113.66399, -8.37773, 0.0 ], [ 113.66397, -8.37755, 0.0 ], [ 113.66395, -8.37724, 0.0 ], [ 113.66392, -8.37694, 0.0 ], [ 113.6639, -8.37677, 0.0 ], [ 113.66388, -8.37665, 0.0 ], [ 113.66387, -8.37654, 0.0 ], [ 113.66385, -8.37641, 0.0 ], [ 113.66384, -8.37634, 0.0 ], [ 113.66383, -8.37629, 0.0 ], [ 113.66382, -8.37624, 0.0 ], [ 113.66381, -8.3762, 0.0 ], [ 113.6638, -8.37615, 0.0 ], [ 113.66379, -8.37612, 0.0 ], [ 113.66378, -8.37609, 0.0 ], [ 113.66376, -8.37602, 0.0 ], [ 113.66374, -8.37596, 0.0 ], [ 113.66374, -8.37595, 0.0 ], [ 113.6637, -8.37583, 0.0 ], [ 113.66368, -8.37578, 0.0 ], [ 113.66365, -8.37569, 0.0 ], [ 113.66362, -8.37558, 0.0 ], [ 113.6636, -8.37549, 0.0 ], [ 113.66358, -8.37543, 0.0 ], [ 113.66356, -8.37536, 0.0 ], [ 113.66353, -8.37525, 0.0 ], [ 113.66348, -8.37509, 0.0 ], [ 113.66347, -8.37508, 0.0 ], [ 113.66343, -8.37495, 0.0 ], [ 113.66339, -8.37485, 0.0 ], [ 113.66336, -8.37476, 0.0 ], [ 113.66334, -8.37468, 0.0 ], [ 113.66329, -8.37458, 0.0 ], [ 113.6628, -8.37459, 0.0 ], [ 113.66219, -8.37459, 0.0 ], [ 113.66196, -8.3746, 0.0 ], [ 113.66167, -8.37461, 0.0 ], [ 113.66144, -8.37462, 0.0 ], [ 113.66116, -8.37463, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "JMG6+4GC, Jl. Kota Blater, Karang Templek, Andongsari, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.661161, -8.3746333, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JMC5+MJR, Jl. Kota Blater, Karang Templek, Andongsari, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6590408, -8.3777811, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JMC5+3PW, Jl. Kota Blater, Karang Templek, Andongsari, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6591825, -8.3796694, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JMC7+6C3, Karang Templek, Andongsari, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6641315, -8.3795888, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JMG6+4GC, Jl. Kota Blater, Karang Templek, Andongsari, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.661161, -8.3746333, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Lampu Merah Ambulu - Pertigaan Kota Blater.geojson b/smart_cycling_api/import_queue/done/Lampu Merah Ambulu - Pertigaan Kota Blater.geojson new file mode 100644 index 0000000..1224b85 --- /dev/null +++ b/smart_cycling_api/import_queue/done/Lampu Merah Ambulu - Pertigaan Kota Blater.geojson @@ -0,0 +1,10 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari MJ24+X7V, Krajan, Ambulu, Kec. Ambulu, Kabupaten Jember, Jawa Timur, Indonesia ke JMH6+332, Karang Templek, Andongsari, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari MJ24+X7V, Krajan, Ambulu, Kec. Ambulu, Kabupaten Jember, Jawa Timur, Indonesia ke JMH6+332, Karang Templek, Andongsari, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.60568, -8.34748, 0.0 ], [ 113.60571, -8.34749, 0.0 ], [ 113.60662, -8.3477, 0.0 ], [ 113.60704, -8.34779, 0.0 ], [ 113.60744, -8.34791, 0.0 ], [ 113.60781, -8.348, 0.0 ], [ 113.60796, -8.34804, 0.0 ], [ 113.60863, -8.34819, 0.0 ], [ 113.60866, -8.3482, 0.0 ], [ 113.609, -8.34826, 0.0 ], [ 113.60918, -8.34831, 0.0 ], [ 113.60938, -8.34836, 0.0 ], [ 113.60986, -8.34849, 0.0 ], [ 113.61001, -8.34854, 0.0 ], [ 113.61005, -8.34855, 0.0 ], [ 113.61018, -8.34859, 0.0 ], [ 113.61022, -8.3486, 0.0 ], [ 113.61068, -8.34875, 0.0 ], [ 113.61076, -8.34878, 0.0 ], [ 113.61138, -8.34896, 0.0 ], [ 113.61142, -8.34897, 0.0 ], [ 113.61177, -8.34907, 0.0 ], [ 113.61182, -8.34909, 0.0 ], [ 113.61244, -8.34927, 0.0 ], [ 113.61248, -8.34929, 0.0 ], [ 113.6127, -8.34935, 0.0 ], [ 113.61275, -8.34937, 0.0 ], [ 113.61284, -8.3494, 0.0 ], [ 113.61294, -8.34944, 0.0 ], [ 113.61307, -8.34949, 0.0 ], [ 113.61345, -8.34964, 0.0 ], [ 113.61348, -8.34965, 0.0 ], [ 113.6137, -8.34974, 0.0 ], [ 113.61381, -8.3498, 0.0 ], [ 113.614, -8.3499, 0.0 ], [ 113.61412, -8.34996, 0.0 ], [ 113.61423, -8.35002, 0.0 ], [ 113.61427, -8.35004, 0.0 ], [ 113.61433, -8.35008, 0.0 ], [ 113.61444, -8.35015, 0.0 ], [ 113.61453, -8.35022, 0.0 ], [ 113.61461, -8.35029, 0.0 ], [ 113.61472, -8.3504, 0.0 ], [ 113.61473, -8.35041, 0.0 ], [ 113.61482, -8.35053, 0.0 ], [ 113.61508, -8.35089, 0.0 ], [ 113.61518, -8.35104, 0.0 ], [ 113.61524, -8.35114, 0.0 ], [ 113.61532, -8.35131, 0.0 ], [ 113.61538, -8.35138, 0.0 ], [ 113.61549, -8.35148, 0.0 ], [ 113.61558, -8.35155, 0.0 ], [ 113.616, -8.35183, 0.0 ], [ 113.61668, -8.35227, 0.0 ], [ 113.61785, -8.35301, 0.0 ], [ 113.61822, -8.35324, 0.0 ], [ 113.61842, -8.35338, 0.0 ], [ 113.61865, -8.35356, 0.0 ], [ 113.61887, -8.35375, 0.0 ], [ 113.61954, -8.35433, 0.0 ], [ 113.61956, -8.35435, 0.0 ], [ 113.61969, -8.35447, 0.0 ], [ 113.6199, -8.35466, 0.0 ], [ 113.62004, -8.35481, 0.0 ], [ 113.62011, -8.35489, 0.0 ], [ 113.6202, -8.35501, 0.0 ], [ 113.62058, -8.35551, 0.0 ], [ 113.62069, -8.35565, 0.0 ], [ 113.62072, -8.35569, 0.0 ], [ 113.62128, -8.35641, 0.0 ], [ 113.6215, -8.35668, 0.0 ], [ 113.6219, -8.35711, 0.0 ], [ 113.62227, -8.35748, 0.0 ], [ 113.62253, -8.35778, 0.0 ], [ 113.62262, -8.3579, 0.0 ], [ 113.62273, -8.35803, 0.0 ], [ 113.62291, -8.35823, 0.0 ], [ 113.62307, -8.3584, 0.0 ], [ 113.62314, -8.35848, 0.0 ], [ 113.62341, -8.35873, 0.0 ], [ 113.62359, -8.35888, 0.0 ], [ 113.62371, -8.35896, 0.0 ], [ 113.62409, -8.35918, 0.0 ], [ 113.62417, -8.35922, 0.0 ], [ 113.6251, -8.35964, 0.0 ], [ 113.62606, -8.3601, 0.0 ], [ 113.62621, -8.36015, 0.0 ], [ 113.62769, -8.36077, 0.0 ], [ 113.62782, -8.36083, 0.0 ], [ 113.62783, -8.36083, 0.0 ], [ 113.62821, -8.36098, 0.0 ], [ 113.62836, -8.36104, 0.0 ], [ 113.62909, -8.36133, 0.0 ], [ 113.62968, -8.36157, 0.0 ], [ 113.63033, -8.36182, 0.0 ], [ 113.63082, -8.362, 0.0 ], [ 113.63135, -8.3622, 0.0 ], [ 113.63255, -8.36263, 0.0 ], [ 113.63303, -8.36279, 0.0 ], [ 113.63412, -8.36315, 0.0 ], [ 113.63439, -8.36322, 0.0 ], [ 113.63494, -8.36341, 0.0 ], [ 113.635, -8.36342, 0.0 ], [ 113.63529, -8.3635, 0.0 ], [ 113.63582, -8.36365, 0.0 ], [ 113.63585, -8.36365, 0.0 ], [ 113.63611, -8.36371, 0.0 ], [ 113.63643, -8.36377, 0.0 ], [ 113.63682, -8.36385, 0.0 ], [ 113.63737, -8.36397, 0.0 ], [ 113.63814, -8.36413, 0.0 ], [ 113.63837, -8.36418, 0.0 ], [ 113.63855, -8.36419, 0.0 ], [ 113.63961, -8.3644, 0.0 ], [ 113.64033, -8.36453, 0.0 ], [ 113.64076, -8.3646, 0.0 ], [ 113.64096, -8.36463, 0.0 ], [ 113.64159, -8.36476, 0.0 ], [ 113.64207, -8.36485, 0.0 ], [ 113.64218, -8.36487, 0.0 ], [ 113.64292, -8.36497, 0.0 ], [ 113.64328, -8.36504, 0.0 ], [ 113.64337, -8.36505, 0.0 ], [ 113.6437, -8.36513, 0.0 ], [ 113.64381, -8.36515, 0.0 ], [ 113.64392, -8.36516, 0.0 ], [ 113.6441, -8.36519, 0.0 ], [ 113.64412, -8.36519, 0.0 ], [ 113.64415, -8.3652, 0.0 ], [ 113.64535, -8.3654, 0.0 ], [ 113.64557, -8.36543, 0.0 ], [ 113.64593, -8.36549, 0.0 ], [ 113.64612, -8.36552, 0.0 ], [ 113.64701, -8.36565, 0.0 ], [ 113.64716, -8.36567, 0.0 ], [ 113.64726, -8.36569, 0.0 ], [ 113.64731, -8.3657, 0.0 ], [ 113.64778, -8.36577, 0.0 ], [ 113.64898, -8.36589, 0.0 ], [ 113.64908, -8.36592, 0.0 ], [ 113.64972, -8.36597, 0.0 ], [ 113.65003, -8.36601, 0.0 ], [ 113.65027, -8.36604, 0.0 ], [ 113.6504, -8.36606, 0.0 ], [ 113.65057, -8.36607, 0.0 ], [ 113.65071, -8.36608, 0.0 ], [ 113.65105, -8.36615, 0.0 ], [ 113.65134, -8.36621, 0.0 ], [ 113.65139, -8.36622, 0.0 ], [ 113.65153, -8.36626, 0.0 ], [ 113.65166, -8.36629, 0.0 ], [ 113.65179, -8.36633, 0.0 ], [ 113.65192, -8.36638, 0.0 ], [ 113.65234, -8.36656, 0.0 ], [ 113.65285, -8.36681, 0.0 ], [ 113.653, -8.36689, 0.0 ], [ 113.6532, -8.367, 0.0 ], [ 113.65383, -8.36734, 0.0 ], [ 113.65389, -8.36736, 0.0 ], [ 113.65467, -8.36777, 0.0 ], [ 113.65547, -8.36823, 0.0 ], [ 113.65593, -8.3685, 0.0 ], [ 113.65632, -8.36875, 0.0 ], [ 113.65659, -8.36893, 0.0 ], [ 113.65696, -8.36917, 0.0 ], [ 113.65701, -8.36921, 0.0 ], [ 113.65706, -8.36924, 0.0 ], [ 113.65711, -8.36928, 0.0 ], [ 113.65763, -8.36962, 0.0 ], [ 113.65795, -8.36984, 0.0 ], [ 113.65833, -8.37011, 0.0 ], [ 113.65849, -8.37021, 0.0 ], [ 113.65863, -8.37031, 0.0 ], [ 113.65877, -8.37042, 0.0 ], [ 113.6589, -8.37052, 0.0 ], [ 113.659, -8.3706, 0.0 ], [ 113.65906, -8.37066, 0.0 ], [ 113.65914, -8.37073, 0.0 ], [ 113.6592, -8.37081, 0.0 ], [ 113.65922, -8.37084, 0.0 ], [ 113.65934, -8.37098, 0.0 ], [ 113.65948, -8.37117, 0.0 ], [ 113.66022, -8.37235, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "MJ24+X7V, Krajan, Ambulu, Kec. Ambulu, Kabupaten Jember, Jawa Timur, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6056837, -8.3474818, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JMH6+332, Karang Templek, Andongsari, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6602245, -8.3723538, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Mangaran - Jenggawah.geojson b/smart_cycling_api/import_queue/done/Mangaran - Jenggawah.geojson new file mode 100644 index 0000000..3a1ff77 --- /dev/null +++ b/smart_cycling_api/import_queue/done/Mangaran - Jenggawah.geojson @@ -0,0 +1,12 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari PJHW+HC2, Jl. Kawi, Bringan Lawang, Wonojati, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke PJHW+HC2, Jl. Kawi, Bringan Lawang, Wonojati, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari PJHW+HC2, Jl. Kawi, Bringan Lawang, Wonojati, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke PJHW+HC2, Jl. Kawi, Bringan Lawang, Wonojati, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.64602, -8.27126, 0.0 ], [ 113.64597, -8.27123, 0.0 ], [ 113.64581, -8.27115, 0.0 ], [ 113.64558, -8.27103, 0.0 ], [ 113.64549, -8.27098, 0.0 ], [ 113.64514, -8.2708, 0.0 ], [ 113.64507, -8.27077, 0.0 ], [ 113.64486, -8.27066, 0.0 ], [ 113.64449, -8.27048, 0.0 ], [ 113.64444, -8.27045, 0.0 ], [ 113.64419, -8.27034, 0.0 ], [ 113.64412, -8.27031, 0.0 ], [ 113.64386, -8.27022, 0.0 ], [ 113.64369, -8.27016, 0.0 ], [ 113.64357, -8.27012, 0.0 ], [ 113.64288, -8.26991, 0.0 ], [ 113.6425, -8.26979, 0.0 ], [ 113.64247, -8.26978, 0.0 ], [ 113.64218, -8.2697, 0.0 ], [ 113.64141, -8.26946, 0.0 ], [ 113.64126, -8.26942, 0.0 ], [ 113.64113, -8.26938, 0.0 ], [ 113.64096, -8.26932, 0.0 ], [ 113.64093, -8.26931, 0.0 ], [ 113.64082, -8.26926, 0.0 ], [ 113.64065, -8.26917, 0.0 ], [ 113.64047, -8.26907, 0.0 ], [ 113.64024, -8.26894, 0.0 ], [ 113.64031, -8.26877, 0.0 ], [ 113.64039, -8.2686, 0.0 ], [ 113.64047, -8.26839, 0.0 ], [ 113.6405, -8.26829, 0.0 ], [ 113.64063, -8.2679, 0.0 ], [ 113.64071, -8.26763, 0.0 ], [ 113.63964, -8.26728, 0.0 ], [ 113.63929, -8.26717, 0.0 ], [ 113.63912, -8.26711, 0.0 ], [ 113.63895, -8.26705, 0.0 ], [ 113.63909, -8.26663, 0.0 ], [ 113.63919, -8.26629, 0.0 ], [ 113.63926, -8.26611, 0.0 ], [ 113.63928, -8.26601, 0.0 ], [ 113.63925, -8.26562, 0.0 ], [ 113.63923, -8.26545, 0.0 ], [ 113.63867, -8.26549, 0.0 ], [ 113.63772, -8.26558, 0.0 ], [ 113.63739, -8.26559, 0.0 ], [ 113.63708, -8.2656, 0.0 ], [ 113.63688, -8.2656, 0.0 ], [ 113.63625, -8.26568, 0.0 ], [ 113.63533, -8.26587, 0.0 ], [ 113.63493, -8.26592, 0.0 ], [ 113.63472, -8.26595, 0.0 ], [ 113.63436, -8.266, 0.0 ], [ 113.63399, -8.26603, 0.0 ], [ 113.63379, -8.26601, 0.0 ], [ 113.63374, -8.26601, 0.0 ], [ 113.63366, -8.266, 0.0 ], [ 113.63357, -8.26599, 0.0 ], [ 113.63352, -8.26599, 0.0 ], [ 113.63328, -8.26596, 0.0 ], [ 113.63304, -8.26592, 0.0 ], [ 113.6328, -8.26584, 0.0 ], [ 113.63268, -8.26579, 0.0 ], [ 113.63251, -8.26575, 0.0 ], [ 113.63229, -8.2657, 0.0 ], [ 113.63216, -8.26567, 0.0 ], [ 113.63205, -8.26565, 0.0 ], [ 113.63204, -8.26565, 0.0 ], [ 113.63189, -8.26564, 0.0 ], [ 113.63175, -8.26564, 0.0 ], [ 113.63151, -8.26568, 0.0 ], [ 113.63117, -8.26575, 0.0 ], [ 113.63111, -8.26577, 0.0 ], [ 113.63085, -8.26583, 0.0 ], [ 113.63042, -8.26592, 0.0 ], [ 113.63002, -8.26595, 0.0 ], [ 113.62978, -8.26592, 0.0 ], [ 113.62924, -8.26586, 0.0 ], [ 113.62903, -8.26585, 0.0 ], [ 113.6286, -8.26584, 0.0 ], [ 113.6279, -8.26587, 0.0 ], [ 113.6277, -8.26587, 0.0 ], [ 113.62759, -8.26587, 0.0 ], [ 113.62744, -8.26585, 0.0 ], [ 113.62716, -8.26581, 0.0 ], [ 113.62712, -8.2658, 0.0 ], [ 113.62698, -8.26577, 0.0 ], [ 113.62663, -8.26569, 0.0 ], [ 113.62651, -8.26566, 0.0 ], [ 113.62568, -8.26553, 0.0 ], [ 113.62509, -8.26546, 0.0 ], [ 113.62496, -8.26545, 0.0 ], [ 113.62497, -8.26577, 0.0 ], [ 113.62497, -8.26647, 0.0 ], [ 113.62499, -8.26705, 0.0 ], [ 113.625, -8.26735, 0.0 ], [ 113.62494, -8.26736, 0.0 ], [ 113.62446, -8.26736, 0.0 ], [ 113.62418, -8.26735, 0.0 ], [ 113.62415, -8.26735, 0.0 ], [ 113.62356, -8.26733, 0.0 ], [ 113.62328, -8.26732, 0.0 ], [ 113.62293, -8.2673, 0.0 ], [ 113.62149, -8.26725, 0.0 ], [ 113.62146, -8.2677, 0.0 ], [ 113.62146, -8.26823, 0.0 ], [ 113.62146, -8.26835, 0.0 ], [ 113.62145, -8.26852, 0.0 ], [ 113.62144, -8.2688, 0.0 ], [ 113.62143, -8.26884, 0.0 ], [ 113.62141, -8.26887, 0.0 ], [ 113.62141, -8.26889, 0.0 ], [ 113.6214, -8.26891, 0.0 ], [ 113.62139, -8.26892, 0.0 ], [ 113.62137, -8.26894, 0.0 ], [ 113.62136, -8.26896, 0.0 ], [ 113.62133, -8.26897, 0.0 ], [ 113.62131, -8.26898, 0.0 ], [ 113.62128, -8.26899, 0.0 ], [ 113.62127, -8.26899, 0.0 ], [ 113.62125, -8.269, 0.0 ], [ 113.62116, -8.269, 0.0 ], [ 113.62109, -8.269, 0.0 ], [ 113.62104, -8.269, 0.0 ], [ 113.62064, -8.26899, 0.0 ], [ 113.62055, -8.26899, 0.0 ], [ 113.62028, -8.26899, 0.0 ], [ 113.61994, -8.26899, 0.0 ], [ 113.61982, -8.26898, 0.0 ], [ 113.61976, -8.26898, 0.0 ], [ 113.61964, -8.26898, 0.0 ], [ 113.61948, -8.26897, 0.0 ], [ 113.61927, -8.26897, 0.0 ], [ 113.61925, -8.26897, 0.0 ], [ 113.61909, -8.26896, 0.0 ], [ 113.61903, -8.26896, 0.0 ], [ 113.61883, -8.26896, 0.0 ], [ 113.61857, -8.26894, 0.0 ], [ 113.61834, -8.26893, 0.0 ], [ 113.61811, -8.26892, 0.0 ], [ 113.61793, -8.26891, 0.0 ], [ 113.61782, -8.2689, 0.0 ], [ 113.61777, -8.2689, 0.0 ], [ 113.61773, -8.2689, 0.0 ], [ 113.61771, -8.26891, 0.0 ], [ 113.61768, -8.26892, 0.0 ], [ 113.61767, -8.26894, 0.0 ], [ 113.61766, -8.26896, 0.0 ], [ 113.61765, -8.26898, 0.0 ], [ 113.61765, -8.26901, 0.0 ], [ 113.61765, -8.26907, 0.0 ], [ 113.61763, -8.26943, 0.0 ], [ 113.61763, -8.26949, 0.0 ], [ 113.61763, -8.26967, 0.0 ], [ 113.61762, -8.26985, 0.0 ], [ 113.61762, -8.27003, 0.0 ], [ 113.61762, -8.27016, 0.0 ], [ 113.6176, -8.27075, 0.0 ], [ 113.6176, -8.27081, 0.0 ], [ 113.61758, -8.27158, 0.0 ], [ 113.61758, -8.27168, 0.0 ], [ 113.61756, -8.27173, 0.0 ], [ 113.61755, -8.27177, 0.0 ], [ 113.61751, -8.27179, 0.0 ], [ 113.61747, -8.27181, 0.0 ], [ 113.61742, -8.27181, 0.0 ], [ 113.61738, -8.27181, 0.0 ], [ 113.61732, -8.27181, 0.0 ], [ 113.61724, -8.27181, 0.0 ], [ 113.61664, -8.2718, 0.0 ], [ 113.61587, -8.27178, 0.0 ], [ 113.61495, -8.27175, 0.0 ], [ 113.61492, -8.27226, 0.0 ], [ 113.6149, -8.27247, 0.0 ], [ 113.61489, -8.27254, 0.0 ], [ 113.61486, -8.27287, 0.0 ], [ 113.61485, -8.27298, 0.0 ], [ 113.61478, -8.27369, 0.0 ], [ 113.61475, -8.27397, 0.0 ], [ 113.61474, -8.27405, 0.0 ], [ 113.61473, -8.27423, 0.0 ], [ 113.61473, -8.27425, 0.0 ], [ 113.61474, -8.2743, 0.0 ], [ 113.61474, -8.27434, 0.0 ], [ 113.61473, -8.27439, 0.0 ], [ 113.61472, -8.27441, 0.0 ], [ 113.61471, -8.27442, 0.0 ], [ 113.6147, -8.27444, 0.0 ], [ 113.61466, -8.27445, 0.0 ], [ 113.61462, -8.27447, 0.0 ], [ 113.61456, -8.27448, 0.0 ], [ 113.61367, -8.27463, 0.0 ], [ 113.61307, -8.27477, 0.0 ], [ 113.61286, -8.27482, 0.0 ], [ 113.61293, -8.27596, 0.0 ], [ 113.61291, -8.27621, 0.0 ], [ 113.61285, -8.27711, 0.0 ], [ 113.6128, -8.27798, 0.0 ], [ 113.61279, -8.27804, 0.0 ], [ 113.61277, -8.27845, 0.0 ], [ 113.61276, -8.27851, 0.0 ], [ 113.61271, -8.27918, 0.0 ], [ 113.61271, -8.27921, 0.0 ], [ 113.61269, -8.27933, 0.0 ], [ 113.61269, -8.27938, 0.0 ], [ 113.6127, -8.27941, 0.0 ], [ 113.61271, -8.27951, 0.0 ], [ 113.61272, -8.27957, 0.0 ], [ 113.61272, -8.27963, 0.0 ], [ 113.61272, -8.27968, 0.0 ], [ 113.61272, -8.27971, 0.0 ], [ 113.61268, -8.27985, 0.0 ], [ 113.6126, -8.2801, 0.0 ], [ 113.61246, -8.28058, 0.0 ], [ 113.6124, -8.28089, 0.0 ], [ 113.61233, -8.28121, 0.0 ], [ 113.61231, -8.28129, 0.0 ], [ 113.61224, -8.28165, 0.0 ], [ 113.61223, -8.28167, 0.0 ], [ 113.61216, -8.28216, 0.0 ], [ 113.61215, -8.28231, 0.0 ], [ 113.61215, -8.28252, 0.0 ], [ 113.61215, -8.28258, 0.0 ], [ 113.61215, -8.28274, 0.0 ], [ 113.61215, -8.2828, 0.0 ], [ 113.61214, -8.28312, 0.0 ], [ 113.61213, -8.28332, 0.0 ], [ 113.61212, -8.28355, 0.0 ], [ 113.61212, -8.28356, 0.0 ], [ 113.61205, -8.28407, 0.0 ], [ 113.61197, -8.28453, 0.0 ], [ 113.61196, -8.2846, 0.0 ], [ 113.61192, -8.28477, 0.0 ], [ 113.61182, -8.28521, 0.0 ], [ 113.61165, -8.28582, 0.0 ], [ 113.61179, -8.28587, 0.0 ], [ 113.61221, -8.28605, 0.0 ], [ 113.61245, -8.28613, 0.0 ], [ 113.61285, -8.28625, 0.0 ], [ 113.61343, -8.2864, 0.0 ], [ 113.61388, -8.28652, 0.0 ], [ 113.61426, -8.28663, 0.0 ], [ 113.61445, -8.28669, 0.0 ], [ 113.61471, -8.28681, 0.0 ], [ 113.61481, -8.28687, 0.0 ], [ 113.61493, -8.28694, 0.0 ], [ 113.61508, -8.28705, 0.0 ], [ 113.61517, -8.28712, 0.0 ], [ 113.6152, -8.28714, 0.0 ], [ 113.61532, -8.28721, 0.0 ], [ 113.61548, -8.2873, 0.0 ], [ 113.61568, -8.2874, 0.0 ], [ 113.61585, -8.28749, 0.0 ], [ 113.61609, -8.2876, 0.0 ], [ 113.61623, -8.28763, 0.0 ], [ 113.61628, -8.28762, 0.0 ], [ 113.61645, -8.28761, 0.0 ], [ 113.6168, -8.28759, 0.0 ], [ 113.61706, -8.28757, 0.0 ], [ 113.6172, -8.28757, 0.0 ], [ 113.61728, -8.28756, 0.0 ], [ 113.61768, -8.28751, 0.0 ], [ 113.61815, -8.28739, 0.0 ], [ 113.61853, -8.28727, 0.0 ], [ 113.61872, -8.28721, 0.0 ], [ 113.61885, -8.28719, 0.0 ], [ 113.6189, -8.28718, 0.0 ], [ 113.61907, -8.28715, 0.0 ], [ 113.61945, -8.28715, 0.0 ], [ 113.61978, -8.28716, 0.0 ], [ 113.6202, -8.28721, 0.0 ], [ 113.6203, -8.28722, 0.0 ], [ 113.62072, -8.28726, 0.0 ], [ 113.62093, -8.2873, 0.0 ], [ 113.62124, -8.28735, 0.0 ], [ 113.62198, -8.2875, 0.0 ], [ 113.62255, -8.28763, 0.0 ], [ 113.62265, -8.28771, 0.0 ], [ 113.62256, -8.28788, 0.0 ], [ 113.62248, -8.28806, 0.0 ], [ 113.62245, -8.28812, 0.0 ], [ 113.62245, -8.28815, 0.0 ], [ 113.62245, -8.28818, 0.0 ], [ 113.62245, -8.28821, 0.0 ], [ 113.62247, -8.28825, 0.0 ], [ 113.62249, -8.28828, 0.0 ], [ 113.62338, -8.28888, 0.0 ], [ 113.62388, -8.28922, 0.0 ], [ 113.62391, -8.28924, 0.0 ], [ 113.62414, -8.28941, 0.0 ], [ 113.62415, -8.28941, 0.0 ], [ 113.62446, -8.28962, 0.0 ], [ 113.62494, -8.28995, 0.0 ], [ 113.6252, -8.29011, 0.0 ], [ 113.62523, -8.29013, 0.0 ], [ 113.62551, -8.2903, 0.0 ], [ 113.62585, -8.2905, 0.0 ], [ 113.6259, -8.29053, 0.0 ], [ 113.62598, -8.29058, 0.0 ], [ 113.62618, -8.29069, 0.0 ], [ 113.62637, -8.29081, 0.0 ], [ 113.62681, -8.29106, 0.0 ], [ 113.62683, -8.29107, 0.0 ], [ 113.6271, -8.29122, 0.0 ], [ 113.62731, -8.29134, 0.0 ], [ 113.6281, -8.2918, 0.0 ], [ 113.62831, -8.29192, 0.0 ], [ 113.62908, -8.29236, 0.0 ], [ 113.62949, -8.29259, 0.0 ], [ 113.62965, -8.29234, 0.0 ], [ 113.62986, -8.29202, 0.0 ], [ 113.63, -8.29183, 0.0 ], [ 113.63009, -8.29172, 0.0 ], [ 113.63028, -8.29148, 0.0 ], [ 113.6303, -8.29145, 0.0 ], [ 113.63036, -8.29138, 0.0 ], [ 113.63046, -8.29126, 0.0 ], [ 113.63053, -8.2912, 0.0 ], [ 113.63063, -8.29108, 0.0 ], [ 113.63069, -8.29103, 0.0 ], [ 113.63077, -8.29095, 0.0 ], [ 113.63093, -8.2908, 0.0 ], [ 113.63128, -8.29054, 0.0 ], [ 113.6314, -8.29046, 0.0 ], [ 113.63164, -8.2903, 0.0 ], [ 113.63168, -8.29027, 0.0 ], [ 113.63199, -8.29007, 0.0 ], [ 113.63201, -8.29005, 0.0 ], [ 113.63223, -8.28991, 0.0 ], [ 113.6325, -8.28972, 0.0 ], [ 113.63258, -8.28966, 0.0 ], [ 113.63285, -8.28943, 0.0 ], [ 113.63301, -8.28929, 0.0 ], [ 113.63322, -8.2891, 0.0 ], [ 113.63324, -8.28908, 0.0 ], [ 113.63354, -8.28883, 0.0 ], [ 113.6338, -8.2886, 0.0 ], [ 113.63399, -8.28843, 0.0 ], [ 113.63409, -8.28831, 0.0 ], [ 113.6342, -8.28816, 0.0 ], [ 113.63421, -8.28815, 0.0 ], [ 113.63423, -8.28813, 0.0 ], [ 113.63428, -8.28803, 0.0 ], [ 113.63436, -8.28787, 0.0 ], [ 113.63445, -8.28764, 0.0 ], [ 113.63456, -8.28727, 0.0 ], [ 113.63458, -8.28722, 0.0 ], [ 113.63459, -8.28716, 0.0 ], [ 113.63476, -8.28658, 0.0 ], [ 113.63507, -8.28547, 0.0 ], [ 113.63516, -8.28521, 0.0 ], [ 113.63519, -8.2851, 0.0 ], [ 113.6353, -8.28474, 0.0 ], [ 113.63541, -8.28447, 0.0 ], [ 113.63548, -8.28432, 0.0 ], [ 113.63551, -8.28425, 0.0 ], [ 113.63565, -8.28399, 0.0 ], [ 113.63574, -8.28382, 0.0 ], [ 113.63581, -8.2837, 0.0 ], [ 113.63595, -8.28348, 0.0 ], [ 113.63608, -8.28327, 0.0 ], [ 113.63627, -8.28297, 0.0 ], [ 113.6363, -8.28292, 0.0 ], [ 113.63665, -8.28238, 0.0 ], [ 113.63676, -8.28221, 0.0 ], [ 113.63687, -8.28205, 0.0 ], [ 113.63698, -8.28188, 0.0 ], [ 113.63711, -8.28172, 0.0 ], [ 113.63732, -8.28147, 0.0 ], [ 113.63792, -8.28079, 0.0 ], [ 113.6383, -8.28037, 0.0 ], [ 113.63833, -8.28033, 0.0 ], [ 113.63845, -8.2802, 0.0 ], [ 113.63881, -8.27978, 0.0 ], [ 113.64021, -8.2782, 0.0 ], [ 113.64033, -8.27806, 0.0 ], [ 113.64065, -8.27769, 0.0 ], [ 113.64089, -8.27742, 0.0 ], [ 113.64194, -8.2762, 0.0 ], [ 113.64286, -8.27517, 0.0 ], [ 113.6434, -8.27455, 0.0 ], [ 113.64362, -8.27431, 0.0 ], [ 113.64363, -8.27431, 0.0 ], [ 113.64385, -8.27407, 0.0 ], [ 113.64439, -8.27351, 0.0 ], [ 113.64442, -8.27348, 0.0 ], [ 113.64464, -8.27326, 0.0 ], [ 113.64491, -8.27296, 0.0 ], [ 113.64505, -8.27279, 0.0 ], [ 113.64518, -8.27262, 0.0 ], [ 113.64533, -8.27244, 0.0 ], [ 113.64544, -8.27229, 0.0 ], [ 113.64554, -8.27216, 0.0 ], [ 113.64563, -8.27203, 0.0 ], [ 113.64568, -8.27195, 0.0 ], [ 113.64573, -8.27186, 0.0 ], [ 113.64591, -8.2715, 0.0 ], [ 113.64604, -8.27127, 0.0 ], [ 113.64602, -8.27126, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "PJHW+HC2, Jl. Kawi, Bringan Lawang, Wonojati, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6460231, -8.2712555, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PJH7+6Q, Mangaran, Kec. Ajung, Kabupaten Jember, Jawa Timur 68175, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6149002, -8.272473, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PJGV+JP8, Jl. Kawi, Bringan Lawang, Wonojati, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.644423, -8.2734813, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PJHW+HC2, Jl. Kawi, Bringan Lawang, Wonojati, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6460231, -8.2712555, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Papuma - Watu Ulo.geojson b/smart_cycling_api/import_queue/done/Papuma - Watu Ulo.geojson new file mode 100644 index 0000000..64fb7c9 --- /dev/null +++ b/smart_cycling_api/import_queue/done/Papuma - Watu Ulo.geojson @@ -0,0 +1,13 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari Pasar Desa Sumberejo, Depan pasar, Curah Rejo, Sumberrejo, Kabupaten Jember, Jawa Timur ke Pasar Desa Sumberejo, Depan pasar, Curah Rejo, Sumberrejo, Kabupaten Jember, Jawa Timur", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari Pasar Desa Sumberejo, Depan pasar, Curah Rejo, Sumberrejo, Kabupaten Jember, Jawa Timur ke Pasar Desa Sumberejo, Depan pasar, Curah Rejo, Sumberrejo, Kabupaten Jember, Jawa Timur", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.59401, -8.39737, 0.0 ], [ 113.59352, -8.39732, 0.0 ], [ 113.59298, -8.39726, 0.0 ], [ 113.59244, -8.39721, 0.0 ], [ 113.59218, -8.39718, 0.0 ], [ 113.59188, -8.39715, 0.0 ], [ 113.59138, -8.39713, 0.0 ], [ 113.59127, -8.39712, 0.0 ], [ 113.5907, -8.39711, 0.0 ], [ 113.59057, -8.39711, 0.0 ], [ 113.59001, -8.39709, 0.0 ], [ 113.58937, -8.39706, 0.0 ], [ 113.58928, -8.39706, 0.0 ], [ 113.58888, -8.39704, 0.0 ], [ 113.58814, -8.39701, 0.0 ], [ 113.58747, -8.39702, 0.0 ], [ 113.58656, -8.39703, 0.0 ], [ 113.58626, -8.397, 0.0 ], [ 113.58541, -8.3969, 0.0 ], [ 113.5851, -8.39685, 0.0 ], [ 113.58492, -8.39682, 0.0 ], [ 113.58487, -8.39681, 0.0 ], [ 113.58445, -8.39673, 0.0 ], [ 113.58438, -8.39671, 0.0 ], [ 113.58421, -8.39666, 0.0 ], [ 113.58406, -8.39715, 0.0 ], [ 113.58378, -8.39806, 0.0 ], [ 113.58371, -8.39832, 0.0 ], [ 113.58363, -8.39859, 0.0 ], [ 113.5836, -8.39872, 0.0 ], [ 113.58356, -8.39887, 0.0 ], [ 113.58352, -8.39902, 0.0 ], [ 113.5835, -8.39916, 0.0 ], [ 113.58348, -8.39942, 0.0 ], [ 113.58348, -8.39946, 0.0 ], [ 113.58348, -8.39965, 0.0 ], [ 113.58348, -8.39966, 0.0 ], [ 113.5835, -8.39983, 0.0 ], [ 113.58351, -8.39997, 0.0 ], [ 113.58351, -8.4, 0.0 ], [ 113.58353, -8.40018, 0.0 ], [ 113.58355, -8.40029, 0.0 ], [ 113.58356, -8.40036, 0.0 ], [ 113.58363, -8.40071, 0.0 ], [ 113.58371, -8.40115, 0.0 ], [ 113.58376, -8.40133, 0.0 ], [ 113.58379, -8.40141, 0.0 ], [ 113.58383, -8.40148, 0.0 ], [ 113.58391, -8.40168, 0.0 ], [ 113.58393, -8.40175, 0.0 ], [ 113.58397, -8.40202, 0.0 ], [ 113.58397, -8.40203, 0.0 ], [ 113.58397, -8.40218, 0.0 ], [ 113.58396, -8.40232, 0.0 ], [ 113.58395, -8.40248, 0.0 ], [ 113.58394, -8.40257, 0.0 ], [ 113.5839, -8.4027, 0.0 ], [ 113.58383, -8.4029, 0.0 ], [ 113.5836, -8.40345, 0.0 ], [ 113.5835, -8.40377, 0.0 ], [ 113.5832, -8.40467, 0.0 ], [ 113.58299, -8.40534, 0.0 ], [ 113.58242, -8.40519, 0.0 ], [ 113.58226, -8.40515, 0.0 ], [ 113.58222, -8.40514, 0.0 ], [ 113.58218, -8.40513, 0.0 ], [ 113.58213, -8.4051, 0.0 ], [ 113.58205, -8.40506, 0.0 ], [ 113.58196, -8.40499, 0.0 ], [ 113.58185, -8.40492, 0.0 ], [ 113.5818, -8.4049, 0.0 ], [ 113.58175, -8.40488, 0.0 ], [ 113.5817, -8.40487, 0.0 ], [ 113.58165, -8.40487, 0.0 ], [ 113.58162, -8.40487, 0.0 ], [ 113.5816, -8.40488, 0.0 ], [ 113.58155, -8.40491, 0.0 ], [ 113.5815, -8.40494, 0.0 ], [ 113.58144, -8.405, 0.0 ], [ 113.58136, -8.4051, 0.0 ], [ 113.58135, -8.40511, 0.0 ], [ 113.58117, -8.40536, 0.0 ], [ 113.58114, -8.40539, 0.0 ], [ 113.58109, -8.40544, 0.0 ], [ 113.58102, -8.40551, 0.0 ], [ 113.58097, -8.40555, 0.0 ], [ 113.5809, -8.40559, 0.0 ], [ 113.58082, -8.40563, 0.0 ], [ 113.58065, -8.40569, 0.0 ], [ 113.58043, -8.40575, 0.0 ], [ 113.58033, -8.40576, 0.0 ], [ 113.58027, -8.40577, 0.0 ], [ 113.58016, -8.40581, 0.0 ], [ 113.58011, -8.40583, 0.0 ], [ 113.57999, -8.40588, 0.0 ], [ 113.57977, -8.40597, 0.0 ], [ 113.57966, -8.406, 0.0 ], [ 113.57957, -8.40604, 0.0 ], [ 113.57949, -8.40607, 0.0 ], [ 113.57946, -8.40608, 0.0 ], [ 113.5794, -8.4061, 0.0 ], [ 113.57935, -8.40612, 0.0 ], [ 113.57931, -8.40614, 0.0 ], [ 113.57917, -8.40622, 0.0 ], [ 113.57916, -8.40623, 0.0 ], [ 113.57907, -8.40628, 0.0 ], [ 113.579, -8.40632, 0.0 ], [ 113.57868, -8.40647, 0.0 ], [ 113.57862, -8.4065, 0.0 ], [ 113.57856, -8.40653, 0.0 ], [ 113.57853, -8.40655, 0.0 ], [ 113.57851, -8.40657, 0.0 ], [ 113.57839, -8.4067, 0.0 ], [ 113.57826, -8.40682, 0.0 ], [ 113.57814, -8.40694, 0.0 ], [ 113.578, -8.40708, 0.0 ], [ 113.57787, -8.4072, 0.0 ], [ 113.57774, -8.40732, 0.0 ], [ 113.5776, -8.40746, 0.0 ], [ 113.57733, -8.40768, 0.0 ], [ 113.57721, -8.40779, 0.0 ], [ 113.57686, -8.40809, 0.0 ], [ 113.57678, -8.40816, 0.0 ], [ 113.57668, -8.40824, 0.0 ], [ 113.57664, -8.40827, 0.0 ], [ 113.5766, -8.40831, 0.0 ], [ 113.57655, -8.40835, 0.0 ], [ 113.5765, -8.40837, 0.0 ], [ 113.5765, -8.40838, 0.0 ], [ 113.57642, -8.40842, 0.0 ], [ 113.57633, -8.40846, 0.0 ], [ 113.57617, -8.40853, 0.0 ], [ 113.57601, -8.40861, 0.0 ], [ 113.57599, -8.40862, 0.0 ], [ 113.57568, -8.40877, 0.0 ], [ 113.57552, -8.40885, 0.0 ], [ 113.57549, -8.40886, 0.0 ], [ 113.57519, -8.40901, 0.0 ], [ 113.57518, -8.40902, 0.0 ], [ 113.57503, -8.4091, 0.0 ], [ 113.57497, -8.40913, 0.0 ], [ 113.57479, -8.40921, 0.0 ], [ 113.5747, -8.40924, 0.0 ], [ 113.57468, -8.40925, 0.0 ], [ 113.57456, -8.4093, 0.0 ], [ 113.57443, -8.40937, 0.0 ], [ 113.57422, -8.40949, 0.0 ], [ 113.57406, -8.40958, 0.0 ], [ 113.57397, -8.40963, 0.0 ], [ 113.57361, -8.40984, 0.0 ], [ 113.57359, -8.40986, 0.0 ], [ 113.57343, -8.40995, 0.0 ], [ 113.57333, -8.41001, 0.0 ], [ 113.57315, -8.4101, 0.0 ], [ 113.57312, -8.41013, 0.0 ], [ 113.57308, -8.41015, 0.0 ], [ 113.57301, -8.4102, 0.0 ], [ 113.57297, -8.41023, 0.0 ], [ 113.57293, -8.41027, 0.0 ], [ 113.57288, -8.41034, 0.0 ], [ 113.57286, -8.41037, 0.0 ], [ 113.57284, -8.4104, 0.0 ], [ 113.57282, -8.41044, 0.0 ], [ 113.57258, -8.41092, 0.0 ], [ 113.57234, -8.41141, 0.0 ], [ 113.57226, -8.41157, 0.0 ], [ 113.57222, -8.41164, 0.0 ], [ 113.57218, -8.41173, 0.0 ], [ 113.57211, -8.4119, 0.0 ], [ 113.57204, -8.41206, 0.0 ], [ 113.57197, -8.41223, 0.0 ], [ 113.5719, -8.41237, 0.0 ], [ 113.57184, -8.41254, 0.0 ], [ 113.57181, -8.41262, 0.0 ], [ 113.57177, -8.41274, 0.0 ], [ 113.57175, -8.41282, 0.0 ], [ 113.57167, -8.41321, 0.0 ], [ 113.57165, -8.41326, 0.0 ], [ 113.57163, -8.41336, 0.0 ], [ 113.57159, -8.41349, 0.0 ], [ 113.57157, -8.41361, 0.0 ], [ 113.57153, -8.41379, 0.0 ], [ 113.57152, -8.41385, 0.0 ], [ 113.57144, -8.41432, 0.0 ], [ 113.57135, -8.41486, 0.0 ], [ 113.57132, -8.41503, 0.0 ], [ 113.57122, -8.41556, 0.0 ], [ 113.5712, -8.41571, 0.0 ], [ 113.57119, -8.41574, 0.0 ], [ 113.57116, -8.41593, 0.0 ], [ 113.57115, -8.41604, 0.0 ], [ 113.57114, -8.41609, 0.0 ], [ 113.57114, -8.41614, 0.0 ], [ 113.57115, -8.41642, 0.0 ], [ 113.57115, -8.41645, 0.0 ], [ 113.57115, -8.4166, 0.0 ], [ 113.57115, -8.41663, 0.0 ], [ 113.57116, -8.41674, 0.0 ], [ 113.57116, -8.4168, 0.0 ], [ 113.57115, -8.41681, 0.0 ], [ 113.57115, -8.41682, 0.0 ], [ 113.57114, -8.41684, 0.0 ], [ 113.57113, -8.41686, 0.0 ], [ 113.57112, -8.41688, 0.0 ], [ 113.5711, -8.4169, 0.0 ], [ 113.57107, -8.41693, 0.0 ], [ 113.57104, -8.41694, 0.0 ], [ 113.57101, -8.41696, 0.0 ], [ 113.57088, -8.41703, 0.0 ], [ 113.57087, -8.41704, 0.0 ], [ 113.57069, -8.41712, 0.0 ], [ 113.57053, -8.41719, 0.0 ], [ 113.57038, -8.41725, 0.0 ], [ 113.57027, -8.4173, 0.0 ], [ 113.56989, -8.41743, 0.0 ], [ 113.56971, -8.41749, 0.0 ], [ 113.56964, -8.41751, 0.0 ], [ 113.56957, -8.41751, 0.0 ], [ 113.56945, -8.41751, 0.0 ], [ 113.56941, -8.41752, 0.0 ], [ 113.56938, -8.41752, 0.0 ], [ 113.56935, -8.41753, 0.0 ], [ 113.56918, -8.41762, 0.0 ], [ 113.56907, -8.41768, 0.0 ], [ 113.56897, -8.41773, 0.0 ], [ 113.56888, -8.41776, 0.0 ], [ 113.56879, -8.41779, 0.0 ], [ 113.5687, -8.4178, 0.0 ], [ 113.56848, -8.41781, 0.0 ], [ 113.56714, -8.41787, 0.0 ], [ 113.56705, -8.41788, 0.0 ], [ 113.56596, -8.41792, 0.0 ], [ 113.56516, -8.41795, 0.0 ], [ 113.56433, -8.4179, 0.0 ], [ 113.56415, -8.41789, 0.0 ], [ 113.56409, -8.41789, 0.0 ], [ 113.56397, -8.4179, 0.0 ], [ 113.56396, -8.4179, 0.0 ], [ 113.56386, -8.41792, 0.0 ], [ 113.56378, -8.41794, 0.0 ], [ 113.56373, -8.41796, 0.0 ], [ 113.56345, -8.41807, 0.0 ], [ 113.56245, -8.4185, 0.0 ], [ 113.56174, -8.41838, 0.0 ], [ 113.56102, -8.41825, 0.0 ], [ 113.56084, -8.41822, 0.0 ], [ 113.56027, -8.41812, 0.0 ], [ 113.56023, -8.41811, 0.0 ], [ 113.56018, -8.41811, 0.0 ], [ 113.56014, -8.41811, 0.0 ], [ 113.56012, -8.41811, 0.0 ], [ 113.5601, -8.41811, 0.0 ], [ 113.56008, -8.41812, 0.0 ], [ 113.56005, -8.41813, 0.0 ], [ 113.56003, -8.41815, 0.0 ], [ 113.56001, -8.41817, 0.0 ], [ 113.55998, -8.41829, 0.0 ], [ 113.55995, -8.41839, 0.0 ], [ 113.5599, -8.41856, 0.0 ], [ 113.55988, -8.41866, 0.0 ], [ 113.55981, -8.41891, 0.0 ], [ 113.55977, -8.41909, 0.0 ], [ 113.55959, -8.41978, 0.0 ], [ 113.55954, -8.41996, 0.0 ], [ 113.55953, -8.42001, 0.0 ], [ 113.5595, -8.42013, 0.0 ], [ 113.55941, -8.42048, 0.0 ], [ 113.55939, -8.42056, 0.0 ], [ 113.55938, -8.42066, 0.0 ], [ 113.55937, -8.4207, 0.0 ], [ 113.55936, -8.42081, 0.0 ], [ 113.55936, -8.42084, 0.0 ], [ 113.55936, -8.42093, 0.0 ], [ 113.55937, -8.42102, 0.0 ], [ 113.55938, -8.42106, 0.0 ], [ 113.55943, -8.42135, 0.0 ], [ 113.55945, -8.42153, 0.0 ], [ 113.55945, -8.42168, 0.0 ], [ 113.55945, -8.42173, 0.0 ], [ 113.55943, -8.42195, 0.0 ], [ 113.55942, -8.42212, 0.0 ], [ 113.55938, -8.4223, 0.0 ], [ 113.5593, -8.42261, 0.0 ], [ 113.55926, -8.42276, 0.0 ], [ 113.55925, -8.42279, 0.0 ], [ 113.55924, -8.42283, 0.0 ], [ 113.55923, -8.42287, 0.0 ], [ 113.55922, -8.42295, 0.0 ], [ 113.55922, -8.42296, 0.0 ], [ 113.55922, -8.42304, 0.0 ], [ 113.55922, -8.42309, 0.0 ], [ 113.55923, -8.42314, 0.0 ], [ 113.55925, -8.4232, 0.0 ], [ 113.55926, -8.42324, 0.0 ], [ 113.55929, -8.42328, 0.0 ], [ 113.55932, -8.42331, 0.0 ], [ 113.55934, -8.42333, 0.0 ], [ 113.5594, -8.4234, 0.0 ], [ 113.55956, -8.42345, 0.0 ], [ 113.55958, -8.42345, 0.0 ], [ 113.55974, -8.4235, 0.0 ], [ 113.5599, -8.42355, 0.0 ], [ 113.55991, -8.42355, 0.0 ], [ 113.55996, -8.42357, 0.0 ], [ 113.56007, -8.42363, 0.0 ], [ 113.56008, -8.42364, 0.0 ], [ 113.56014, -8.42368, 0.0 ], [ 113.56019, -8.42372, 0.0 ], [ 113.56021, -8.42375, 0.0 ], [ 113.56022, -8.42376, 0.0 ], [ 113.56028, -8.42385, 0.0 ], [ 113.56029, -8.4239, 0.0 ], [ 113.56029, -8.42391, 0.0 ], [ 113.56029, -8.42401, 0.0 ], [ 113.56029, -8.4241, 0.0 ], [ 113.56027, -8.42422, 0.0 ], [ 113.56025, -8.42426, 0.0 ], [ 113.56027, -8.42432, 0.0 ], [ 113.56039, -8.42436, 0.0 ], [ 113.56045, -8.42437, 0.0 ], [ 113.56058, -8.4244, 0.0 ], [ 113.56077, -8.42443, 0.0 ], [ 113.56102, -8.42444, 0.0 ], [ 113.56107, -8.42444, 0.0 ], [ 113.56118, -8.42443, 0.0 ], [ 113.56122, -8.42443, 0.0 ], [ 113.56149, -8.42441, 0.0 ], [ 113.56151, -8.4244, 0.0 ], [ 113.56204, -8.42434, 0.0 ], [ 113.5626, -8.42426, 0.0 ], [ 113.56265, -8.42425, 0.0 ], [ 113.5633, -8.42415, 0.0 ], [ 113.56349, -8.42412, 0.0 ], [ 113.56402, -8.42404, 0.0 ], [ 113.5642, -8.42402, 0.0 ], [ 113.56426, -8.42403, 0.0 ], [ 113.56431, -8.42404, 0.0 ], [ 113.56436, -8.42404, 0.0 ], [ 113.5645, -8.42406, 0.0 ], [ 113.56467, -8.42407, 0.0 ], [ 113.56537, -8.42414, 0.0 ], [ 113.56619, -8.42421, 0.0 ], [ 113.56716, -8.4243, 0.0 ], [ 113.56796, -8.42439, 0.0 ], [ 113.56839, -8.42446, 0.0 ], [ 113.5686, -8.4245, 0.0 ], [ 113.56861, -8.42451, 0.0 ], [ 113.56889, -8.42457, 0.0 ], [ 113.56973, -8.42481, 0.0 ], [ 113.56975, -8.42481, 0.0 ], [ 113.57063, -8.42506, 0.0 ], [ 113.57096, -8.42515, 0.0 ], [ 113.57111, -8.4252, 0.0 ], [ 113.57144, -8.42531, 0.0 ], [ 113.57164, -8.42539, 0.0 ], [ 113.57198, -8.42552, 0.0 ], [ 113.57215, -8.42559, 0.0 ], [ 113.57225, -8.42562, 0.0 ], [ 113.57275, -8.42584, 0.0 ], [ 113.57294, -8.42594, 0.0 ], [ 113.57328, -8.42611, 0.0 ], [ 113.57373, -8.42635, 0.0 ], [ 113.57411, -8.42654, 0.0 ], [ 113.57438, -8.42668, 0.0 ], [ 113.57445, -8.42671, 0.0 ], [ 113.57474, -8.42686, 0.0 ], [ 113.57526, -8.42713, 0.0 ], [ 113.57552, -8.42727, 0.0 ], [ 113.5757, -8.42737, 0.0 ], [ 113.57579, -8.42742, 0.0 ], [ 113.57588, -8.42745, 0.0 ], [ 113.57598, -8.42746, 0.0 ], [ 113.57617, -8.42747, 0.0 ], [ 113.57637, -8.42747, 0.0 ], [ 113.57657, -8.42747, 0.0 ], [ 113.57659, -8.42747, 0.0 ], [ 113.57674, -8.42747, 0.0 ], [ 113.57747, -8.42747, 0.0 ], [ 113.57787, -8.42747, 0.0 ], [ 113.57793, -8.42747, 0.0 ], [ 113.57798, -8.42746, 0.0 ], [ 113.57801, -8.42746, 0.0 ], [ 113.57803, -8.42745, 0.0 ], [ 113.57813, -8.42742, 0.0 ], [ 113.57822, -8.42737, 0.0 ], [ 113.57835, -8.42729, 0.0 ], [ 113.57844, -8.42723, 0.0 ], [ 113.57854, -8.42717, 0.0 ], [ 113.5787, -8.42744, 0.0 ], [ 113.57892, -8.42782, 0.0 ], [ 113.57923, -8.42811, 0.0 ], [ 113.5793, -8.42818, 0.0 ], [ 113.57988, -8.42874, 0.0 ], [ 113.58007, -8.42892, 0.0 ], [ 113.58014, -8.42885, 0.0 ], [ 113.58022, -8.42875, 0.0 ], [ 113.58037, -8.42858, 0.0 ], [ 113.58066, -8.42824, 0.0 ], [ 113.58101, -8.42784, 0.0 ], [ 113.58166, -8.42709, 0.0 ], [ 113.5818, -8.42693, 0.0 ], [ 113.58227, -8.42639, 0.0 ], [ 113.58229, -8.42637, 0.0 ], [ 113.58264, -8.42596, 0.0 ], [ 113.58269, -8.42589, 0.0 ], [ 113.58273, -8.42583, 0.0 ], [ 113.58274, -8.42579, 0.0 ], [ 113.58277, -8.42571, 0.0 ], [ 113.5828, -8.42555, 0.0 ], [ 113.58294, -8.4247, 0.0 ], [ 113.58303, -8.42419, 0.0 ], [ 113.58304, -8.4241, 0.0 ], [ 113.58361, -8.42419, 0.0 ], [ 113.58382, -8.42421, 0.0 ], [ 113.58411, -8.42425, 0.0 ], [ 113.58429, -8.42427, 0.0 ], [ 113.58465, -8.42432, 0.0 ], [ 113.58469, -8.42432, 0.0 ], [ 113.5849, -8.42435, 0.0 ], [ 113.58512, -8.42437, 0.0 ], [ 113.58523, -8.42438, 0.0 ], [ 113.58535, -8.4244, 0.0 ], [ 113.58556, -8.42442, 0.0 ], [ 113.58558, -8.42442, 0.0 ], [ 113.58559, -8.42442, 0.0 ], [ 113.5856, -8.42441, 0.0 ], [ 113.58561, -8.4244, 0.0 ], [ 113.58562, -8.42438, 0.0 ], [ 113.58569, -8.42392, 0.0 ], [ 113.5857, -8.42387, 0.0 ], [ 113.58572, -8.42378, 0.0 ], [ 113.58572, -8.42376, 0.0 ], [ 113.58598, -8.42378, 0.0 ], [ 113.58651, -8.42382, 0.0 ], [ 113.58718, -8.42383, 0.0 ], [ 113.58726, -8.42383, 0.0 ], [ 113.58785, -8.42384, 0.0 ], [ 113.58827, -8.42383, 0.0 ], [ 113.58856, -8.42381, 0.0 ], [ 113.58902, -8.42375, 0.0 ], [ 113.58927, -8.42371, 0.0 ], [ 113.58967, -8.42365, 0.0 ], [ 113.58971, -8.42364, 0.0 ], [ 113.58973, -8.42363, 0.0 ], [ 113.58975, -8.42361, 0.0 ], [ 113.58977, -8.42359, 0.0 ], [ 113.58978, -8.42356, 0.0 ], [ 113.58979, -8.42348, 0.0 ], [ 113.5898, -8.42342, 0.0 ], [ 113.58981, -8.42336, 0.0 ], [ 113.58982, -8.42332, 0.0 ], [ 113.58984, -8.42325, 0.0 ], [ 113.59018, -8.42328, 0.0 ], [ 113.59094, -8.42339, 0.0 ], [ 113.59167, -8.42348, 0.0 ], [ 113.59221, -8.42353, 0.0 ], [ 113.59256, -8.42356, 0.0 ], [ 113.59318, -8.42358, 0.0 ], [ 113.59382, -8.42362, 0.0 ], [ 113.59408, -8.42363, 0.0 ], [ 113.59443, -8.42366, 0.0 ], [ 113.59475, -8.42367, 0.0 ], [ 113.59483, -8.42282, 0.0 ], [ 113.59485, -8.42225, 0.0 ], [ 113.59486, -8.42205, 0.0 ], [ 113.59486, -8.42186, 0.0 ], [ 113.59486, -8.42159, 0.0 ], [ 113.59485, -8.42107, 0.0 ], [ 113.59486, -8.42056, 0.0 ], [ 113.5949, -8.41972, 0.0 ], [ 113.59493, -8.41911, 0.0 ], [ 113.59493, -8.41909, 0.0 ], [ 113.59495, -8.41865, 0.0 ], [ 113.59499, -8.41812, 0.0 ], [ 113.59499, -8.41801, 0.0 ], [ 113.59505, -8.41756, 0.0 ], [ 113.59506, -8.4175, 0.0 ], [ 113.59524, -8.41662, 0.0 ], [ 113.59536, -8.4159, 0.0 ], [ 113.59537, -8.41558, 0.0 ], [ 113.59543, -8.41505, 0.0 ], [ 113.59543, -8.41498, 0.0 ], [ 113.59545, -8.41486, 0.0 ], [ 113.59545, -8.41438, 0.0 ], [ 113.59545, -8.41386, 0.0 ], [ 113.59545, -8.41363, 0.0 ], [ 113.59545, -8.41291, 0.0 ], [ 113.59546, -8.4122, 0.0 ], [ 113.59546, -8.41187, 0.0 ], [ 113.59545, -8.4118, 0.0 ], [ 113.59543, -8.41132, 0.0 ], [ 113.59543, -8.41111, 0.0 ], [ 113.59542, -8.41075, 0.0 ], [ 113.59542, -8.41068, 0.0 ], [ 113.59541, -8.41019, 0.0 ], [ 113.5954, -8.40997, 0.0 ], [ 113.59539, -8.40971, 0.0 ], [ 113.59539, -8.40951, 0.0 ], [ 113.59539, -8.40908, 0.0 ], [ 113.59538, -8.40865, 0.0 ], [ 113.59537, -8.40831, 0.0 ], [ 113.59537, -8.40813, 0.0 ], [ 113.59534, -8.40772, 0.0 ], [ 113.59532, -8.40754, 0.0 ], [ 113.59527, -8.40695, 0.0 ], [ 113.59524, -8.40657, 0.0 ], [ 113.59521, -8.40634, 0.0 ], [ 113.59519, -8.40612, 0.0 ], [ 113.59516, -8.40594, 0.0 ], [ 113.59513, -8.4052, 0.0 ], [ 113.59512, -8.40507, 0.0 ], [ 113.59509, -8.40455, 0.0 ], [ 113.59505, -8.40383, 0.0 ], [ 113.59504, -8.40375, 0.0 ], [ 113.59504, -8.40367, 0.0 ], [ 113.59499, -8.40321, 0.0 ], [ 113.59494, -8.40277, 0.0 ], [ 113.59488, -8.40227, 0.0 ], [ 113.59488, -8.40226, 0.0 ], [ 113.59487, -8.40218, 0.0 ], [ 113.59478, -8.40165, 0.0 ], [ 113.59464, -8.40073, 0.0 ], [ 113.59463, -8.40072, 0.0 ], [ 113.59463, -8.40057, 0.0 ], [ 113.59462, -8.40028, 0.0 ], [ 113.59461, -8.39993, 0.0 ], [ 113.5946, -8.39985, 0.0 ], [ 113.59459, -8.39975, 0.0 ], [ 113.59459, -8.39967, 0.0 ], [ 113.59458, -8.39962, 0.0 ], [ 113.59457, -8.39953, 0.0 ], [ 113.59455, -8.39949, 0.0 ], [ 113.59453, -8.39942, 0.0 ], [ 113.59451, -8.39937, 0.0 ], [ 113.59449, -8.39932, 0.0 ], [ 113.59445, -8.39923, 0.0 ], [ 113.59432, -8.39896, 0.0 ], [ 113.59434, -8.39845, 0.0 ], [ 113.59434, -8.39843, 0.0 ], [ 113.59439, -8.39803, 0.0 ], [ 113.59446, -8.39751, 0.0 ], [ 113.59447, -8.39741, 0.0 ], [ 113.59434, -8.39741, 0.0 ], [ 113.59401, -8.39737, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "Pasar Desa Sumberejo, Depan pasar, Curah Rejo, Sumberrejo, Kabupaten Jember, Jawa Timur", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.5940104, -8.3973726, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Jl. Tj. Papuma, Watu Ulo, Sumberrejo, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.5602664, -8.4181178, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Jl. Raya Watu Ulo No.11, Watu Ulo, Sumberrejo, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.5784433, -8.4272281, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "HHMW+W68, Sido Mulyo, Sumberrejo, Patrang, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.5954335, -8.4149836, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Pasar Desa Sumberejo, Depan pasar, Curah Rejo, Sumberrejo, Kabupaten Jember, Jawa Timur", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.5940104, -8.3973726, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Pasar Patilugu - Sidodadi.geojson b/smart_cycling_api/import_queue/done/Pasar Patilugu - Sidodadi.geojson new file mode 100644 index 0000000..af90299 --- /dev/null +++ b/smart_cycling_api/import_queue/done/Pasar Patilugu - Sidodadi.geojson @@ -0,0 +1,12 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari JMM6+CC3, Sidodadi, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia ke JMM6+CC3, Sidodadi, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari JMM6+CC3, Sidodadi, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia ke JMM6+CC3, Sidodadi, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.66133, -8.36663, 0.0 ], [ 113.66116, -8.36751, 0.0 ], [ 113.66108, -8.36807, 0.0 ], [ 113.66103, -8.36839, 0.0 ], [ 113.66102, -8.36849, 0.0 ], [ 113.661, -8.36859, 0.0 ], [ 113.66094, -8.36899, 0.0 ], [ 113.66092, -8.36908, 0.0 ], [ 113.66092, -8.36909, 0.0 ], [ 113.66082, -8.36964, 0.0 ], [ 113.66074, -8.37014, 0.0 ], [ 113.66062, -8.37087, 0.0 ], [ 113.6606, -8.37099, 0.0 ], [ 113.66051, -8.37146, 0.0 ], [ 113.66041, -8.37191, 0.0 ], [ 113.66038, -8.372, 0.0 ], [ 113.66035, -8.37212, 0.0 ], [ 113.66026, -8.37234, 0.0 ], [ 113.66024, -8.37238, 0.0 ], [ 113.65948, -8.37117, 0.0 ], [ 113.65934, -8.37098, 0.0 ], [ 113.65922, -8.37084, 0.0 ], [ 113.6592, -8.37081, 0.0 ], [ 113.65914, -8.37073, 0.0 ], [ 113.65906, -8.37066, 0.0 ], [ 113.659, -8.3706, 0.0 ], [ 113.6589, -8.37052, 0.0 ], [ 113.65877, -8.37042, 0.0 ], [ 113.65863, -8.37031, 0.0 ], [ 113.65849, -8.37021, 0.0 ], [ 113.65833, -8.37011, 0.0 ], [ 113.65795, -8.36984, 0.0 ], [ 113.65763, -8.36962, 0.0 ], [ 113.65711, -8.36928, 0.0 ], [ 113.65706, -8.36924, 0.0 ], [ 113.65701, -8.36921, 0.0 ], [ 113.65696, -8.36917, 0.0 ], [ 113.65659, -8.36893, 0.0 ], [ 113.65632, -8.36875, 0.0 ], [ 113.65593, -8.3685, 0.0 ], [ 113.65547, -8.36823, 0.0 ], [ 113.65467, -8.36777, 0.0 ], [ 113.65389, -8.36736, 0.0 ], [ 113.65383, -8.36734, 0.0 ], [ 113.6532, -8.367, 0.0 ], [ 113.653, -8.36689, 0.0 ], [ 113.65285, -8.36681, 0.0 ], [ 113.65234, -8.36656, 0.0 ], [ 113.65234, -8.36654, 0.0 ], [ 113.65234, -8.36652, 0.0 ], [ 113.65234, -8.3665, 0.0 ], [ 113.65234, -8.36648, 0.0 ], [ 113.65234, -8.36646, 0.0 ], [ 113.65235, -8.36644, 0.0 ], [ 113.65235, -8.36641, 0.0 ], [ 113.65236, -8.36638, 0.0 ], [ 113.65236, -8.36632, 0.0 ], [ 113.65242, -8.36599, 0.0 ], [ 113.6525, -8.36546, 0.0 ], [ 113.65251, -8.36542, 0.0 ], [ 113.6525, -8.36546, 0.0 ], [ 113.65304, -8.36556, 0.0 ], [ 113.65389, -8.36574, 0.0 ], [ 113.65422, -8.36581, 0.0 ], [ 113.65429, -8.36583, 0.0 ], [ 113.65516, -8.36594, 0.0 ], [ 113.65528, -8.36595, 0.0 ], [ 113.65593, -8.36603, 0.0 ], [ 113.656, -8.36604, 0.0 ], [ 113.65627, -8.36606, 0.0 ], [ 113.6578, -8.3662, 0.0 ], [ 113.65867, -8.36627, 0.0 ], [ 113.65957, -8.36635, 0.0 ], [ 113.65985, -8.3664, 0.0 ], [ 113.65989, -8.3664, 0.0 ], [ 113.66133, -8.36663, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "JMM6+CC3, Sidodadi, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6613286, -8.3666308, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Toko Buah Kotta Blater, Karang Templek, Andongsari, Kabupaten Jember, Jawa Timur", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6602564, -8.3723383, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JMM2+VXF, Sidodadi, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6525106, -8.3654153, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JMM6+CC3, Sidodadi, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6613286, -8.3666308, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Pontang - Dadapan.geojson b/smart_cycling_api/import_queue/done/Pontang - Dadapan.geojson new file mode 100644 index 0000000..67e0968 --- /dev/null +++ b/smart_cycling_api/import_queue/done/Pontang - Dadapan.geojson @@ -0,0 +1,12 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari MJ8V+QCW, Pontang Utara, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia ke MJ8V+QCW, Pontang Utara, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari MJ8V+QCW, Pontang Utara, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia ke MJ8V+QCW, Pontang Utara, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.64293, -8.33316, 0.0 ], [ 113.64295, -8.33315, 0.0 ], [ 113.64301, -8.33314, 0.0 ], [ 113.64309, -8.33312, 0.0 ], [ 113.64365, -8.3331, 0.0 ], [ 113.64406, -8.3331, 0.0 ], [ 113.64446, -8.33311, 0.0 ], [ 113.6447, -8.33311, 0.0 ], [ 113.64478, -8.33311, 0.0 ], [ 113.64483, -8.3331, 0.0 ], [ 113.64486, -8.33309, 0.0 ], [ 113.64489, -8.33309, 0.0 ], [ 113.6449, -8.33308, 0.0 ], [ 113.64492, -8.33306, 0.0 ], [ 113.64495, -8.33303, 0.0 ], [ 113.64493, -8.33259, 0.0 ], [ 113.64492, -8.33231, 0.0 ], [ 113.6449, -8.33174, 0.0 ], [ 113.64491, -8.33167, 0.0 ], [ 113.64491, -8.33164, 0.0 ], [ 113.64492, -8.33162, 0.0 ], [ 113.64493, -8.3316, 0.0 ], [ 113.64494, -8.33159, 0.0 ], [ 113.64496, -8.33158, 0.0 ], [ 113.64498, -8.33157, 0.0 ], [ 113.64502, -8.33157, 0.0 ], [ 113.64506, -8.33157, 0.0 ], [ 113.64569, -8.33162, 0.0 ], [ 113.64583, -8.33162, 0.0 ], [ 113.64601, -8.33162, 0.0 ], [ 113.6462, -8.33161, 0.0 ], [ 113.64629, -8.33161, 0.0 ], [ 113.64638, -8.33162, 0.0 ], [ 113.64666, -8.33163, 0.0 ], [ 113.64688, -8.33166, 0.0 ], [ 113.64692, -8.33166, 0.0 ], [ 113.64746, -8.33176, 0.0 ], [ 113.64764, -8.33178, 0.0 ], [ 113.64785, -8.3318, 0.0 ], [ 113.64804, -8.33182, 0.0 ], [ 113.64818, -8.33183, 0.0 ], [ 113.64825, -8.33183, 0.0 ], [ 113.64879, -8.33185, 0.0 ], [ 113.64907, -8.33187, 0.0 ], [ 113.64932, -8.33189, 0.0 ], [ 113.64967, -8.33191, 0.0 ], [ 113.65003, -8.33191, 0.0 ], [ 113.6503, -8.33191, 0.0 ], [ 113.65051, -8.33191, 0.0 ], [ 113.65101, -8.3319, 0.0 ], [ 113.65118, -8.3319, 0.0 ], [ 113.65123, -8.33191, 0.0 ], [ 113.65137, -8.33192, 0.0 ], [ 113.65169, -8.33196, 0.0 ], [ 113.65206, -8.33203, 0.0 ], [ 113.65245, -8.3321, 0.0 ], [ 113.65287, -8.33217, 0.0 ], [ 113.65296, -8.33218, 0.0 ], [ 113.65314, -8.33222, 0.0 ], [ 113.65365, -8.33232, 0.0 ], [ 113.65367, -8.33232, 0.0 ], [ 113.65403, -8.33238, 0.0 ], [ 113.65422, -8.33241, 0.0 ], [ 113.65461, -8.33245, 0.0 ], [ 113.65499, -8.33249, 0.0 ], [ 113.6556, -8.33252, 0.0 ], [ 113.65569, -8.33252, 0.0 ], [ 113.6561, -8.33254, 0.0 ], [ 113.65632, -8.33254, 0.0 ], [ 113.65636, -8.33254, 0.0 ], [ 113.65705, -8.33254, 0.0 ], [ 113.65717, -8.33254, 0.0 ], [ 113.65743, -8.33254, 0.0 ], [ 113.65759, -8.33253, 0.0 ], [ 113.65773, -8.33252, 0.0 ], [ 113.65805, -8.33249, 0.0 ], [ 113.65808, -8.33305, 0.0 ], [ 113.65808, -8.33328, 0.0 ], [ 113.65808, -8.33338, 0.0 ], [ 113.65806, -8.33355, 0.0 ], [ 113.65806, -8.33364, 0.0 ], [ 113.65803, -8.33375, 0.0 ], [ 113.658, -8.33387, 0.0 ], [ 113.65797, -8.33395, 0.0 ], [ 113.65795, -8.33399, 0.0 ], [ 113.6579, -8.33407, 0.0 ], [ 113.65778, -8.33423, 0.0 ], [ 113.65766, -8.33438, 0.0 ], [ 113.65762, -8.33441, 0.0 ], [ 113.65753, -8.3345, 0.0 ], [ 113.65736, -8.33467, 0.0 ], [ 113.65711, -8.33492, 0.0 ], [ 113.65709, -8.33494, 0.0 ], [ 113.65683, -8.33521, 0.0 ], [ 113.65665, -8.33542, 0.0 ], [ 113.65652, -8.33557, 0.0 ], [ 113.6565, -8.33559, 0.0 ], [ 113.6564, -8.33571, 0.0 ], [ 113.65638, -8.33572, 0.0 ], [ 113.65616, -8.33595, 0.0 ], [ 113.65595, -8.33619, 0.0 ], [ 113.65582, -8.33636, 0.0 ], [ 113.65573, -8.33652, 0.0 ], [ 113.65572, -8.33655, 0.0 ], [ 113.65565, -8.33671, 0.0 ], [ 113.65559, -8.33691, 0.0 ], [ 113.65556, -8.33706, 0.0 ], [ 113.65555, -8.33711, 0.0 ], [ 113.65554, -8.33725, 0.0 ], [ 113.65554, -8.33737, 0.0 ], [ 113.65556, -8.3375, 0.0 ], [ 113.65557, -8.3376, 0.0 ], [ 113.65558, -8.33762, 0.0 ], [ 113.65561, -8.33774, 0.0 ], [ 113.65565, -8.33784, 0.0 ], [ 113.65569, -8.33792, 0.0 ], [ 113.65573, -8.33799, 0.0 ], [ 113.65578, -8.33809, 0.0 ], [ 113.65579, -8.3381, 0.0 ], [ 113.65586, -8.33825, 0.0 ], [ 113.65588, -8.33829, 0.0 ], [ 113.65599, -8.3385, 0.0 ], [ 113.65603, -8.33857, 0.0 ], [ 113.65615, -8.33877, 0.0 ], [ 113.65624, -8.33897, 0.0 ], [ 113.65627, -8.33903, 0.0 ], [ 113.65627, -8.33906, 0.0 ], [ 113.65627, -8.33908, 0.0 ], [ 113.65627, -8.33912, 0.0 ], [ 113.65627, -8.33917, 0.0 ], [ 113.65625, -8.33923, 0.0 ], [ 113.65625, -8.33924, 0.0 ], [ 113.65623, -8.33929, 0.0 ], [ 113.65622, -8.33933, 0.0 ], [ 113.65619, -8.33937, 0.0 ], [ 113.65616, -8.33942, 0.0 ], [ 113.65608, -8.33954, 0.0 ], [ 113.65593, -8.33974, 0.0 ], [ 113.65573, -8.34, 0.0 ], [ 113.65556, -8.34023, 0.0 ], [ 113.65542, -8.34041, 0.0 ], [ 113.65538, -8.34046, 0.0 ], [ 113.65531, -8.34055, 0.0 ], [ 113.6552, -8.34069, 0.0 ], [ 113.65501, -8.34094, 0.0 ], [ 113.65484, -8.34118, 0.0 ], [ 113.65474, -8.34131, 0.0 ], [ 113.65463, -8.34145, 0.0 ], [ 113.65445, -8.34169, 0.0 ], [ 113.65425, -8.34194, 0.0 ], [ 113.65405, -8.34219, 0.0 ], [ 113.65387, -8.34242, 0.0 ], [ 113.65372, -8.3426, 0.0 ], [ 113.65353, -8.34283, 0.0 ], [ 113.65344, -8.34293, 0.0 ], [ 113.65323, -8.34318, 0.0 ], [ 113.6531, -8.34333, 0.0 ], [ 113.65299, -8.34345, 0.0 ], [ 113.65289, -8.34353, 0.0 ], [ 113.65283, -8.34356, 0.0 ], [ 113.65275, -8.3436, 0.0 ], [ 113.65267, -8.34364, 0.0 ], [ 113.65262, -8.34367, 0.0 ], [ 113.65247, -8.34373, 0.0 ], [ 113.65221, -8.3438, 0.0 ], [ 113.65182, -8.34392, 0.0 ], [ 113.65147, -8.34404, 0.0 ], [ 113.65137, -8.34407, 0.0 ], [ 113.65101, -8.34418, 0.0 ], [ 113.65048, -8.34435, 0.0 ], [ 113.65031, -8.3444, 0.0 ], [ 113.65025, -8.34442, 0.0 ], [ 113.65024, -8.34442, 0.0 ], [ 113.6502, -8.34444, 0.0 ], [ 113.65016, -8.34444, 0.0 ], [ 113.65009, -8.34445, 0.0 ], [ 113.64971, -8.34448, 0.0 ], [ 113.64969, -8.34448, 0.0 ], [ 113.64933, -8.3445, 0.0 ], [ 113.649, -8.34452, 0.0 ], [ 113.64899, -8.34452, 0.0 ], [ 113.64872, -8.34455, 0.0 ], [ 113.64856, -8.34457, 0.0 ], [ 113.64845, -8.34459, 0.0 ], [ 113.64836, -8.34459, 0.0 ], [ 113.64827, -8.34459, 0.0 ], [ 113.64816, -8.34459, 0.0 ], [ 113.64758, -8.34462, 0.0 ], [ 113.64717, -8.34464, 0.0 ], [ 113.64699, -8.34465, 0.0 ], [ 113.64681, -8.34466, 0.0 ], [ 113.64645, -8.34469, 0.0 ], [ 113.64632, -8.3447, 0.0 ], [ 113.64631, -8.34471, 0.0 ], [ 113.64629, -8.34471, 0.0 ], [ 113.6462, -8.3447, 0.0 ], [ 113.64616, -8.3447, 0.0 ], [ 113.64582, -8.34473, 0.0 ], [ 113.64578, -8.34473, 0.0 ], [ 113.64574, -8.34474, 0.0 ], [ 113.64568, -8.34477, 0.0 ], [ 113.64566, -8.34477, 0.0 ], [ 113.64565, -8.34477, 0.0 ], [ 113.64562, -8.34478, 0.0 ], [ 113.64558, -8.34478, 0.0 ], [ 113.64555, -8.34477, 0.0 ], [ 113.64548, -8.34476, 0.0 ], [ 113.64544, -8.34476, 0.0 ], [ 113.64537, -8.34477, 0.0 ], [ 113.64519, -8.34478, 0.0 ], [ 113.64512, -8.34478, 0.0 ], [ 113.64501, -8.34478, 0.0 ], [ 113.64494, -8.34479, 0.0 ], [ 113.64484, -8.3448, 0.0 ], [ 113.64468, -8.34482, 0.0 ], [ 113.64454, -8.34484, 0.0 ], [ 113.64448, -8.34485, 0.0 ], [ 113.64442, -8.34486, 0.0 ], [ 113.64439, -8.34487, 0.0 ], [ 113.64433, -8.3449, 0.0 ], [ 113.64414, -8.34501, 0.0 ], [ 113.64409, -8.34504, 0.0 ], [ 113.64375, -8.34523, 0.0 ], [ 113.64367, -8.34528, 0.0 ], [ 113.64351, -8.34537, 0.0 ], [ 113.6435, -8.34538, 0.0 ], [ 113.64326, -8.34552, 0.0 ], [ 113.64321, -8.34555, 0.0 ], [ 113.64316, -8.34559, 0.0 ], [ 113.64312, -8.34564, 0.0 ], [ 113.6431, -8.34565, 0.0 ], [ 113.64308, -8.34566, 0.0 ], [ 113.64304, -8.34568, 0.0 ], [ 113.64301, -8.34569, 0.0 ], [ 113.64293, -8.34574, 0.0 ], [ 113.64271, -8.34586, 0.0 ], [ 113.64269, -8.34587, 0.0 ], [ 113.64267, -8.34588, 0.0 ], [ 113.64266, -8.34588, 0.0 ], [ 113.64265, -8.34588, 0.0 ], [ 113.64264, -8.34588, 0.0 ], [ 113.64263, -8.34587, 0.0 ], [ 113.64262, -8.34586, 0.0 ], [ 113.64259, -8.34584, 0.0 ], [ 113.64266, -8.3458, 0.0 ], [ 113.64273, -8.34575, 0.0 ], [ 113.64278, -8.34572, 0.0 ], [ 113.64278, -8.34571, 0.0 ], [ 113.64279, -8.3457, 0.0 ], [ 113.6428, -8.34568, 0.0 ], [ 113.64281, -8.34566, 0.0 ], [ 113.64281, -8.34564, 0.0 ], [ 113.64282, -8.34559, 0.0 ], [ 113.64282, -8.34553, 0.0 ], [ 113.64288, -8.34499, 0.0 ], [ 113.6429, -8.34445, 0.0 ], [ 113.64291, -8.34406, 0.0 ], [ 113.64296, -8.34353, 0.0 ], [ 113.64296, -8.34341, 0.0 ], [ 113.64299, -8.34317, 0.0 ], [ 113.64299, -8.34314, 0.0 ], [ 113.64299, -8.34308, 0.0 ], [ 113.64302, -8.34246, 0.0 ], [ 113.64303, -8.34226, 0.0 ], [ 113.64306, -8.34135, 0.0 ], [ 113.64307, -8.34129, 0.0 ], [ 113.64312, -8.34045, 0.0 ], [ 113.64311, -8.33954, 0.0 ], [ 113.6431, -8.33924, 0.0 ], [ 113.64309, -8.33862, 0.0 ], [ 113.6431, -8.3377, 0.0 ], [ 113.64297, -8.3368, 0.0 ], [ 113.64293, -8.33584, 0.0 ], [ 113.64291, -8.33511, 0.0 ], [ 113.64291, -8.33435, 0.0 ], [ 113.64291, -8.33415, 0.0 ], [ 113.64292, -8.33405, 0.0 ], [ 113.64291, -8.33387, 0.0 ], [ 113.6429, -8.33348, 0.0 ], [ 113.64291, -8.33321, 0.0 ], [ 113.64291, -8.33319, 0.0 ], [ 113.64291, -8.33318, 0.0 ], [ 113.64292, -8.33317, 0.0 ], [ 113.64293, -8.33316, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "MJ8V+QCW, Pontang Utara, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6429293, -8.333162, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Jalan Tanpa Nama, Pontang Utara, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.65474, -8.3413076, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MJ3R+MXJ, Pontang Tengah, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6428102, -8.3456353, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MJ8V+QCW, Pontang Utara, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6429328, -8.3331594, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Pontang Utara.geojson b/smart_cycling_api/import_queue/done/Pontang Utara.geojson new file mode 100644 index 0000000..d32ea9f --- /dev/null +++ b/smart_cycling_api/import_queue/done/Pontang Utara.geojson @@ -0,0 +1,16 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari Jl. Brawijaya No.21, Pontang Utara, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia ke Jl. Brawijaya No.21, Pontang Utara, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari Jl. Brawijaya No.21, Pontang Utara, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia ke Jl. Brawijaya No.21, Pontang Utara, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.64311, -8.33954, 0.0 ], [ 113.64246, -8.3395, 0.0 ], [ 113.64199, -8.33947, 0.0 ], [ 113.64154, -8.33945, 0.0 ], [ 113.64067, -8.33938, 0.0 ], [ 113.64064, -8.33939, 0.0 ], [ 113.6399, -8.33934, 0.0 ], [ 113.63913, -8.33929, 0.0 ], [ 113.63904, -8.33929, 0.0 ], [ 113.63868, -8.33926, 0.0 ], [ 113.63863, -8.33926, 0.0 ], [ 113.63861, -8.33926, 0.0 ], [ 113.63859, -8.33927, 0.0 ], [ 113.63858, -8.33927, 0.0 ], [ 113.63857, -8.33928, 0.0 ], [ 113.63856, -8.33929, 0.0 ], [ 113.63856, -8.33931, 0.0 ], [ 113.63855, -8.33933, 0.0 ], [ 113.63855, -8.33944, 0.0 ], [ 113.63854, -8.33962, 0.0 ], [ 113.63854, -8.33968, 0.0 ], [ 113.63853, -8.3398, 0.0 ], [ 113.63853, -8.33981, 0.0 ], [ 113.63852, -8.33997, 0.0 ], [ 113.63853, -8.34019, 0.0 ], [ 113.63853, -8.34025, 0.0 ], [ 113.63852, -8.34042, 0.0 ], [ 113.6385, -8.34077, 0.0 ], [ 113.63849, -8.3411, 0.0 ], [ 113.63848, -8.34121, 0.0 ], [ 113.63843, -8.34201, 0.0 ], [ 113.63849, -8.34289, 0.0 ], [ 113.63703, -8.3427, 0.0 ], [ 113.63632, -8.34261, 0.0 ], [ 113.63626, -8.34349, 0.0 ], [ 113.63622, -8.34438, 0.0 ], [ 113.63591, -8.34432, 0.0 ], [ 113.63555, -8.34426, 0.0 ], [ 113.63516, -8.3442, 0.0 ], [ 113.63484, -8.34414, 0.0 ], [ 113.6346, -8.3441, 0.0 ], [ 113.63428, -8.34404, 0.0 ], [ 113.63428, -8.34407, 0.0 ], [ 113.63423, -8.34449, 0.0 ], [ 113.63419, -8.34492, 0.0 ], [ 113.63409, -8.34582, 0.0 ], [ 113.63399, -8.3467, 0.0 ], [ 113.63389, -8.34759, 0.0 ], [ 113.63338, -8.34749, 0.0 ], [ 113.63293, -8.3474, 0.0 ], [ 113.63264, -8.34735, 0.0 ], [ 113.6319, -8.34722, 0.0 ], [ 113.63181, -8.34773, 0.0 ], [ 113.63177, -8.3481, 0.0 ], [ 113.63174, -8.34845, 0.0 ], [ 113.63166, -8.34896, 0.0 ], [ 113.63151, -8.34982, 0.0 ], [ 113.63132, -8.35075, 0.0 ], [ 113.63137, -8.35076, 0.0 ], [ 113.63252, -8.35098, 0.0 ], [ 113.63315, -8.35112, 0.0 ], [ 113.63343, -8.35117, 0.0 ], [ 113.63379, -8.35124, 0.0 ], [ 113.63522, -8.35149, 0.0 ], [ 113.63543, -8.35153, 0.0 ], [ 113.63581, -8.35162, 0.0 ], [ 113.63623, -8.35171, 0.0 ], [ 113.63673, -8.35179, 0.0 ], [ 113.6369, -8.35181, 0.0 ], [ 113.6371, -8.35184, 0.0 ], [ 113.63767, -8.3519, 0.0 ], [ 113.63821, -8.35194, 0.0 ], [ 113.63839, -8.35196, 0.0 ], [ 113.63963, -8.35206, 0.0 ], [ 113.64048, -8.35211, 0.0 ], [ 113.64139, -8.35217, 0.0 ], [ 113.64154, -8.35218, 0.0 ], [ 113.64187, -8.35219, 0.0 ], [ 113.64204, -8.35219, 0.0 ], [ 113.64204, -8.35208, 0.0 ], [ 113.64204, -8.35199, 0.0 ], [ 113.64213, -8.35126, 0.0 ], [ 113.64222, -8.35038, 0.0 ], [ 113.64229, -8.35003, 0.0 ], [ 113.64232, -8.34985, 0.0 ], [ 113.64239, -8.3495, 0.0 ], [ 113.64246, -8.34911, 0.0 ], [ 113.64248, -8.34873, 0.0 ], [ 113.6425, -8.34865, 0.0 ], [ 113.6425, -8.34862, 0.0 ], [ 113.64249, -8.3486, 0.0 ], [ 113.64248, -8.34859, 0.0 ], [ 113.64246, -8.34858, 0.0 ], [ 113.64243, -8.34858, 0.0 ], [ 113.64183, -8.34853, 0.0 ], [ 113.64147, -8.34851, 0.0 ], [ 113.64111, -8.3485, 0.0 ], [ 113.64038, -8.34847, 0.0 ], [ 113.64022, -8.34845, 0.0 ], [ 113.64036, -8.3483, 0.0 ], [ 113.64048, -8.34817, 0.0 ], [ 113.64058, -8.34805, 0.0 ], [ 113.64062, -8.34801, 0.0 ], [ 113.6407, -8.34791, 0.0 ], [ 113.64079, -8.34783, 0.0 ], [ 113.64102, -8.34756, 0.0 ], [ 113.64124, -8.34734, 0.0 ], [ 113.64138, -8.34716, 0.0 ], [ 113.64145, -8.34708, 0.0 ], [ 113.64152, -8.34701, 0.0 ], [ 113.6416, -8.34692, 0.0 ], [ 113.6418, -8.34671, 0.0 ], [ 113.64186, -8.34665, 0.0 ], [ 113.64205, -8.34644, 0.0 ], [ 113.64217, -8.34631, 0.0 ], [ 113.64229, -8.34618, 0.0 ], [ 113.64248, -8.34596, 0.0 ], [ 113.64249, -8.34595, 0.0 ], [ 113.64252, -8.34591, 0.0 ], [ 113.64254, -8.34586, 0.0 ], [ 113.64255, -8.34586, 0.0 ], [ 113.64256, -8.34585, 0.0 ], [ 113.64258, -8.34585, 0.0 ], [ 113.64259, -8.34584, 0.0 ], [ 113.64266, -8.3458, 0.0 ], [ 113.64273, -8.34575, 0.0 ], [ 113.64278, -8.34572, 0.0 ], [ 113.64278, -8.34571, 0.0 ], [ 113.64279, -8.3457, 0.0 ], [ 113.6428, -8.34568, 0.0 ], [ 113.64281, -8.34566, 0.0 ], [ 113.64282, -8.34559, 0.0 ], [ 113.64282, -8.34553, 0.0 ], [ 113.64288, -8.34499, 0.0 ], [ 113.6429, -8.34445, 0.0 ], [ 113.64291, -8.34406, 0.0 ], [ 113.64296, -8.34353, 0.0 ], [ 113.64296, -8.34341, 0.0 ], [ 113.64299, -8.34317, 0.0 ], [ 113.64299, -8.34314, 0.0 ], [ 113.64299, -8.34308, 0.0 ], [ 113.64302, -8.34246, 0.0 ], [ 113.64303, -8.34226, 0.0 ], [ 113.64306, -8.34135, 0.0 ], [ 113.64307, -8.34129, 0.0 ], [ 113.64312, -8.34045, 0.0 ], [ 113.64311, -8.33954, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "Jl. Brawijaya No.21, Pontang Utara, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6431062, -8.3395407, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MJ5Q+X89, Pontang Utara, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6385557, -8.3393149, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Jl. Brawijaya No.14, Pontang Tengah, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6342791, -8.3440731, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JJXJ+MMV, Pontang Tengah, Pontang, tengah, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6313744, -8.3507558, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JJXR+4HC, Pontang Tengah, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6420399, -8.3521878, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MJ2R+V7, Pontang Tengah, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6424838, -8.3485882, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MJ3R+MXJ, Pontang Tengah, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6424796, -8.3459588, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Jl. Brawijaya No.21, Pontang Utara, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6431062, -8.3395407, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Pontang.geojson b/smart_cycling_api/import_queue/done/Pontang.geojson new file mode 100644 index 0000000..d2b2a35 --- /dev/null +++ b/smart_cycling_api/import_queue/done/Pontang.geojson @@ -0,0 +1,15 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari Jl. Brawijaya No.5, Pontang Krajan, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia ke Jl. Brawijaya No.5, Pontang Krajan, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari Jl. Brawijaya No.5, Pontang Krajan, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia ke Jl. Brawijaya No.5, Pontang Krajan, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.6272, -8.35564, 0.0 ], [ 113.62719, -8.35564, 0.0 ], [ 113.62719, -8.35565, 0.0 ], [ 113.62718, -8.35566, 0.0 ], [ 113.62718, -8.35567, 0.0 ], [ 113.62717, -8.35568, 0.0 ], [ 113.62717, -8.35569, 0.0 ], [ 113.62717, -8.3557, 0.0 ], [ 113.627, -8.35649, 0.0 ], [ 113.62699, -8.35652, 0.0 ], [ 113.62677, -8.3574, 0.0 ], [ 113.62654, -8.35827, 0.0 ], [ 113.6265, -8.35844, 0.0 ], [ 113.62633, -8.35913, 0.0 ], [ 113.62606, -8.3601, 0.0 ], [ 113.62593, -8.36004, 0.0 ], [ 113.62606, -8.3601, 0.0 ], [ 113.62621, -8.36015, 0.0 ], [ 113.62769, -8.36077, 0.0 ], [ 113.62782, -8.36083, 0.0 ], [ 113.62783, -8.36083, 0.0 ], [ 113.62821, -8.36098, 0.0 ], [ 113.62836, -8.36104, 0.0 ], [ 113.62909, -8.36133, 0.0 ], [ 113.62968, -8.36157, 0.0 ], [ 113.63033, -8.36182, 0.0 ], [ 113.63082, -8.362, 0.0 ], [ 113.63135, -8.3622, 0.0 ], [ 113.63255, -8.36263, 0.0 ], [ 113.63303, -8.36279, 0.0 ], [ 113.63412, -8.36315, 0.0 ], [ 113.63439, -8.36322, 0.0 ], [ 113.63494, -8.36341, 0.0 ], [ 113.635, -8.36342, 0.0 ], [ 113.63529, -8.3635, 0.0 ], [ 113.63582, -8.36365, 0.0 ], [ 113.63585, -8.36365, 0.0 ], [ 113.63611, -8.36371, 0.0 ], [ 113.63643, -8.36377, 0.0 ], [ 113.63682, -8.36385, 0.0 ], [ 113.63737, -8.36397, 0.0 ], [ 113.63814, -8.36413, 0.0 ], [ 113.63837, -8.36418, 0.0 ], [ 113.63855, -8.36419, 0.0 ], [ 113.63961, -8.3644, 0.0 ], [ 113.64033, -8.36453, 0.0 ], [ 113.64076, -8.3646, 0.0 ], [ 113.64096, -8.36463, 0.0 ], [ 113.64159, -8.36476, 0.0 ], [ 113.64207, -8.36485, 0.0 ], [ 113.64218, -8.36487, 0.0 ], [ 113.64292, -8.36497, 0.0 ], [ 113.64328, -8.36504, 0.0 ], [ 113.64337, -8.36505, 0.0 ], [ 113.6437, -8.36513, 0.0 ], [ 113.64381, -8.36515, 0.0 ], [ 113.64392, -8.36516, 0.0 ], [ 113.6441, -8.36519, 0.0 ], [ 113.64412, -8.36519, 0.0 ], [ 113.64415, -8.3652, 0.0 ], [ 113.64535, -8.3654, 0.0 ], [ 113.64557, -8.36543, 0.0 ], [ 113.64593, -8.36549, 0.0 ], [ 113.64612, -8.36552, 0.0 ], [ 113.64701, -8.36565, 0.0 ], [ 113.64716, -8.36567, 0.0 ], [ 113.64726, -8.36569, 0.0 ], [ 113.64731, -8.3657, 0.0 ], [ 113.64778, -8.36577, 0.0 ], [ 113.64898, -8.36589, 0.0 ], [ 113.64908, -8.36592, 0.0 ], [ 113.64972, -8.36597, 0.0 ], [ 113.65003, -8.36601, 0.0 ], [ 113.65027, -8.36604, 0.0 ], [ 113.6504, -8.36606, 0.0 ], [ 113.65057, -8.36607, 0.0 ], [ 113.65071, -8.36608, 0.0 ], [ 113.65105, -8.36615, 0.0 ], [ 113.65134, -8.36621, 0.0 ], [ 113.65139, -8.36622, 0.0 ], [ 113.65153, -8.36626, 0.0 ], [ 113.65166, -8.36629, 0.0 ], [ 113.65179, -8.36633, 0.0 ], [ 113.65192, -8.36638, 0.0 ], [ 113.65234, -8.36656, 0.0 ], [ 113.65234, -8.36654, 0.0 ], [ 113.65234, -8.36652, 0.0 ], [ 113.65234, -8.3665, 0.0 ], [ 113.65234, -8.36648, 0.0 ], [ 113.65234, -8.36646, 0.0 ], [ 113.65235, -8.36644, 0.0 ], [ 113.65235, -8.36641, 0.0 ], [ 113.65236, -8.36638, 0.0 ], [ 113.65236, -8.36632, 0.0 ], [ 113.65272, -8.36641, 0.0 ], [ 113.6531, -8.36652, 0.0 ], [ 113.65318, -8.36654, 0.0 ], [ 113.65329, -8.36658, 0.0 ], [ 113.65347, -8.36662, 0.0 ], [ 113.65359, -8.36664, 0.0 ], [ 113.65369, -8.36666, 0.0 ], [ 113.65383, -8.36668, 0.0 ], [ 113.65407, -8.3667, 0.0 ], [ 113.65431, -8.36676, 0.0 ], [ 113.6547, -8.36683, 0.0 ], [ 113.65484, -8.36685, 0.0 ], [ 113.65496, -8.36686, 0.0 ], [ 113.65502, -8.36686, 0.0 ], [ 113.65518, -8.36687, 0.0 ], [ 113.65521, -8.36687, 0.0 ], [ 113.65535, -8.36688, 0.0 ], [ 113.65542, -8.36689, 0.0 ], [ 113.6557, -8.36691, 0.0 ], [ 113.65588, -8.36692, 0.0 ], [ 113.65643, -8.36698, 0.0 ], [ 113.65661, -8.36699, 0.0 ], [ 113.65679, -8.36701, 0.0 ], [ 113.65697, -8.36703, 0.0 ], [ 113.65768, -8.3671, 0.0 ], [ 113.65809, -8.36714, 0.0 ], [ 113.65822, -8.36715, 0.0 ], [ 113.65943, -8.36726, 0.0 ], [ 113.66033, -8.3674, 0.0 ], [ 113.66041, -8.36741, 0.0 ], [ 113.66112, -8.3675, 0.0 ], [ 113.66116, -8.36751, 0.0 ], [ 113.66133, -8.36663, 0.0 ], [ 113.6614, -8.36619, 0.0 ], [ 113.6615, -8.36575, 0.0 ], [ 113.66166, -8.36487, 0.0 ], [ 113.66211, -8.364, 0.0 ], [ 113.66215, -8.36393, 0.0 ], [ 113.66248, -8.36328, 0.0 ], [ 113.66254, -8.36315, 0.0 ], [ 113.66248, -8.36314, 0.0 ], [ 113.66236, -8.36313, 0.0 ], [ 113.66218, -8.36311, 0.0 ], [ 113.66174, -8.36306, 0.0 ], [ 113.66089, -8.36295, 0.0 ], [ 113.66017, -8.36286, 0.0 ], [ 113.66001, -8.36284, 0.0 ], [ 113.65965, -8.36281, 0.0 ], [ 113.65947, -8.3628, 0.0 ], [ 113.65825, -8.36271, 0.0 ], [ 113.65744, -8.3626, 0.0 ], [ 113.65691, -8.36253, 0.0 ], [ 113.65636, -8.36246, 0.0 ], [ 113.65484, -8.36228, 0.0 ], [ 113.65478, -8.36226, 0.0 ], [ 113.65407, -8.36213, 0.0 ], [ 113.65389, -8.36209, 0.0 ], [ 113.65371, -8.36206, 0.0 ], [ 113.65304, -8.36192, 0.0 ], [ 113.65232, -8.36182, 0.0 ], [ 113.65214, -8.3618, 0.0 ], [ 113.65196, -8.36177, 0.0 ], [ 113.65131, -8.36168, 0.0 ], [ 113.65124, -8.36167, 0.0 ], [ 113.65015, -8.36152, 0.0 ], [ 113.64974, -8.36146, 0.0 ], [ 113.64884, -8.36135, 0.0 ], [ 113.64866, -8.36133, 0.0 ], [ 113.64845, -8.3613, 0.0 ], [ 113.64806, -8.36125, 0.0 ], [ 113.6477, -8.3612, 0.0 ], [ 113.64752, -8.36118, 0.0 ], [ 113.64734, -8.36115, 0.0 ], [ 113.64716, -8.36113, 0.0 ], [ 113.64698, -8.3611, 0.0 ], [ 113.6468, -8.36107, 0.0 ], [ 113.64662, -8.36104, 0.0 ], [ 113.64644, -8.36101, 0.0 ], [ 113.64634, -8.361, 0.0 ], [ 113.64627, -8.36099, 0.0 ], [ 113.64608, -8.36096, 0.0 ], [ 113.64572, -8.3609, 0.0 ], [ 113.64552, -8.36087, 0.0 ], [ 113.64532, -8.36083, 0.0 ], [ 113.64467, -8.36071, 0.0 ], [ 113.64449, -8.36069, 0.0 ], [ 113.64431, -8.36066, 0.0 ], [ 113.64411, -8.36063, 0.0 ], [ 113.64395, -8.3606, 0.0 ], [ 113.64297, -8.36044, 0.0 ], [ 113.64207, -8.36028, 0.0 ], [ 113.64189, -8.36024, 0.0 ], [ 113.64171, -8.36021, 0.0 ], [ 113.64129, -8.36013, 0.0 ], [ 113.64124, -8.36012, 0.0 ], [ 113.64049, -8.36, 0.0 ], [ 113.64035, -8.35998, 0.0 ], [ 113.64017, -8.35995, 0.0 ], [ 113.63951, -8.35984, 0.0 ], [ 113.63913, -8.35976, 0.0 ], [ 113.63898, -8.35973, 0.0 ], [ 113.63878, -8.35969, 0.0 ], [ 113.63845, -8.35962, 0.0 ], [ 113.63842, -8.35962, 0.0 ], [ 113.63777, -8.35948, 0.0 ], [ 113.6371, -8.35932, 0.0 ], [ 113.63693, -8.35927, 0.0 ], [ 113.63681, -8.35925, 0.0 ], [ 113.63657, -8.35918, 0.0 ], [ 113.6364, -8.35912, 0.0 ], [ 113.63626, -8.35908, 0.0 ], [ 113.63589, -8.35896, 0.0 ], [ 113.63541, -8.3588, 0.0 ], [ 113.63515, -8.35871, 0.0 ], [ 113.63472, -8.35855, 0.0 ], [ 113.63409, -8.35831, 0.0 ], [ 113.63366, -8.35817, 0.0 ], [ 113.63314, -8.35801, 0.0 ], [ 113.63297, -8.35795, 0.0 ], [ 113.63245, -8.35778, 0.0 ], [ 113.63184, -8.35755, 0.0 ], [ 113.63167, -8.35749, 0.0 ], [ 113.6315, -8.35742, 0.0 ], [ 113.63116, -8.35729, 0.0 ], [ 113.63082, -8.35716, 0.0 ], [ 113.63015, -8.35689, 0.0 ], [ 113.62998, -8.35683, 0.0 ], [ 113.62889, -8.3564, 0.0 ], [ 113.62807, -8.35603, 0.0 ], [ 113.6274, -8.35572, 0.0 ], [ 113.62725, -8.35565, 0.0 ], [ 113.62724, -8.35564, 0.0 ], [ 113.62723, -8.35564, 0.0 ], [ 113.62721, -8.35564, 0.0 ], [ 113.6272, -8.35564, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "Jl. Brawijaya No.5, Pontang Krajan, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6272008, -8.3556399, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Jembatan Gladak jati", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6259301, -8.3600354, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JMJ6+WGV, Selatannya balaidesa, Sidodadi, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6611197, -8.367505, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JMP7+V2H, Jl. Kota Blater, Sidodadi, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6624757, -8.3631436, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JMQ2+5HH, Sidodadi, Kec. Tempurejo, Kabupaten Jember, Jawa Timur, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6512447, -8.3616677, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Dekat, Pontang Krajan, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6404864, -8.3599999, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Jl. Brawijaya No.5, Pontang Krajan, Pontang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6272008, -8.3556399, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Puslit Koka .geojson b/smart_cycling_api/import_queue/done/Puslit Koka .geojson new file mode 100644 index 0000000..118035c --- /dev/null +++ b/smart_cycling_api/import_queue/done/Puslit Koka .geojson @@ -0,0 +1,13 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari Pusat Penelitian Kopi dan Kakao Indonesia, Kebun Percobaan Kaliwining, Jl. Kebun Renteng Jenggawah, Nogosari, Rambipuji, Nogosari Rambipuji, Gebang, Nogosari, Rambipuji, Jember Regency, East Java 68175, Indonesia ke Pusat Penelitian Kopi dan Kakao Indonesia, Kebun Percobaan Kaliwining, Jl. Kebun Renteng Jenggawah, Nogosari, Rambipuji, Nogosari Rambipuji, Gebang, Nogosari, Rambipuji, Jember Regency, East Java 68175, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari Pusat Penelitian Kopi dan Kakao Indonesia, Kebun Percobaan Kaliwining, Jl. Kebun Renteng Jenggawah, Nogosari, Rambipuji, Nogosari Rambipuji, Gebang, Nogosari, Rambipuji, Jember Regency, East Java 68175, Indonesia ke Pusat Penelitian Kopi dan Kakao Indonesia, Kebun Percobaan Kaliwining, Jl. Kebun Renteng Jenggawah, Nogosari, Rambipuji, Nogosari Rambipuji, Gebang, Nogosari, Rambipuji, Jember Regency, East Java 68175, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.61129, -8.25785, 0.0 ], [ 113.61127, -8.25867, 0.0 ], [ 113.61125, -8.25918, 0.0 ], [ 113.61126, -8.25931, 0.0 ], [ 113.61126, -8.25982, 0.0 ], [ 113.61072, -8.25981, 0.0 ], [ 113.6101, -8.25981, 0.0 ], [ 113.60889, -8.25984, 0.0 ], [ 113.60883, -8.25984, 0.0 ], [ 113.60851, -8.25985, 0.0 ], [ 113.60745, -8.25984, 0.0 ], [ 113.60633, -8.25984, 0.0 ], [ 113.60543, -8.25986, 0.0 ], [ 113.60525, -8.25987, 0.0 ], [ 113.60507, -8.25987, 0.0 ], [ 113.60416, -8.2599, 0.0 ], [ 113.60417, -8.26073, 0.0 ], [ 113.60418, -8.26109, 0.0 ], [ 113.60418, -8.26127, 0.0 ], [ 113.60418, -8.26145, 0.0 ], [ 113.60418, -8.26163, 0.0 ], [ 113.60418, -8.26175, 0.0 ], [ 113.60418, -8.26181, 0.0 ], [ 113.60418, -8.26217, 0.0 ], [ 113.60417, -8.26235, 0.0 ], [ 113.60417, -8.26236, 0.0 ], [ 113.60416, -8.26289, 0.0 ], [ 113.6039, -8.26289, 0.0 ], [ 113.60281, -8.26291, 0.0 ], [ 113.60242, -8.26291, 0.0 ], [ 113.6014, -8.26289, 0.0 ], [ 113.60133, -8.26288, 0.0 ], [ 113.60071, -8.26287, 0.0 ], [ 113.60038, -8.26287, 0.0 ], [ 113.60014, -8.26288, 0.0 ], [ 113.60006, -8.26288, 0.0 ], [ 113.60002, -8.26289, 0.0 ], [ 113.6, -8.2629, 0.0 ], [ 113.59999, -8.26291, 0.0 ], [ 113.59998, -8.26292, 0.0 ], [ 113.59998, -8.26293, 0.0 ], [ 113.59998, -8.26295, 0.0 ], [ 113.59998, -8.26297, 0.0 ], [ 113.59998, -8.26301, 0.0 ], [ 113.6, -8.26316, 0.0 ], [ 113.6, -8.26319, 0.0 ], [ 113.6, -8.2632, 0.0 ], [ 113.59999, -8.26321, 0.0 ], [ 113.59998, -8.26322, 0.0 ], [ 113.59997, -8.26323, 0.0 ], [ 113.59993, -8.26324, 0.0 ], [ 113.59986, -8.26326, 0.0 ], [ 113.59966, -8.26332, 0.0 ], [ 113.59954, -8.26334, 0.0 ], [ 113.59944, -8.26336, 0.0 ], [ 113.59913, -8.26341, 0.0 ], [ 113.59914, -8.26347, 0.0 ], [ 113.59917, -8.26359, 0.0 ], [ 113.59919, -8.26367, 0.0 ], [ 113.59919, -8.2637, 0.0 ], [ 113.59919, -8.26372, 0.0 ], [ 113.59918, -8.26373, 0.0 ], [ 113.59917, -8.26375, 0.0 ], [ 113.59916, -8.26376, 0.0 ], [ 113.59913, -8.26379, 0.0 ], [ 113.599, -8.2639, 0.0 ], [ 113.5987, -8.26412, 0.0 ], [ 113.59858, -8.26419, 0.0 ], [ 113.5985, -8.26423, 0.0 ], [ 113.59847, -8.26424, 0.0 ], [ 113.59835, -8.2643, 0.0 ], [ 113.59834, -8.2643, 0.0 ], [ 113.59811, -8.26439, 0.0 ], [ 113.59809, -8.26439, 0.0 ], [ 113.5977, -8.26451, 0.0 ], [ 113.59753, -8.26457, 0.0 ], [ 113.59748, -8.26459, 0.0 ], [ 113.5973, -8.26465, 0.0 ], [ 113.59703, -8.26472, 0.0 ], [ 113.5967, -8.2648, 0.0 ], [ 113.5962, -8.26491, 0.0 ], [ 113.59617, -8.26492, 0.0 ], [ 113.59573, -8.26502, 0.0 ], [ 113.59577, -8.26521, 0.0 ], [ 113.5958, -8.26531, 0.0 ], [ 113.59584, -8.26545, 0.0 ], [ 113.5959, -8.26556, 0.0 ], [ 113.59595, -8.26567, 0.0 ], [ 113.59602, -8.26579, 0.0 ], [ 113.59611, -8.26593, 0.0 ], [ 113.59651, -8.26658, 0.0 ], [ 113.59658, -8.26669, 0.0 ], [ 113.59668, -8.26685, 0.0 ], [ 113.59705, -8.26743, 0.0 ], [ 113.5969, -8.26745, 0.0 ], [ 113.59666, -8.26747, 0.0 ], [ 113.59625, -8.2675, 0.0 ], [ 113.59615, -8.2675, 0.0 ], [ 113.59577, -8.26753, 0.0 ], [ 113.59566, -8.26754, 0.0 ], [ 113.59534, -8.26756, 0.0 ], [ 113.59485, -8.26759, 0.0 ], [ 113.59464, -8.26761, 0.0 ], [ 113.59453, -8.26762, 0.0 ], [ 113.59437, -8.26763, 0.0 ], [ 113.59431, -8.26764, 0.0 ], [ 113.59427, -8.26766, 0.0 ], [ 113.59423, -8.26768, 0.0 ], [ 113.59417, -8.26773, 0.0 ], [ 113.59406, -8.26782, 0.0 ], [ 113.59362, -8.26821, 0.0 ], [ 113.59272, -8.26905, 0.0 ], [ 113.59232, -8.26943, 0.0 ], [ 113.59192, -8.26979, 0.0 ], [ 113.59107, -8.27053, 0.0 ], [ 113.59103, -8.27056, 0.0 ], [ 113.59094, -8.27064, 0.0 ], [ 113.5906, -8.27096, 0.0 ], [ 113.5905, -8.27105, 0.0 ], [ 113.59018, -8.27133, 0.0 ], [ 113.59015, -8.27136, 0.0 ], [ 113.58978, -8.2717, 0.0 ], [ 113.58932, -8.27211, 0.0 ], [ 113.58886, -8.27256, 0.0 ], [ 113.58886, -8.27262, 0.0 ], [ 113.58887, -8.27271, 0.0 ], [ 113.58905, -8.27318, 0.0 ], [ 113.58907, -8.27322, 0.0 ], [ 113.58929, -8.27391, 0.0 ], [ 113.5894, -8.27423, 0.0 ], [ 113.58943, -8.2743, 0.0 ], [ 113.58946, -8.2744, 0.0 ], [ 113.58947, -8.27444, 0.0 ], [ 113.58949, -8.27453, 0.0 ], [ 113.58949, -8.27469, 0.0 ], [ 113.58949, -8.27482, 0.0 ], [ 113.58947, -8.27568, 0.0 ], [ 113.58947, -8.27583, 0.0 ], [ 113.58947, -8.27605, 0.0 ], [ 113.58947, -8.27619, 0.0 ], [ 113.58947, -8.27625, 0.0 ], [ 113.58947, -8.2764, 0.0 ], [ 113.58946, -8.27658, 0.0 ], [ 113.58946, -8.27673, 0.0 ], [ 113.58947, -8.27702, 0.0 ], [ 113.58948, -8.27708, 0.0 ], [ 113.58949, -8.27713, 0.0 ], [ 113.58948, -8.27721, 0.0 ], [ 113.58947, -8.27732, 0.0 ], [ 113.58945, -8.27743, 0.0 ], [ 113.58943, -8.27752, 0.0 ], [ 113.58936, -8.27774, 0.0 ], [ 113.58926, -8.27809, 0.0 ], [ 113.58924, -8.27814, 0.0 ], [ 113.58919, -8.27844, 0.0 ], [ 113.58918, -8.27851, 0.0 ], [ 113.58915, -8.27871, 0.0 ], [ 113.58913, -8.27895, 0.0 ], [ 113.58913, -8.27902, 0.0 ], [ 113.58914, -8.27909, 0.0 ], [ 113.58919, -8.27931, 0.0 ], [ 113.5892, -8.27942, 0.0 ], [ 113.5892, -8.27958, 0.0 ], [ 113.58919, -8.27969, 0.0 ], [ 113.58916, -8.27993, 0.0 ], [ 113.58911, -8.28077, 0.0 ], [ 113.5891, -8.28095, 0.0 ], [ 113.58906, -8.28144, 0.0 ], [ 113.58902, -8.28184, 0.0 ], [ 113.58869, -8.28263, 0.0 ], [ 113.5885, -8.28331, 0.0 ], [ 113.58845, -8.2835, 0.0 ], [ 113.58836, -8.28381, 0.0 ], [ 113.58832, -8.28397, 0.0 ], [ 113.58826, -8.28418, 0.0 ], [ 113.58825, -8.28419, 0.0 ], [ 113.5882, -8.28436, 0.0 ], [ 113.58816, -8.28447, 0.0 ], [ 113.58815, -8.28453, 0.0 ], [ 113.5881, -8.28471, 0.0 ], [ 113.58805, -8.28488, 0.0 ], [ 113.58796, -8.28521, 0.0 ], [ 113.58789, -8.28553, 0.0 ], [ 113.58789, -8.28568, 0.0 ], [ 113.58795, -8.28567, 0.0 ], [ 113.588, -8.28568, 0.0 ], [ 113.58802, -8.28568, 0.0 ], [ 113.5886, -8.28578, 0.0 ], [ 113.58914, -8.28587, 0.0 ], [ 113.58926, -8.28589, 0.0 ], [ 113.58932, -8.2859, 0.0 ], [ 113.58985, -8.28599, 0.0 ], [ 113.5908, -8.28612, 0.0 ], [ 113.59188, -8.2864, 0.0 ], [ 113.59238, -8.28649, 0.0 ], [ 113.59246, -8.2865, 0.0 ], [ 113.59373, -8.28667, 0.0 ], [ 113.59414, -8.28673, 0.0 ], [ 113.59485, -8.28682, 0.0 ], [ 113.59489, -8.28682, 0.0 ], [ 113.59507, -8.28685, 0.0 ], [ 113.59538, -8.28686, 0.0 ], [ 113.59605, -8.28681, 0.0 ], [ 113.59626, -8.28679, 0.0 ], [ 113.59677, -8.28674, 0.0 ], [ 113.59709, -8.2867, 0.0 ], [ 113.59713, -8.28669, 0.0 ], [ 113.59726, -8.28666, 0.0 ], [ 113.59739, -8.28663, 0.0 ], [ 113.5977, -8.28655, 0.0 ], [ 113.59826, -8.28633, 0.0 ], [ 113.59935, -8.28591, 0.0 ], [ 113.59943, -8.28588, 0.0 ], [ 113.5995, -8.28585, 0.0 ], [ 113.59961, -8.28582, 0.0 ], [ 113.59977, -8.28577, 0.0 ], [ 113.59993, -8.28573, 0.0 ], [ 113.60067, -8.28552, 0.0 ], [ 113.60068, -8.28552, 0.0 ], [ 113.60115, -8.28541, 0.0 ], [ 113.60147, -8.28535, 0.0 ], [ 113.60206, -8.28528, 0.0 ], [ 113.60243, -8.28523, 0.0 ], [ 113.60278, -8.28519, 0.0 ], [ 113.60335, -8.28512, 0.0 ], [ 113.60388, -8.28502, 0.0 ], [ 113.60406, -8.28499, 0.0 ], [ 113.6043, -8.28497, 0.0 ], [ 113.60501, -8.28497, 0.0 ], [ 113.60529, -8.28497, 0.0 ], [ 113.60572, -8.28493, 0.0 ], [ 113.6058, -8.28492, 0.0 ], [ 113.60599, -8.28491, 0.0 ], [ 113.60616, -8.2849, 0.0 ], [ 113.60618, -8.28491, 0.0 ], [ 113.60643, -8.28492, 0.0 ], [ 113.60704, -8.28498, 0.0 ], [ 113.60812, -8.28506, 0.0 ], [ 113.60838, -8.28509, 0.0 ], [ 113.60904, -8.28516, 0.0 ], [ 113.60916, -8.28517, 0.0 ], [ 113.6093, -8.28519, 0.0 ], [ 113.60988, -8.28527, 0.0 ], [ 113.61006, -8.2853, 0.0 ], [ 113.61017, -8.28532, 0.0 ], [ 113.61046, -8.28539, 0.0 ], [ 113.61086, -8.28552, 0.0 ], [ 113.61165, -8.28582, 0.0 ], [ 113.61179, -8.28587, 0.0 ], [ 113.61221, -8.28605, 0.0 ], [ 113.61245, -8.28613, 0.0 ], [ 113.61285, -8.28625, 0.0 ], [ 113.61343, -8.2864, 0.0 ], [ 113.61388, -8.28652, 0.0 ], [ 113.61426, -8.28663, 0.0 ], [ 113.61445, -8.28669, 0.0 ], [ 113.61471, -8.28681, 0.0 ], [ 113.61481, -8.28687, 0.0 ], [ 113.61493, -8.28694, 0.0 ], [ 113.61508, -8.28705, 0.0 ], [ 113.61517, -8.28712, 0.0 ], [ 113.6152, -8.28714, 0.0 ], [ 113.61532, -8.28721, 0.0 ], [ 113.61548, -8.2873, 0.0 ], [ 113.61568, -8.2874, 0.0 ], [ 113.61585, -8.28749, 0.0 ], [ 113.61609, -8.2876, 0.0 ], [ 113.61623, -8.28763, 0.0 ], [ 113.61628, -8.28762, 0.0 ], [ 113.61645, -8.28761, 0.0 ], [ 113.6168, -8.28759, 0.0 ], [ 113.61706, -8.28757, 0.0 ], [ 113.6172, -8.28757, 0.0 ], [ 113.61728, -8.28756, 0.0 ], [ 113.61768, -8.28751, 0.0 ], [ 113.61815, -8.28739, 0.0 ], [ 113.61853, -8.28727, 0.0 ], [ 113.61872, -8.28721, 0.0 ], [ 113.61885, -8.28719, 0.0 ], [ 113.6189, -8.28718, 0.0 ], [ 113.61907, -8.28715, 0.0 ], [ 113.61945, -8.28715, 0.0 ], [ 113.61978, -8.28716, 0.0 ], [ 113.6202, -8.28721, 0.0 ], [ 113.6203, -8.28722, 0.0 ], [ 113.62072, -8.28726, 0.0 ], [ 113.62093, -8.2873, 0.0 ], [ 113.62124, -8.28735, 0.0 ], [ 113.62198, -8.2875, 0.0 ], [ 113.62255, -8.28763, 0.0 ], [ 113.62265, -8.28771, 0.0 ], [ 113.62256, -8.28788, 0.0 ], [ 113.62248, -8.28806, 0.0 ], [ 113.62245, -8.28812, 0.0 ], [ 113.62245, -8.28815, 0.0 ], [ 113.62245, -8.28818, 0.0 ], [ 113.62245, -8.28821, 0.0 ], [ 113.62247, -8.28825, 0.0 ], [ 113.62249, -8.28828, 0.0 ], [ 113.62338, -8.28888, 0.0 ], [ 113.62388, -8.28922, 0.0 ], [ 113.62391, -8.28924, 0.0 ], [ 113.62414, -8.28941, 0.0 ], [ 113.62415, -8.28941, 0.0 ], [ 113.62446, -8.28962, 0.0 ], [ 113.62494, -8.28995, 0.0 ], [ 113.6252, -8.29011, 0.0 ], [ 113.62523, -8.29013, 0.0 ], [ 113.62551, -8.2903, 0.0 ], [ 113.62585, -8.2905, 0.0 ], [ 113.6259, -8.29053, 0.0 ], [ 113.62598, -8.29058, 0.0 ], [ 113.62618, -8.29069, 0.0 ], [ 113.62637, -8.29081, 0.0 ], [ 113.62681, -8.29106, 0.0 ], [ 113.62683, -8.29107, 0.0 ], [ 113.6271, -8.29122, 0.0 ], [ 113.62731, -8.29134, 0.0 ], [ 113.6281, -8.2918, 0.0 ], [ 113.62831, -8.29192, 0.0 ], [ 113.62908, -8.29236, 0.0 ], [ 113.62949, -8.29259, 0.0 ], [ 113.62959, -8.29244, 0.0 ], [ 113.62965, -8.29234, 0.0 ], [ 113.62986, -8.29202, 0.0 ], [ 113.63, -8.29183, 0.0 ], [ 113.63009, -8.29172, 0.0 ], [ 113.63028, -8.29148, 0.0 ], [ 113.6303, -8.29145, 0.0 ], [ 113.63036, -8.29138, 0.0 ], [ 113.63046, -8.29126, 0.0 ], [ 113.63053, -8.2912, 0.0 ], [ 113.63063, -8.29108, 0.0 ], [ 113.63069, -8.29103, 0.0 ], [ 113.63077, -8.29095, 0.0 ], [ 113.63093, -8.2908, 0.0 ], [ 113.63128, -8.29054, 0.0 ], [ 113.6314, -8.29046, 0.0 ], [ 113.63164, -8.2903, 0.0 ], [ 113.63168, -8.29027, 0.0 ], [ 113.63199, -8.29007, 0.0 ], [ 113.63201, -8.29005, 0.0 ], [ 113.63223, -8.28991, 0.0 ], [ 113.6325, -8.28972, 0.0 ], [ 113.63258, -8.28966, 0.0 ], [ 113.63285, -8.28943, 0.0 ], [ 113.63301, -8.28929, 0.0 ], [ 113.63322, -8.2891, 0.0 ], [ 113.63324, -8.28908, 0.0 ], [ 113.63354, -8.28883, 0.0 ], [ 113.6338, -8.2886, 0.0 ], [ 113.63399, -8.28843, 0.0 ], [ 113.63409, -8.28831, 0.0 ], [ 113.6342, -8.28816, 0.0 ], [ 113.63421, -8.28815, 0.0 ], [ 113.63423, -8.28813, 0.0 ], [ 113.63428, -8.28803, 0.0 ], [ 113.63436, -8.28787, 0.0 ], [ 113.63445, -8.28764, 0.0 ], [ 113.63456, -8.28727, 0.0 ], [ 113.63458, -8.28722, 0.0 ], [ 113.63459, -8.28716, 0.0 ], [ 113.63476, -8.28658, 0.0 ], [ 113.63507, -8.28547, 0.0 ], [ 113.63516, -8.28521, 0.0 ], [ 113.63519, -8.2851, 0.0 ], [ 113.6353, -8.28474, 0.0 ], [ 113.63541, -8.28447, 0.0 ], [ 113.63548, -8.28432, 0.0 ], [ 113.63551, -8.28425, 0.0 ], [ 113.63565, -8.28399, 0.0 ], [ 113.63574, -8.28382, 0.0 ], [ 113.63581, -8.2837, 0.0 ], [ 113.63595, -8.28348, 0.0 ], [ 113.63608, -8.28327, 0.0 ], [ 113.63627, -8.28297, 0.0 ], [ 113.6363, -8.28292, 0.0 ], [ 113.63665, -8.28238, 0.0 ], [ 113.63676, -8.28221, 0.0 ], [ 113.63687, -8.28205, 0.0 ], [ 113.63698, -8.28188, 0.0 ], [ 113.63711, -8.28172, 0.0 ], [ 113.63732, -8.28147, 0.0 ], [ 113.63792, -8.28079, 0.0 ], [ 113.6383, -8.28037, 0.0 ], [ 113.63833, -8.28033, 0.0 ], [ 113.63845, -8.2802, 0.0 ], [ 113.63881, -8.27978, 0.0 ], [ 113.64021, -8.2782, 0.0 ], [ 113.64033, -8.27806, 0.0 ], [ 113.64065, -8.27769, 0.0 ], [ 113.64089, -8.27742, 0.0 ], [ 113.64194, -8.2762, 0.0 ], [ 113.64286, -8.27517, 0.0 ], [ 113.6434, -8.27455, 0.0 ], [ 113.64362, -8.27431, 0.0 ], [ 113.64363, -8.27431, 0.0 ], [ 113.64385, -8.27407, 0.0 ], [ 113.64439, -8.27351, 0.0 ], [ 113.64464, -8.27326, 0.0 ], [ 113.64491, -8.27296, 0.0 ], [ 113.64505, -8.27279, 0.0 ], [ 113.64518, -8.27262, 0.0 ], [ 113.64533, -8.27244, 0.0 ], [ 113.64544, -8.27229, 0.0 ], [ 113.64554, -8.27216, 0.0 ], [ 113.64563, -8.27203, 0.0 ], [ 113.64568, -8.27195, 0.0 ], [ 113.64573, -8.27186, 0.0 ], [ 113.64591, -8.2715, 0.0 ], [ 113.64604, -8.27127, 0.0 ], [ 113.64631, -8.27077, 0.0 ], [ 113.64658, -8.27023, 0.0 ], [ 113.64664, -8.27012, 0.0 ], [ 113.64666, -8.27007, 0.0 ], [ 113.64674, -8.26991, 0.0 ], [ 113.64682, -8.26975, 0.0 ], [ 113.647, -8.26939, 0.0 ], [ 113.64717, -8.26905, 0.0 ], [ 113.64722, -8.26893, 0.0 ], [ 113.64745, -8.26846, 0.0 ], [ 113.64747, -8.26841, 0.0 ], [ 113.6477, -8.26791, 0.0 ], [ 113.64779, -8.26772, 0.0 ], [ 113.64837, -8.26626, 0.0 ], [ 113.64856, -8.26568, 0.0 ], [ 113.64862, -8.26551, 0.0 ], [ 113.64876, -8.26514, 0.0 ], [ 113.64892, -8.26472, 0.0 ], [ 113.64897, -8.26459, 0.0 ], [ 113.64947, -8.26334, 0.0 ], [ 113.64955, -8.26309, 0.0 ], [ 113.64977, -8.26232, 0.0 ], [ 113.64995, -8.26162, 0.0 ], [ 113.65008, -8.26115, 0.0 ], [ 113.65016, -8.26085, 0.0 ], [ 113.65023, -8.26056, 0.0 ], [ 113.65027, -8.26039, 0.0 ], [ 113.65028, -8.26037, 0.0 ], [ 113.6503, -8.26022, 0.0 ], [ 113.65032, -8.26008, 0.0 ], [ 113.65034, -8.25973, 0.0 ], [ 113.65035, -8.25955, 0.0 ], [ 113.65036, -8.25939, 0.0 ], [ 113.65036, -8.25935, 0.0 ], [ 113.65036, -8.25939, 0.0 ], [ 113.65025, -8.25937, 0.0 ], [ 113.65007, -8.25934, 0.0 ], [ 113.64958, -8.25928, 0.0 ], [ 113.64938, -8.25924, 0.0 ], [ 113.64934, -8.25923, 0.0 ], [ 113.64882, -8.25915, 0.0 ], [ 113.64873, -8.25913, 0.0 ], [ 113.64863, -8.25911, 0.0 ], [ 113.6485, -8.25908, 0.0 ], [ 113.64843, -8.25906, 0.0 ], [ 113.64808, -8.25897, 0.0 ], [ 113.64803, -8.25896, 0.0 ], [ 113.6477, -8.25888, 0.0 ], [ 113.64764, -8.25887, 0.0 ], [ 113.64747, -8.25885, 0.0 ], [ 113.64722, -8.25883, 0.0 ], [ 113.64713, -8.25883, 0.0 ], [ 113.64707, -8.25882, 0.0 ], [ 113.64698, -8.25882, 0.0 ], [ 113.64688, -8.25882, 0.0 ], [ 113.6465, -8.25883, 0.0 ], [ 113.64619, -8.25883, 0.0 ], [ 113.646, -8.25882, 0.0 ], [ 113.64595, -8.25882, 0.0 ], [ 113.64504, -8.2588, 0.0 ], [ 113.64481, -8.2588, 0.0 ], [ 113.64447, -8.25879, 0.0 ], [ 113.64366, -8.25878, 0.0 ], [ 113.6435, -8.25878, 0.0 ], [ 113.64344, -8.25878, 0.0 ], [ 113.64288, -8.25881, 0.0 ], [ 113.64271, -8.25884, 0.0 ], [ 113.64259, -8.25888, 0.0 ], [ 113.6422, -8.25904, 0.0 ], [ 113.642, -8.25912, 0.0 ], [ 113.64189, -8.25915, 0.0 ], [ 113.64178, -8.25917, 0.0 ], [ 113.64154, -8.25908, 0.0 ], [ 113.64141, -8.25905, 0.0 ], [ 113.64118, -8.25901, 0.0 ], [ 113.64095, -8.25896, 0.0 ], [ 113.64068, -8.25891, 0.0 ], [ 113.64038, -8.25884, 0.0 ], [ 113.64003, -8.25876, 0.0 ], [ 113.6398, -8.2587, 0.0 ], [ 113.63963, -8.25865, 0.0 ], [ 113.6395, -8.25862, 0.0 ], [ 113.63922, -8.25853, 0.0 ], [ 113.63889, -8.25842, 0.0 ], [ 113.6386, -8.25829, 0.0 ], [ 113.63844, -8.25822, 0.0 ], [ 113.63841, -8.25821, 0.0 ], [ 113.63806, -8.25806, 0.0 ], [ 113.63774, -8.25795, 0.0 ], [ 113.6374, -8.25783, 0.0 ], [ 113.63699, -8.25769, 0.0 ], [ 113.63671, -8.25759, 0.0 ], [ 113.63632, -8.25745, 0.0 ], [ 113.63605, -8.25735, 0.0 ], [ 113.63599, -8.25733, 0.0 ], [ 113.63584, -8.25727, 0.0 ], [ 113.63562, -8.25719, 0.0 ], [ 113.63529, -8.25706, 0.0 ], [ 113.63503, -8.25697, 0.0 ], [ 113.63431, -8.25671, 0.0 ], [ 113.63391, -8.25656, 0.0 ], [ 113.6335, -8.25642, 0.0 ], [ 113.63316, -8.25636, 0.0 ], [ 113.63291, -8.25632, 0.0 ], [ 113.63281, -8.2563, 0.0 ], [ 113.63268, -8.25629, 0.0 ], [ 113.6326, -8.25629, 0.0 ], [ 113.63252, -8.25631, 0.0 ], [ 113.63244, -8.25633, 0.0 ], [ 113.63235, -8.25637, 0.0 ], [ 113.63223, -8.2564, 0.0 ], [ 113.63198, -8.25647, 0.0 ], [ 113.63173, -8.25654, 0.0 ], [ 113.63155, -8.25658, 0.0 ], [ 113.63132, -8.25663, 0.0 ], [ 113.63093, -8.25669, 0.0 ], [ 113.63076, -8.25672, 0.0 ], [ 113.63074, -8.25672, 0.0 ], [ 113.63055, -8.25673, 0.0 ], [ 113.63037, -8.25673, 0.0 ], [ 113.63019, -8.25671, 0.0 ], [ 113.63005, -8.25669, 0.0 ], [ 113.6295, -8.2566, 0.0 ], [ 113.62853, -8.2564, 0.0 ], [ 113.62824, -8.25633, 0.0 ], [ 113.62811, -8.2563, 0.0 ], [ 113.62808, -8.2563, 0.0 ], [ 113.6282, -8.25571, 0.0 ], [ 113.62821, -8.25569, 0.0 ], [ 113.62815, -8.25568, 0.0 ], [ 113.62803, -8.25566, 0.0 ], [ 113.62768, -8.25563, 0.0 ], [ 113.627, -8.25561, 0.0 ], [ 113.62621, -8.25559, 0.0 ], [ 113.62585, -8.25559, 0.0 ], [ 113.62549, -8.25558, 0.0 ], [ 113.62333, -8.25552, 0.0 ], [ 113.6232, -8.25553, 0.0 ], [ 113.61834, -8.25543, 0.0 ], [ 113.61797, -8.25542, 0.0 ], [ 113.61722, -8.2554, 0.0 ], [ 113.61585, -8.25536, 0.0 ], [ 113.6153, -8.25534, 0.0 ], [ 113.61457, -8.25532, 0.0 ], [ 113.61419, -8.25531, 0.0 ], [ 113.61422, -8.25495, 0.0 ], [ 113.61422, -8.25481, 0.0 ], [ 113.61414, -8.25479, 0.0 ], [ 113.61409, -8.25477, 0.0 ], [ 113.61408, -8.25477, 0.0 ], [ 113.61407, -8.25477, 0.0 ], [ 113.61406, -8.25478, 0.0 ], [ 113.61405, -8.25479, 0.0 ], [ 113.61404, -8.25481, 0.0 ], [ 113.61404, -8.25485, 0.0 ], [ 113.61405, -8.25495, 0.0 ], [ 113.61402, -8.25519, 0.0 ], [ 113.61378, -8.25647, 0.0 ], [ 113.61367, -8.25722, 0.0 ], [ 113.61356, -8.25794, 0.0 ], [ 113.6132, -8.25792, 0.0 ], [ 113.61284, -8.2579, 0.0 ], [ 113.61265, -8.25789, 0.0 ], [ 113.61181, -8.25785, 0.0 ], [ 113.61129, -8.25782, 0.0 ], [ 113.61129, -8.25786, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "Pusat Penelitian Kopi dan Kakao Indonesia, Kebun Percobaan Kaliwining, Jl. Kebun Renteng Jenggawah, Nogosari, Rambipuji, Nogosari Rambipuji, Gebang, Nogosari, Rambipuji, Jember Regency, East Java 68175, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6112939, -8.2578494, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PH7Q+P8V, Kebun Sadeng, Kemuningsari Kidul, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.5879953, -8.2856753, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PJ5H+2QF, Jl. Jember - Ambulu, Krajan Utara, Kertonegoro, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6295851, -8.2924446, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Langsepan Jenggawah RT/RW:01/03, Krajan, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6503613, -8.2593494, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Pusat Penelitian Kopi dan Kakao Indonesia, Kebun Percobaan Kaliwining, Jl. Kebun Renteng Jenggawah, Nogosari, Rambipuji, Nogosari Rambipuji, Gebang, Nogosari, Rambipuji, Jember Regency, East Java 68175, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6112935, -8.2578612, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Rute dari Jl.geojson b/smart_cycling_api/import_queue/done/Rute dari Jl.geojson new file mode 100644 index 0000000..2d42689 --- /dev/null +++ b/smart_cycling_api/import_queue/done/Rute dari Jl.geojson @@ -0,0 +1,10 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari Jl. Kawi No.156, Krajan, Wonojati, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke MJ44+2JJ, Jl. Raya Suyitman, Krajan, Ambulu, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari Jl. Kawi No.156, Krajan, Wonojati, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke MJ44+2JJ, Jl. Raya Suyitman, Krajan, Ambulu, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.64779, -8.26772, 0.0 ], [ 113.6477, -8.26791, 0.0 ], [ 113.64747, -8.26841, 0.0 ], [ 113.64745, -8.26846, 0.0 ], [ 113.64722, -8.26893, 0.0 ], [ 113.64717, -8.26905, 0.0 ], [ 113.647, -8.26939, 0.0 ], [ 113.64682, -8.26975, 0.0 ], [ 113.64674, -8.26991, 0.0 ], [ 113.64666, -8.27007, 0.0 ], [ 113.64664, -8.27012, 0.0 ], [ 113.64658, -8.27023, 0.0 ], [ 113.64631, -8.27077, 0.0 ], [ 113.64604, -8.27127, 0.0 ], [ 113.64591, -8.2715, 0.0 ], [ 113.64573, -8.27186, 0.0 ], [ 113.64568, -8.27195, 0.0 ], [ 113.64563, -8.27203, 0.0 ], [ 113.64554, -8.27216, 0.0 ], [ 113.64544, -8.27229, 0.0 ], [ 113.64533, -8.27244, 0.0 ], [ 113.64518, -8.27262, 0.0 ], [ 113.64505, -8.27279, 0.0 ], [ 113.64491, -8.27296, 0.0 ], [ 113.64464, -8.27326, 0.0 ], [ 113.64439, -8.27351, 0.0 ], [ 113.64385, -8.27407, 0.0 ], [ 113.64363, -8.27431, 0.0 ], [ 113.64362, -8.27431, 0.0 ], [ 113.6434, -8.27455, 0.0 ], [ 113.64286, -8.27517, 0.0 ], [ 113.64194, -8.2762, 0.0 ], [ 113.64089, -8.27742, 0.0 ], [ 113.64065, -8.27769, 0.0 ], [ 113.64033, -8.27806, 0.0 ], [ 113.64021, -8.2782, 0.0 ], [ 113.63881, -8.27978, 0.0 ], [ 113.63845, -8.2802, 0.0 ], [ 113.63833, -8.28033, 0.0 ], [ 113.6383, -8.28037, 0.0 ], [ 113.63792, -8.28079, 0.0 ], [ 113.63732, -8.28147, 0.0 ], [ 113.63711, -8.28172, 0.0 ], [ 113.63698, -8.28188, 0.0 ], [ 113.63687, -8.28205, 0.0 ], [ 113.63676, -8.28221, 0.0 ], [ 113.63665, -8.28238, 0.0 ], [ 113.6363, -8.28292, 0.0 ], [ 113.63627, -8.28297, 0.0 ], [ 113.63608, -8.28327, 0.0 ], [ 113.63595, -8.28348, 0.0 ], [ 113.63581, -8.2837, 0.0 ], [ 113.63574, -8.28382, 0.0 ], [ 113.63565, -8.28399, 0.0 ], [ 113.63551, -8.28425, 0.0 ], [ 113.63548, -8.28432, 0.0 ], [ 113.63541, -8.28447, 0.0 ], [ 113.6353, -8.28474, 0.0 ], [ 113.63519, -8.2851, 0.0 ], [ 113.63516, -8.28521, 0.0 ], [ 113.63507, -8.28547, 0.0 ], [ 113.63476, -8.28658, 0.0 ], [ 113.63459, -8.28716, 0.0 ], [ 113.63458, -8.28722, 0.0 ], [ 113.63456, -8.28727, 0.0 ], [ 113.63445, -8.28764, 0.0 ], [ 113.63436, -8.28787, 0.0 ], [ 113.63428, -8.28803, 0.0 ], [ 113.63423, -8.28813, 0.0 ], [ 113.63421, -8.28815, 0.0 ], [ 113.6342, -8.28816, 0.0 ], [ 113.63409, -8.28831, 0.0 ], [ 113.63399, -8.28843, 0.0 ], [ 113.6338, -8.2886, 0.0 ], [ 113.63354, -8.28883, 0.0 ], [ 113.63324, -8.28908, 0.0 ], [ 113.63322, -8.2891, 0.0 ], [ 113.63301, -8.28929, 0.0 ], [ 113.63285, -8.28943, 0.0 ], [ 113.63258, -8.28966, 0.0 ], [ 113.6325, -8.28972, 0.0 ], [ 113.63223, -8.28991, 0.0 ], [ 113.63201, -8.29005, 0.0 ], [ 113.63199, -8.29007, 0.0 ], [ 113.63168, -8.29027, 0.0 ], [ 113.63164, -8.2903, 0.0 ], [ 113.6314, -8.29046, 0.0 ], [ 113.63128, -8.29054, 0.0 ], [ 113.63093, -8.2908, 0.0 ], [ 113.63077, -8.29095, 0.0 ], [ 113.63069, -8.29103, 0.0 ], [ 113.63063, -8.29108, 0.0 ], [ 113.63053, -8.2912, 0.0 ], [ 113.63046, -8.29126, 0.0 ], [ 113.63036, -8.29138, 0.0 ], [ 113.6303, -8.29145, 0.0 ], [ 113.63028, -8.29148, 0.0 ], [ 113.63009, -8.29172, 0.0 ], [ 113.63, -8.29183, 0.0 ], [ 113.62986, -8.29202, 0.0 ], [ 113.62965, -8.29234, 0.0 ], [ 113.62949, -8.29259, 0.0 ], [ 113.62916, -8.29308, 0.0 ], [ 113.62888, -8.29345, 0.0 ], [ 113.62843, -8.29401, 0.0 ], [ 113.62839, -8.29405, 0.0 ], [ 113.62818, -8.29434, 0.0 ], [ 113.62795, -8.29463, 0.0 ], [ 113.62791, -8.29466, 0.0 ], [ 113.62778, -8.2948, 0.0 ], [ 113.62762, -8.29497, 0.0 ], [ 113.62736, -8.29526, 0.0 ], [ 113.6273, -8.29532, 0.0 ], [ 113.62728, -8.29533, 0.0 ], [ 113.62691, -8.29572, 0.0 ], [ 113.62688, -8.29575, 0.0 ], [ 113.6267, -8.29593, 0.0 ], [ 113.62652, -8.29612, 0.0 ], [ 113.62633, -8.29633, 0.0 ], [ 113.62573, -8.297, 0.0 ], [ 113.62518, -8.29763, 0.0 ], [ 113.6251, -8.29772, 0.0 ], [ 113.62498, -8.29785, 0.0 ], [ 113.62475, -8.2981, 0.0 ], [ 113.62448, -8.29835, 0.0 ], [ 113.62437, -8.29846, 0.0 ], [ 113.62404, -8.29877, 0.0 ], [ 113.62377, -8.29902, 0.0 ], [ 113.62351, -8.29926, 0.0 ], [ 113.62263, -8.30008, 0.0 ], [ 113.6224, -8.30029, 0.0 ], [ 113.62211, -8.30055, 0.0 ], [ 113.62181, -8.30083, 0.0 ], [ 113.6215, -8.30112, 0.0 ], [ 113.62073, -8.30182, 0.0 ], [ 113.62058, -8.30198, 0.0 ], [ 113.62041, -8.30214, 0.0 ], [ 113.62036, -8.30219, 0.0 ], [ 113.62025, -8.30229, 0.0 ], [ 113.6201, -8.30244, 0.0 ], [ 113.61997, -8.30258, 0.0 ], [ 113.61982, -8.30277, 0.0 ], [ 113.61967, -8.303, 0.0 ], [ 113.6195, -8.30327, 0.0 ], [ 113.61936, -8.3035, 0.0 ], [ 113.61907, -8.30398, 0.0 ], [ 113.61896, -8.30416, 0.0 ], [ 113.61839, -8.30513, 0.0 ], [ 113.61826, -8.30537, 0.0 ], [ 113.61793, -8.30599, 0.0 ], [ 113.61774, -8.30636, 0.0 ], [ 113.61742, -8.30691, 0.0 ], [ 113.61718, -8.30731, 0.0 ], [ 113.61681, -8.30792, 0.0 ], [ 113.61672, -8.30807, 0.0 ], [ 113.61671, -8.30809, 0.0 ], [ 113.61661, -8.30826, 0.0 ], [ 113.61652, -8.30841, 0.0 ], [ 113.61625, -8.30887, 0.0 ], [ 113.61595, -8.30941, 0.0 ], [ 113.61582, -8.30962, 0.0 ], [ 113.61547, -8.31028, 0.0 ], [ 113.61478, -8.31165, 0.0 ], [ 113.6146, -8.31197, 0.0 ], [ 113.61438, -8.31236, 0.0 ], [ 113.61413, -8.31282, 0.0 ], [ 113.61372, -8.31361, 0.0 ], [ 113.61356, -8.31393, 0.0 ], [ 113.61355, -8.31394, 0.0 ], [ 113.61318, -8.31463, 0.0 ], [ 113.61308, -8.3148, 0.0 ], [ 113.61265, -8.31559, 0.0 ], [ 113.61256, -8.31575, 0.0 ], [ 113.61248, -8.31591, 0.0 ], [ 113.61243, -8.31598, 0.0 ], [ 113.61226, -8.3163, 0.0 ], [ 113.61202, -8.31676, 0.0 ], [ 113.6118, -8.31717, 0.0 ], [ 113.61155, -8.31764, 0.0 ], [ 113.61134, -8.31809, 0.0 ], [ 113.61127, -8.31823, 0.0 ], [ 113.61115, -8.31849, 0.0 ], [ 113.61103, -8.31876, 0.0 ], [ 113.6108, -8.31928, 0.0 ], [ 113.61071, -8.31948, 0.0 ], [ 113.61063, -8.31967, 0.0 ], [ 113.61049, -8.32001, 0.0 ], [ 113.61048, -8.32004, 0.0 ], [ 113.6103, -8.32058, 0.0 ], [ 113.61016, -8.32105, 0.0 ], [ 113.60999, -8.32166, 0.0 ], [ 113.60996, -8.32174, 0.0 ], [ 113.60993, -8.32183, 0.0 ], [ 113.60979, -8.32232, 0.0 ], [ 113.60969, -8.32263, 0.0 ], [ 113.60938, -8.32365, 0.0 ], [ 113.60911, -8.32454, 0.0 ], [ 113.60908, -8.32466, 0.0 ], [ 113.60896, -8.32508, 0.0 ], [ 113.60893, -8.32519, 0.0 ], [ 113.60888, -8.32536, 0.0 ], [ 113.60885, -8.32548, 0.0 ], [ 113.60882, -8.32561, 0.0 ], [ 113.60879, -8.32571, 0.0 ], [ 113.60877, -8.3258, 0.0 ], [ 113.60871, -8.32606, 0.0 ], [ 113.60866, -8.32633, 0.0 ], [ 113.60863, -8.32654, 0.0 ], [ 113.60856, -8.32686, 0.0 ], [ 113.60855, -8.32693, 0.0 ], [ 113.60853, -8.32706, 0.0 ], [ 113.60852, -8.32716, 0.0 ], [ 113.60849, -8.32733, 0.0 ], [ 113.60847, -8.32751, 0.0 ], [ 113.60835, -8.32869, 0.0 ], [ 113.60835, -8.32894, 0.0 ], [ 113.60831, -8.32938, 0.0 ], [ 113.60829, -8.32956, 0.0 ], [ 113.60826, -8.32992, 0.0 ], [ 113.60823, -8.3303, 0.0 ], [ 113.6082, -8.33068, 0.0 ], [ 113.60818, -8.33082, 0.0 ], [ 113.60818, -8.33085, 0.0 ], [ 113.60814, -8.33123, 0.0 ], [ 113.60813, -8.33131, 0.0 ], [ 113.60814, -8.33136, 0.0 ], [ 113.60809, -8.33202, 0.0 ], [ 113.60806, -8.33236, 0.0 ], [ 113.60804, -8.33266, 0.0 ], [ 113.60804, -8.33269, 0.0 ], [ 113.60799, -8.33324, 0.0 ], [ 113.60788, -8.3347, 0.0 ], [ 113.60788, -8.33473, 0.0 ], [ 113.60783, -8.33506, 0.0 ], [ 113.60781, -8.33539, 0.0 ], [ 113.6078, -8.33553, 0.0 ], [ 113.60771, -8.33587, 0.0 ], [ 113.60768, -8.33599, 0.0 ], [ 113.60762, -8.33649, 0.0 ], [ 113.60761, -8.33658, 0.0 ], [ 113.60763, -8.33751, 0.0 ], [ 113.6076, -8.33794, 0.0 ], [ 113.6076, -8.33833, 0.0 ], [ 113.6076, -8.33848, 0.0 ], [ 113.60757, -8.33877, 0.0 ], [ 113.60754, -8.3392, 0.0 ], [ 113.6075, -8.33968, 0.0 ], [ 113.60746, -8.34002, 0.0 ], [ 113.60742, -8.34034, 0.0 ], [ 113.60741, -8.34051, 0.0 ], [ 113.6074, -8.3406, 0.0 ], [ 113.6074, -8.34061, 0.0 ], [ 113.6074, -8.34067, 0.0 ], [ 113.60733, -8.34124, 0.0 ], [ 113.60732, -8.34137, 0.0 ], [ 113.60729, -8.34163, 0.0 ], [ 113.60727, -8.34181, 0.0 ], [ 113.60724, -8.34206, 0.0 ], [ 113.6071, -8.3425, 0.0 ], [ 113.60707, -8.34269, 0.0 ], [ 113.60704, -8.3429, 0.0 ], [ 113.60698, -8.34313, 0.0 ], [ 113.60692, -8.3434, 0.0 ], [ 113.60686, -8.34366, 0.0 ], [ 113.60666, -8.34421, 0.0 ], [ 113.60642, -8.34483, 0.0 ], [ 113.6064, -8.3449, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "Jl. Kawi No.156, Krajan, Wonojati, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6477861, -8.2677205, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MJ44+2JJ, Jl. Raya Suyitman, Krajan, Ambulu, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6064016, -8.3449036, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Rute dari PMVF+R2P, Jatirejo, Jenggawah, Kec.geojson b/smart_cycling_api/import_queue/done/Rute dari PMVF+R2P, Jatirejo, Jenggawah, Kec.geojson new file mode 100644 index 0000000..2c2ff54 --- /dev/null +++ b/smart_cycling_api/import_queue/done/Rute dari PMVF+R2P, Jatirejo, Jenggawah, Kec.geojson @@ -0,0 +1,15 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari PMVF+R2P, Jatirejo, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke PMVF+R2P, Jatirejo, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari PMVF+R2P, Jatirejo, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia ke PMVF+R2P, Jatirejo, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.673, -8.25567, 0.0 ], [ 113.6731, -8.25572, 0.0 ], [ 113.67317, -8.25576, 0.0 ], [ 113.67321, -8.25578, 0.0 ], [ 113.67326, -8.25581, 0.0 ], [ 113.67327, -8.25582, 0.0 ], [ 113.67328, -8.25583, 0.0 ], [ 113.67331, -8.25586, 0.0 ], [ 113.67333, -8.25588, 0.0 ], [ 113.67335, -8.25591, 0.0 ], [ 113.67338, -8.25594, 0.0 ], [ 113.6734, -8.25598, 0.0 ], [ 113.67342, -8.25601, 0.0 ], [ 113.67344, -8.25605, 0.0 ], [ 113.67346, -8.25609, 0.0 ], [ 113.67349, -8.25616, 0.0 ], [ 113.67355, -8.25628, 0.0 ], [ 113.67358, -8.25632, 0.0 ], [ 113.67363, -8.25641, 0.0 ], [ 113.67388, -8.25685, 0.0 ], [ 113.67404, -8.25714, 0.0 ], [ 113.67418, -8.25738, 0.0 ], [ 113.67444, -8.25786, 0.0 ], [ 113.67493, -8.25871, 0.0 ], [ 113.6752, -8.25918, 0.0 ], [ 113.67553, -8.25976, 0.0 ], [ 113.67728, -8.26292, 0.0 ], [ 113.67744, -8.2632, 0.0 ], [ 113.67781, -8.26381, 0.0 ], [ 113.67814, -8.26444, 0.0 ], [ 113.67823, -8.2646, 0.0 ], [ 113.67826, -8.26466, 0.0 ], [ 113.67829, -8.2647, 0.0 ], [ 113.67833, -8.26476, 0.0 ], [ 113.67838, -8.26482, 0.0 ], [ 113.67843, -8.26487, 0.0 ], [ 113.67846, -8.2649, 0.0 ], [ 113.67849, -8.26493, 0.0 ], [ 113.67852, -8.26496, 0.0 ], [ 113.6786, -8.26502, 0.0 ], [ 113.67867, -8.26507, 0.0 ], [ 113.67878, -8.26514, 0.0 ], [ 113.67879, -8.26514, 0.0 ], [ 113.6789, -8.26521, 0.0 ], [ 113.679, -8.26526, 0.0 ], [ 113.67943, -8.2654, 0.0 ], [ 113.67973, -8.26556, 0.0 ], [ 113.68044, -8.26599, 0.0 ], [ 113.68055, -8.26606, 0.0 ], [ 113.68087, -8.26621, 0.0 ], [ 113.68118, -8.26639, 0.0 ], [ 113.68141, -8.26652, 0.0 ], [ 113.68143, -8.26654, 0.0 ], [ 113.68154, -8.2666, 0.0 ], [ 113.68159, -8.26663, 0.0 ], [ 113.68165, -8.26668, 0.0 ], [ 113.68174, -8.26677, 0.0 ], [ 113.68186, -8.2669, 0.0 ], [ 113.68197, -8.26703, 0.0 ], [ 113.68233, -8.26743, 0.0 ], [ 113.68251, -8.26763, 0.0 ], [ 113.68303, -8.26816, 0.0 ], [ 113.6832, -8.26834, 0.0 ], [ 113.68335, -8.26852, 0.0 ], [ 113.6838, -8.26901, 0.0 ], [ 113.68359, -8.26924, 0.0 ], [ 113.68342, -8.2694, 0.0 ], [ 113.68318, -8.26963, 0.0 ], [ 113.68307, -8.26974, 0.0 ], [ 113.68297, -8.26984, 0.0 ], [ 113.68294, -8.26987, 0.0 ], [ 113.68259, -8.27018, 0.0 ], [ 113.68237, -8.27039, 0.0 ], [ 113.68215, -8.27058, 0.0 ], [ 113.68196, -8.27075, 0.0 ], [ 113.68171, -8.27098, 0.0 ], [ 113.68137, -8.2713, 0.0 ], [ 113.68103, -8.2716, 0.0 ], [ 113.68074, -8.27189, 0.0 ], [ 113.68041, -8.2722, 0.0 ], [ 113.68025, -8.27235, 0.0 ], [ 113.67988, -8.27268, 0.0 ], [ 113.67974, -8.27281, 0.0 ], [ 113.67961, -8.27293, 0.0 ], [ 113.67948, -8.27304, 0.0 ], [ 113.67934, -8.27317, 0.0 ], [ 113.67926, -8.27325, 0.0 ], [ 113.67911, -8.27339, 0.0 ], [ 113.67878, -8.27371, 0.0 ], [ 113.67861, -8.27386, 0.0 ], [ 113.67852, -8.27393, 0.0 ], [ 113.6784, -8.27409, 0.0 ], [ 113.67827, -8.27428, 0.0 ], [ 113.67819, -8.2744, 0.0 ], [ 113.67812, -8.27452, 0.0 ], [ 113.67806, -8.27466, 0.0 ], [ 113.67804, -8.27469, 0.0 ], [ 113.67799, -8.27481, 0.0 ], [ 113.67798, -8.27486, 0.0 ], [ 113.67792, -8.27503, 0.0 ], [ 113.67791, -8.27509, 0.0 ], [ 113.67781, -8.27542, 0.0 ], [ 113.67762, -8.27607, 0.0 ], [ 113.67749, -8.2765, 0.0 ], [ 113.67728, -8.27716, 0.0 ], [ 113.67725, -8.27722, 0.0 ], [ 113.67719, -8.27744, 0.0 ], [ 113.67716, -8.27756, 0.0 ], [ 113.67709, -8.27779, 0.0 ], [ 113.67694, -8.27831, 0.0 ], [ 113.67681, -8.27872, 0.0 ], [ 113.67666, -8.27928, 0.0 ], [ 113.67664, -8.27935, 0.0 ], [ 113.67653, -8.27969, 0.0 ], [ 113.67648, -8.27986, 0.0 ], [ 113.67621, -8.2807, 0.0 ], [ 113.67615, -8.28089, 0.0 ], [ 113.67608, -8.28112, 0.0 ], [ 113.67603, -8.28137, 0.0 ], [ 113.67602, -8.28152, 0.0 ], [ 113.67601, -8.28167, 0.0 ], [ 113.67602, -8.28178, 0.0 ], [ 113.67602, -8.28185, 0.0 ], [ 113.67603, -8.28195, 0.0 ], [ 113.67604, -8.28209, 0.0 ], [ 113.67605, -8.28213, 0.0 ], [ 113.67608, -8.28233, 0.0 ], [ 113.67612, -8.2825, 0.0 ], [ 113.67617, -8.28267, 0.0 ], [ 113.67622, -8.28279, 0.0 ], [ 113.67623, -8.28283, 0.0 ], [ 113.67631, -8.28299, 0.0 ], [ 113.67641, -8.28317, 0.0 ], [ 113.67654, -8.2834, 0.0 ], [ 113.67668, -8.28361, 0.0 ], [ 113.67678, -8.28376, 0.0 ], [ 113.67685, -8.28386, 0.0 ], [ 113.67708, -8.28422, 0.0 ], [ 113.67735, -8.28454, 0.0 ], [ 113.67761, -8.28492, 0.0 ], [ 113.67783, -8.28523, 0.0 ], [ 113.67786, -8.28526, 0.0 ], [ 113.67799, -8.28545, 0.0 ], [ 113.67804, -8.28552, 0.0 ], [ 113.67805, -8.28555, 0.0 ], [ 113.67813, -8.28568, 0.0 ], [ 113.67823, -8.28586, 0.0 ], [ 113.67831, -8.28607, 0.0 ], [ 113.67836, -8.28621, 0.0 ], [ 113.67839, -8.28634, 0.0 ], [ 113.67842, -8.28649, 0.0 ], [ 113.67839, -8.28634, 0.0 ], [ 113.67825, -8.28638, 0.0 ], [ 113.6781, -8.28641, 0.0 ], [ 113.67777, -8.28646, 0.0 ], [ 113.67775, -8.28646, 0.0 ], [ 113.67744, -8.28652, 0.0 ], [ 113.67721, -8.28657, 0.0 ], [ 113.67709, -8.28659, 0.0 ], [ 113.67652, -8.28672, 0.0 ], [ 113.67622, -8.28677, 0.0 ], [ 113.67596, -8.28682, 0.0 ], [ 113.67589, -8.28683, 0.0 ], [ 113.67562, -8.2869, 0.0 ], [ 113.67534, -8.28696, 0.0 ], [ 113.6753, -8.28697, 0.0 ], [ 113.67502, -8.28699, 0.0 ], [ 113.67483, -8.28699, 0.0 ], [ 113.67452, -8.28699, 0.0 ], [ 113.67424, -8.28697, 0.0 ], [ 113.67409, -8.28696, 0.0 ], [ 113.67373, -8.28693, 0.0 ], [ 113.67313, -8.2869, 0.0 ], [ 113.67288, -8.28689, 0.0 ], [ 113.67254, -8.28687, 0.0 ], [ 113.67243, -8.28687, 0.0 ], [ 113.67235, -8.28687, 0.0 ], [ 113.67224, -8.28687, 0.0 ], [ 113.672, -8.28685, 0.0 ], [ 113.6719, -8.28684, 0.0 ], [ 113.67165, -8.28683, 0.0 ], [ 113.67159, -8.28683, 0.0 ], [ 113.67136, -8.28681, 0.0 ], [ 113.67124, -8.2868, 0.0 ], [ 113.67091, -8.28679, 0.0 ], [ 113.67086, -8.28679, 0.0 ], [ 113.67078, -8.28678, 0.0 ], [ 113.67054, -8.28676, 0.0 ], [ 113.67049, -8.28676, 0.0 ], [ 113.66998, -8.28672, 0.0 ], [ 113.66971, -8.2867, 0.0 ], [ 113.66942, -8.28668, 0.0 ], [ 113.66885, -8.28662, 0.0 ], [ 113.66861, -8.28661, 0.0 ], [ 113.66856, -8.28661, 0.0 ], [ 113.66837, -8.28661, 0.0 ], [ 113.66825, -8.2866, 0.0 ], [ 113.66818, -8.2866, 0.0 ], [ 113.66811, -8.2866, 0.0 ], [ 113.66793, -8.28659, 0.0 ], [ 113.66782, -8.28658, 0.0 ], [ 113.66751, -8.28658, 0.0 ], [ 113.66741, -8.28659, 0.0 ], [ 113.66734, -8.28661, 0.0 ], [ 113.66731, -8.28663, 0.0 ], [ 113.66729, -8.28666, 0.0 ], [ 113.66726, -8.2867, 0.0 ], [ 113.66725, -8.28674, 0.0 ], [ 113.66724, -8.28679, 0.0 ], [ 113.66724, -8.28694, 0.0 ], [ 113.66724, -8.28705, 0.0 ], [ 113.66706, -8.28709, 0.0 ], [ 113.66689, -8.28711, 0.0 ], [ 113.66674, -8.28714, 0.0 ], [ 113.6666, -8.28716, 0.0 ], [ 113.66656, -8.28717, 0.0 ], [ 113.66644, -8.28719, 0.0 ], [ 113.66638, -8.28721, 0.0 ], [ 113.66636, -8.28722, 0.0 ], [ 113.66631, -8.28725, 0.0 ], [ 113.66616, -8.28735, 0.0 ], [ 113.66605, -8.28742, 0.0 ], [ 113.66574, -8.28763, 0.0 ], [ 113.66571, -8.28755, 0.0 ], [ 113.6656, -8.28729, 0.0 ], [ 113.66558, -8.28725, 0.0 ], [ 113.66547, -8.287, 0.0 ], [ 113.6654, -8.28682, 0.0 ], [ 113.66525, -8.28646, 0.0 ], [ 113.66524, -8.28643, 0.0 ], [ 113.66474, -8.28521, 0.0 ], [ 113.66454, -8.2847, 0.0 ], [ 113.66373, -8.28274, 0.0 ], [ 113.66361, -8.28244, 0.0 ], [ 113.66305, -8.28108, 0.0 ], [ 113.66298, -8.28091, 0.0 ], [ 113.66266, -8.28011, 0.0 ], [ 113.66245, -8.27961, 0.0 ], [ 113.66219, -8.27897, 0.0 ], [ 113.66218, -8.27894, 0.0 ], [ 113.66206, -8.27864, 0.0 ], [ 113.662, -8.27848, 0.0 ], [ 113.66193, -8.27835, 0.0 ], [ 113.66189, -8.27829, 0.0 ], [ 113.66187, -8.27828, 0.0 ], [ 113.66183, -8.27824, 0.0 ], [ 113.66178, -8.2782, 0.0 ], [ 113.66167, -8.27815, 0.0 ], [ 113.66146, -8.27806, 0.0 ], [ 113.6612, -8.27795, 0.0 ], [ 113.66006, -8.27746, 0.0 ], [ 113.65955, -8.27724, 0.0 ], [ 113.65907, -8.27704, 0.0 ], [ 113.65886, -8.27695, 0.0 ], [ 113.65849, -8.27679, 0.0 ], [ 113.65835, -8.27673, 0.0 ], [ 113.6583, -8.27671, 0.0 ], [ 113.65821, -8.27668, 0.0 ], [ 113.65771, -8.27647, 0.0 ], [ 113.65743, -8.27637, 0.0 ], [ 113.65736, -8.27635, 0.0 ], [ 113.65729, -8.27635, 0.0 ], [ 113.65718, -8.27635, 0.0 ], [ 113.65694, -8.27637, 0.0 ], [ 113.65679, -8.27638, 0.0 ], [ 113.65672, -8.27638, 0.0 ], [ 113.65666, -8.27636, 0.0 ], [ 113.65661, -8.27635, 0.0 ], [ 113.65656, -8.27633, 0.0 ], [ 113.6565, -8.27627, 0.0 ], [ 113.65642, -8.2762, 0.0 ], [ 113.65628, -8.27608, 0.0 ], [ 113.65647, -8.2758, 0.0 ], [ 113.65651, -8.27575, 0.0 ], [ 113.65654, -8.27569, 0.0 ], [ 113.65658, -8.27562, 0.0 ], [ 113.65661, -8.27551, 0.0 ], [ 113.65667, -8.27529, 0.0 ], [ 113.65669, -8.2751, 0.0 ], [ 113.6567, -8.27504, 0.0 ], [ 113.65672, -8.27484, 0.0 ], [ 113.65673, -8.27459, 0.0 ], [ 113.65675, -8.27447, 0.0 ], [ 113.65677, -8.27441, 0.0 ], [ 113.65681, -8.27436, 0.0 ], [ 113.65688, -8.2743, 0.0 ], [ 113.65698, -8.27423, 0.0 ], [ 113.65708, -8.27416, 0.0 ], [ 113.65715, -8.27412, 0.0 ], [ 113.65726, -8.27404, 0.0 ], [ 113.65729, -8.27401, 0.0 ], [ 113.65732, -8.27398, 0.0 ], [ 113.65734, -8.27394, 0.0 ], [ 113.65738, -8.27373, 0.0 ], [ 113.65744, -8.27335, 0.0 ], [ 113.65751, -8.27291, 0.0 ], [ 113.65753, -8.27281, 0.0 ], [ 113.65756, -8.27275, 0.0 ], [ 113.65759, -8.2727, 0.0 ], [ 113.65763, -8.27266, 0.0 ], [ 113.65773, -8.27261, 0.0 ], [ 113.65786, -8.27256, 0.0 ], [ 113.65801, -8.27249, 0.0 ], [ 113.65823, -8.27237, 0.0 ], [ 113.65833, -8.27232, 0.0 ], [ 113.65849, -8.27223, 0.0 ], [ 113.65881, -8.27206, 0.0 ], [ 113.65906, -8.27193, 0.0 ], [ 113.65914, -8.2719, 0.0 ], [ 113.6592, -8.27189, 0.0 ], [ 113.65928, -8.27189, 0.0 ], [ 113.65935, -8.27192, 0.0 ], [ 113.65955, -8.27201, 0.0 ], [ 113.65963, -8.27203, 0.0 ], [ 113.65967, -8.27203, 0.0 ], [ 113.65971, -8.27204, 0.0 ], [ 113.6598, -8.27204, 0.0 ], [ 113.65989, -8.27203, 0.0 ], [ 113.66002, -8.272, 0.0 ], [ 113.66013, -8.27196, 0.0 ], [ 113.66024, -8.2719, 0.0 ], [ 113.66035, -8.27181, 0.0 ], [ 113.66047, -8.27169, 0.0 ], [ 113.6605, -8.27165, 0.0 ], [ 113.66058, -8.27155, 0.0 ], [ 113.6607, -8.27139, 0.0 ], [ 113.66073, -8.27134, 0.0 ], [ 113.6608, -8.27122, 0.0 ], [ 113.66087, -8.27106, 0.0 ], [ 113.66099, -8.27079, 0.0 ], [ 113.66106, -8.27064, 0.0 ], [ 113.66119, -8.27033, 0.0 ], [ 113.66128, -8.27015, 0.0 ], [ 113.66138, -8.26989, 0.0 ], [ 113.6614, -8.26984, 0.0 ], [ 113.66147, -8.26967, 0.0 ], [ 113.66172, -8.26903, 0.0 ], [ 113.66194, -8.2685, 0.0 ], [ 113.66214, -8.26793, 0.0 ], [ 113.66227, -8.26767, 0.0 ], [ 113.66241, -8.26735, 0.0 ], [ 113.66251, -8.26714, 0.0 ], [ 113.66254, -8.26706, 0.0 ], [ 113.66261, -8.26687, 0.0 ], [ 113.66268, -8.26672, 0.0 ], [ 113.6628, -8.26641, 0.0 ], [ 113.66296, -8.26609, 0.0 ], [ 113.66312, -8.26574, 0.0 ], [ 113.66332, -8.26537, 0.0 ], [ 113.6634, -8.26524, 0.0 ], [ 113.6636, -8.26487, 0.0 ], [ 113.66374, -8.26458, 0.0 ], [ 113.6639, -8.2642, 0.0 ], [ 113.66398, -8.26395, 0.0 ], [ 113.66401, -8.26387, 0.0 ], [ 113.66415, -8.26351, 0.0 ], [ 113.66417, -8.26346, 0.0 ], [ 113.66419, -8.26344, 0.0 ], [ 113.66421, -8.26343, 0.0 ], [ 113.66425, -8.26343, 0.0 ], [ 113.66429, -8.26345, 0.0 ], [ 113.66474, -8.2636, 0.0 ], [ 113.66514, -8.26375, 0.0 ], [ 113.66529, -8.26381, 0.0 ], [ 113.66531, -8.26382, 0.0 ], [ 113.66536, -8.26383, 0.0 ], [ 113.66541, -8.26385, 0.0 ], [ 113.66548, -8.26386, 0.0 ], [ 113.66556, -8.26384, 0.0 ], [ 113.66559, -8.26383, 0.0 ], [ 113.66565, -8.26379, 0.0 ], [ 113.66571, -8.26373, 0.0 ], [ 113.66582, -8.2636, 0.0 ], [ 113.66595, -8.26343, 0.0 ], [ 113.66599, -8.2634, 0.0 ], [ 113.66607, -8.26329, 0.0 ], [ 113.66621, -8.26313, 0.0 ], [ 113.66639, -8.26291, 0.0 ], [ 113.66645, -8.26284, 0.0 ], [ 113.66668, -8.26258, 0.0 ], [ 113.66712, -8.26201, 0.0 ], [ 113.66736, -8.2617, 0.0 ], [ 113.66741, -8.26164, 0.0 ], [ 113.66746, -8.26158, 0.0 ], [ 113.66749, -8.26152, 0.0 ], [ 113.66762, -8.2613, 0.0 ], [ 113.66764, -8.26127, 0.0 ], [ 113.66776, -8.26106, 0.0 ], [ 113.66791, -8.26076, 0.0 ], [ 113.66802, -8.26054, 0.0 ], [ 113.66816, -8.26024, 0.0 ], [ 113.66819, -8.2602, 0.0 ], [ 113.66842, -8.25977, 0.0 ], [ 113.66859, -8.25948, 0.0 ], [ 113.66874, -8.25919, 0.0 ], [ 113.66887, -8.25897, 0.0 ], [ 113.66905, -8.25862, 0.0 ], [ 113.66916, -8.2584, 0.0 ], [ 113.66928, -8.25816, 0.0 ], [ 113.66933, -8.25807, 0.0 ], [ 113.66942, -8.2579, 0.0 ], [ 113.66944, -8.25786, 0.0 ], [ 113.6697, -8.25735, 0.0 ], [ 113.6699, -8.25688, 0.0 ], [ 113.66994, -8.25681, 0.0 ], [ 113.67002, -8.25663, 0.0 ], [ 113.67017, -8.2563, 0.0 ], [ 113.6702, -8.25623, 0.0 ], [ 113.67029, -8.25604, 0.0 ], [ 113.67044, -8.25572, 0.0 ], [ 113.67053, -8.25552, 0.0 ], [ 113.67065, -8.25526, 0.0 ], [ 113.67072, -8.25509, 0.0 ], [ 113.67085, -8.25473, 0.0 ], [ 113.6709, -8.25461, 0.0 ], [ 113.67135, -8.25484, 0.0 ], [ 113.67202, -8.25518, 0.0 ], [ 113.67219, -8.25526, 0.0 ], [ 113.673, -8.25567, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "PMVF+R2P, Jatirejo, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6729959, -8.2556738, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Jl. Talang, Babatan, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6792563, -8.2732549, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PM7H+C5W, Cangkring Baru, Cangkring, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6784167, -8.2864872, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PM68+X7C, Cangkring Baru, Cangkring, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.665709, -8.2875546, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PMP7+FRR, Dusun, Gayasan A, Jatirejo, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.664151, -8.2635113, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PMVC+V8R, Gayasan A, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6708531, -8.2547307, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PMVF+R2P, Jatirejo, Jenggawah, Kec. Jenggawah, Kabupaten Jember, Jawa Timur 68171, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6729959, -8.2556738, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Suco - Mumbulsari.geojson b/smart_cycling_api/import_queue/done/Suco - Mumbulsari.geojson new file mode 100644 index 0000000..a4ca6e7 --- /dev/null +++ b/smart_cycling_api/import_queue/done/Suco - Mumbulsari.geojson @@ -0,0 +1,12 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari Safira Store, Jalan Soekarno Hatta, Kawang Rejo, Kawangrejo, Kabupaten Jember, Jawa Timur ke Safira Store, Jalan Soekarno Hatta, Kawang Rejo, Kawangrejo, Kabupaten Jember, Jawa Timur", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari Safira Store, Jalan Soekarno Hatta, Kawang Rejo, Kawangrejo, Kabupaten Jember, Jawa Timur ke Safira Store, Jalan Soekarno Hatta, Kawang Rejo, Kawangrejo, Kabupaten Jember, Jawa Timur", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.70527, -8.26426, 0.0 ], [ 113.70523, -8.26434, 0.0 ], [ 113.7052, -8.26443, 0.0 ], [ 113.70517, -8.26454, 0.0 ], [ 113.7058, -8.26449, 0.0 ], [ 113.70618, -8.26446, 0.0 ], [ 113.70642, -8.26445, 0.0 ], [ 113.70682, -8.26445, 0.0 ], [ 113.70715, -8.26444, 0.0 ], [ 113.70755, -8.26446, 0.0 ], [ 113.70822, -8.26443, 0.0 ], [ 113.70854, -8.2644, 0.0 ], [ 113.70867, -8.2644, 0.0 ], [ 113.70874, -8.2644, 0.0 ], [ 113.70883, -8.26441, 0.0 ], [ 113.70888, -8.26443, 0.0 ], [ 113.70892, -8.26444, 0.0 ], [ 113.70897, -8.26445, 0.0 ], [ 113.709, -8.26446, 0.0 ], [ 113.70904, -8.26446, 0.0 ], [ 113.70913, -8.26446, 0.0 ], [ 113.70923, -8.26445, 0.0 ], [ 113.70927, -8.26443, 0.0 ], [ 113.7093, -8.26442, 0.0 ], [ 113.70933, -8.26439, 0.0 ], [ 113.70939, -8.26435, 0.0 ], [ 113.70943, -8.26432, 0.0 ], [ 113.70955, -8.26423, 0.0 ], [ 113.7096, -8.2642, 0.0 ], [ 113.70964, -8.26418, 0.0 ], [ 113.7097, -8.26415, 0.0 ], [ 113.70977, -8.26413, 0.0 ], [ 113.70983, -8.26412, 0.0 ], [ 113.7099, -8.26413, 0.0 ], [ 113.70994, -8.26414, 0.0 ], [ 113.71019, -8.2643, 0.0 ], [ 113.71028, -8.26436, 0.0 ], [ 113.71036, -8.26439, 0.0 ], [ 113.71043, -8.26442, 0.0 ], [ 113.71049, -8.26442, 0.0 ], [ 113.71054, -8.26443, 0.0 ], [ 113.71067, -8.26442, 0.0 ], [ 113.71073, -8.26442, 0.0 ], [ 113.71075, -8.26442, 0.0 ], [ 113.71076, -8.26442, 0.0 ], [ 113.71096, -8.26441, 0.0 ], [ 113.71119, -8.26442, 0.0 ], [ 113.71147, -8.26445, 0.0 ], [ 113.71172, -8.26451, 0.0 ], [ 113.71185, -8.26454, 0.0 ], [ 113.71199, -8.26458, 0.0 ], [ 113.71222, -8.26466, 0.0 ], [ 113.71229, -8.26468, 0.0 ], [ 113.71252, -8.26475, 0.0 ], [ 113.71276, -8.26482, 0.0 ], [ 113.71283, -8.26484, 0.0 ], [ 113.71286, -8.26485, 0.0 ], [ 113.71289, -8.26485, 0.0 ], [ 113.71292, -8.26485, 0.0 ], [ 113.71294, -8.26485, 0.0 ], [ 113.71296, -8.26485, 0.0 ], [ 113.71299, -8.26484, 0.0 ], [ 113.71299, -8.26483, 0.0 ], [ 113.713, -8.26483, 0.0 ], [ 113.71301, -8.26483, 0.0 ], [ 113.71302, -8.26482, 0.0 ], [ 113.71302, -8.26481, 0.0 ], [ 113.71304, -8.2648, 0.0 ], [ 113.71312, -8.26471, 0.0 ], [ 113.71316, -8.26465, 0.0 ], [ 113.71337, -8.26435, 0.0 ], [ 113.71338, -8.26434, 0.0 ], [ 113.71349, -8.26419, 0.0 ], [ 113.7135, -8.26419, 0.0 ], [ 113.71359, -8.26406, 0.0 ], [ 113.71367, -8.26396, 0.0 ], [ 113.71372, -8.26389, 0.0 ], [ 113.71375, -8.26386, 0.0 ], [ 113.71378, -8.26384, 0.0 ], [ 113.7138, -8.26382, 0.0 ], [ 113.71384, -8.26381, 0.0 ], [ 113.7139, -8.2638, 0.0 ], [ 113.71391, -8.2638, 0.0 ], [ 113.71392, -8.2638, 0.0 ], [ 113.71393, -8.2638, 0.0 ], [ 113.71395, -8.2638, 0.0 ], [ 113.71396, -8.2638, 0.0 ], [ 113.71398, -8.26381, 0.0 ], [ 113.71402, -8.26384, 0.0 ], [ 113.71415, -8.26393, 0.0 ], [ 113.71431, -8.26407, 0.0 ], [ 113.71452, -8.26428, 0.0 ], [ 113.71468, -8.26447, 0.0 ], [ 113.71488, -8.26471, 0.0 ], [ 113.71507, -8.26493, 0.0 ], [ 113.71523, -8.26515, 0.0 ], [ 113.71544, -8.26539, 0.0 ], [ 113.71555, -8.26554, 0.0 ], [ 113.71562, -8.26564, 0.0 ], [ 113.71564, -8.26568, 0.0 ], [ 113.71572, -8.2658, 0.0 ], [ 113.71578, -8.26593, 0.0 ], [ 113.71585, -8.26607, 0.0 ], [ 113.71588, -8.26614, 0.0 ], [ 113.71591, -8.26623, 0.0 ], [ 113.71593, -8.26634, 0.0 ], [ 113.71594, -8.26641, 0.0 ], [ 113.71597, -8.26682, 0.0 ], [ 113.71597, -8.26687, 0.0 ], [ 113.71599, -8.26718, 0.0 ], [ 113.71602, -8.26756, 0.0 ], [ 113.71602, -8.26767, 0.0 ], [ 113.71603, -8.26777, 0.0 ], [ 113.71604, -8.26782, 0.0 ], [ 113.71607, -8.26789, 0.0 ], [ 113.71609, -8.26794, 0.0 ], [ 113.71612, -8.26802, 0.0 ], [ 113.71615, -8.2681, 0.0 ], [ 113.71615, -8.26811, 0.0 ], [ 113.71626, -8.26831, 0.0 ], [ 113.71635, -8.26844, 0.0 ], [ 113.71643, -8.26854, 0.0 ], [ 113.71655, -8.26868, 0.0 ], [ 113.7167, -8.26881, 0.0 ], [ 113.71703, -8.26908, 0.0 ], [ 113.71709, -8.26913, 0.0 ], [ 113.7175, -8.26949, 0.0 ], [ 113.71766, -8.26962, 0.0 ], [ 113.7177, -8.26965, 0.0 ], [ 113.71775, -8.2697, 0.0 ], [ 113.71785, -8.26976, 0.0 ], [ 113.71787, -8.26977, 0.0 ], [ 113.71801, -8.26983, 0.0 ], [ 113.71812, -8.26988, 0.0 ], [ 113.71829, -8.26996, 0.0 ], [ 113.71838, -8.27, 0.0 ], [ 113.71887, -8.2702, 0.0 ], [ 113.71941, -8.27043, 0.0 ], [ 113.71982, -8.2706, 0.0 ], [ 113.72033, -8.27081, 0.0 ], [ 113.72069, -8.27095, 0.0 ], [ 113.72103, -8.27107, 0.0 ], [ 113.72105, -8.271, 0.0 ], [ 113.72108, -8.27093, 0.0 ], [ 113.72111, -8.27087, 0.0 ], [ 113.72114, -8.27084, 0.0 ], [ 113.72117, -8.27082, 0.0 ], [ 113.72118, -8.27081, 0.0 ], [ 113.7212, -8.2708, 0.0 ], [ 113.72122, -8.27079, 0.0 ], [ 113.72125, -8.27079, 0.0 ], [ 113.7213, -8.27078, 0.0 ], [ 113.72143, -8.27078, 0.0 ], [ 113.72154, -8.27077, 0.0 ], [ 113.72161, -8.27075, 0.0 ], [ 113.72165, -8.27074, 0.0 ], [ 113.7217, -8.2707, 0.0 ], [ 113.72174, -8.27066, 0.0 ], [ 113.72176, -8.27062, 0.0 ], [ 113.72178, -8.27058, 0.0 ], [ 113.72184, -8.27046, 0.0 ], [ 113.72193, -8.2703, 0.0 ], [ 113.72202, -8.27016, 0.0 ], [ 113.72205, -8.27011, 0.0 ], [ 113.72216, -8.26998, 0.0 ], [ 113.72226, -8.26988, 0.0 ], [ 113.72233, -8.26981, 0.0 ], [ 113.72241, -8.26973, 0.0 ], [ 113.72262, -8.26959, 0.0 ], [ 113.7227, -8.26952, 0.0 ], [ 113.72275, -8.26947, 0.0 ], [ 113.72279, -8.26942, 0.0 ], [ 113.72286, -8.26934, 0.0 ], [ 113.72288, -8.26931, 0.0 ], [ 113.7229, -8.26927, 0.0 ], [ 113.72293, -8.2692, 0.0 ], [ 113.72294, -8.26912, 0.0 ], [ 113.72298, -8.26895, 0.0 ], [ 113.72301, -8.26869, 0.0 ], [ 113.72301, -8.26853, 0.0 ], [ 113.72302, -8.26832, 0.0 ], [ 113.72305, -8.26793, 0.0 ], [ 113.72309, -8.26756, 0.0 ], [ 113.72313, -8.26726, 0.0 ], [ 113.72318, -8.26709, 0.0 ], [ 113.72321, -8.26696, 0.0 ], [ 113.72336, -8.26647, 0.0 ], [ 113.72356, -8.26583, 0.0 ], [ 113.72367, -8.26547, 0.0 ], [ 113.72376, -8.26517, 0.0 ], [ 113.72381, -8.26502, 0.0 ], [ 113.72388, -8.26482, 0.0 ], [ 113.72396, -8.26452, 0.0 ], [ 113.72396, -8.26451, 0.0 ], [ 113.72405, -8.26413, 0.0 ], [ 113.72405, -8.26406, 0.0 ], [ 113.72408, -8.26387, 0.0 ], [ 113.72408, -8.26385, 0.0 ], [ 113.72412, -8.2635, 0.0 ], [ 113.72412, -8.26349, 0.0 ], [ 113.72414, -8.26312, 0.0 ], [ 113.72415, -8.26304, 0.0 ], [ 113.72416, -8.26287, 0.0 ], [ 113.72417, -8.26275, 0.0 ], [ 113.72418, -8.26251, 0.0 ], [ 113.72419, -8.26243, 0.0 ], [ 113.72421, -8.26231, 0.0 ], [ 113.72425, -8.26202, 0.0 ], [ 113.72427, -8.26192, 0.0 ], [ 113.72428, -8.26179, 0.0 ], [ 113.72429, -8.26165, 0.0 ], [ 113.72427, -8.26155, 0.0 ], [ 113.72426, -8.2615, 0.0 ], [ 113.72425, -8.26142, 0.0 ], [ 113.72422, -8.26136, 0.0 ], [ 113.7242, -8.2613, 0.0 ], [ 113.72418, -8.26125, 0.0 ], [ 113.72415, -8.26113, 0.0 ], [ 113.72414, -8.26112, 0.0 ], [ 113.72413, -8.26107, 0.0 ], [ 113.7241, -8.26082, 0.0 ], [ 113.7241, -8.26074, 0.0 ], [ 113.72411, -8.26066, 0.0 ], [ 113.72413, -8.26042, 0.0 ], [ 113.72415, -8.26027, 0.0 ], [ 113.7242, -8.25975, 0.0 ], [ 113.72469, -8.25981, 0.0 ], [ 113.72518, -8.25987, 0.0 ], [ 113.72569, -8.2599, 0.0 ], [ 113.72584, -8.2599, 0.0 ], [ 113.72608, -8.25989, 0.0 ], [ 113.72613, -8.25989, 0.0 ], [ 113.72658, -8.25985, 0.0 ], [ 113.72681, -8.25982, 0.0 ], [ 113.72696, -8.2598, 0.0 ], [ 113.72716, -8.25976, 0.0 ], [ 113.72734, -8.25973, 0.0 ], [ 113.72742, -8.25971, 0.0 ], [ 113.72752, -8.2597, 0.0 ], [ 113.72757, -8.25969, 0.0 ], [ 113.72766, -8.25968, 0.0 ], [ 113.72776, -8.25968, 0.0 ], [ 113.72791, -8.25969, 0.0 ], [ 113.72805, -8.25969, 0.0 ], [ 113.72824, -8.25969, 0.0 ], [ 113.72862, -8.25973, 0.0 ], [ 113.72895, -8.25976, 0.0 ], [ 113.72951, -8.25984, 0.0 ], [ 113.72954, -8.25985, 0.0 ], [ 113.72955, -8.25985, 0.0 ], [ 113.72986, -8.25989, 0.0 ], [ 113.7299, -8.2599, 0.0 ], [ 113.73038, -8.25996, 0.0 ], [ 113.73079, -8.26001, 0.0 ], [ 113.73115, -8.26005, 0.0 ], [ 113.73123, -8.26006, 0.0 ], [ 113.73168, -8.26012, 0.0 ], [ 113.732, -8.26016, 0.0 ], [ 113.73204, -8.26017, 0.0 ], [ 113.73209, -8.26017, 0.0 ], [ 113.73216, -8.26018, 0.0 ], [ 113.73222, -8.26019, 0.0 ], [ 113.73228, -8.2602, 0.0 ], [ 113.73233, -8.2602, 0.0 ], [ 113.73238, -8.26019, 0.0 ], [ 113.73244, -8.26017, 0.0 ], [ 113.73249, -8.26015, 0.0 ], [ 113.73253, -8.26014, 0.0 ], [ 113.73257, -8.26012, 0.0 ], [ 113.73293, -8.25995, 0.0 ], [ 113.733, -8.25991, 0.0 ], [ 113.73351, -8.25965, 0.0 ], [ 113.7336, -8.25961, 0.0 ], [ 113.73393, -8.25944, 0.0 ], [ 113.73422, -8.2593, 0.0 ], [ 113.73449, -8.25916, 0.0 ], [ 113.73474, -8.25903, 0.0 ], [ 113.73504, -8.25889, 0.0 ], [ 113.73545, -8.25868, 0.0 ], [ 113.7357, -8.25853, 0.0 ], [ 113.73576, -8.25849, 0.0 ], [ 113.73587, -8.25841, 0.0 ], [ 113.73599, -8.25832, 0.0 ], [ 113.736, -8.25831, 0.0 ], [ 113.73615, -8.2582, 0.0 ], [ 113.73632, -8.25807, 0.0 ], [ 113.73643, -8.25799, 0.0 ], [ 113.73671, -8.25777, 0.0 ], [ 113.73709, -8.25753, 0.0 ], [ 113.73717, -8.25747, 0.0 ], [ 113.73723, -8.25743, 0.0 ], [ 113.73746, -8.25728, 0.0 ], [ 113.738, -8.2569, 0.0 ], [ 113.73815, -8.2568, 0.0 ], [ 113.73821, -8.25676, 0.0 ], [ 113.73852, -8.25654, 0.0 ], [ 113.73897, -8.25623, 0.0 ], [ 113.73913, -8.25612, 0.0 ], [ 113.73942, -8.25593, 0.0 ], [ 113.73957, -8.25582, 0.0 ], [ 113.73972, -8.25571, 0.0 ], [ 113.74013, -8.25539, 0.0 ], [ 113.74025, -8.25529, 0.0 ], [ 113.74055, -8.25504, 0.0 ], [ 113.74072, -8.25488, 0.0 ], [ 113.74081, -8.2548, 0.0 ], [ 113.74097, -8.25465, 0.0 ], [ 113.74105, -8.25458, 0.0 ], [ 113.74155, -8.25405, 0.0 ], [ 113.7419, -8.25365, 0.0 ], [ 113.74195, -8.25359, 0.0 ], [ 113.74202, -8.25352, 0.0 ], [ 113.74117, -8.25283, 0.0 ], [ 113.74108, -8.25276, 0.0 ], [ 113.74105, -8.25273, 0.0 ], [ 113.74085, -8.25257, 0.0 ], [ 113.74032, -8.25216, 0.0 ], [ 113.73986, -8.25177, 0.0 ], [ 113.73966, -8.25161, 0.0 ], [ 113.73946, -8.25143, 0.0 ], [ 113.73929, -8.25134, 0.0 ], [ 113.73925, -8.25132, 0.0 ], [ 113.73923, -8.25131, 0.0 ], [ 113.73919, -8.25129, 0.0 ], [ 113.73916, -8.25127, 0.0 ], [ 113.73913, -8.25126, 0.0 ], [ 113.73911, -8.25126, 0.0 ], [ 113.73908, -8.25125, 0.0 ], [ 113.73903, -8.25126, 0.0 ], [ 113.73896, -8.25126, 0.0 ], [ 113.73888, -8.25127, 0.0 ], [ 113.73845, -8.25134, 0.0 ], [ 113.73798, -8.25142, 0.0 ], [ 113.7377, -8.25147, 0.0 ], [ 113.73746, -8.25151, 0.0 ], [ 113.73715, -8.25157, 0.0 ], [ 113.73697, -8.2516, 0.0 ], [ 113.73655, -8.25167, 0.0 ], [ 113.73584, -8.2518, 0.0 ], [ 113.73576, -8.25182, 0.0 ], [ 113.7357, -8.25182, 0.0 ], [ 113.73563, -8.25182, 0.0 ], [ 113.73557, -8.25181, 0.0 ], [ 113.73549, -8.25179, 0.0 ], [ 113.7354, -8.25176, 0.0 ], [ 113.73532, -8.25174, 0.0 ], [ 113.73514, -8.25168, 0.0 ], [ 113.73488, -8.25159, 0.0 ], [ 113.73445, -8.25147, 0.0 ], [ 113.73434, -8.25143, 0.0 ], [ 113.7343, -8.25142, 0.0 ], [ 113.73427, -8.2514, 0.0 ], [ 113.73424, -8.25138, 0.0 ], [ 113.73422, -8.25136, 0.0 ], [ 113.73419, -8.25134, 0.0 ], [ 113.73417, -8.25131, 0.0 ], [ 113.73415, -8.25129, 0.0 ], [ 113.73406, -8.25117, 0.0 ], [ 113.73392, -8.251, 0.0 ], [ 113.73385, -8.25088, 0.0 ], [ 113.73372, -8.25072, 0.0 ], [ 113.73303, -8.24973, 0.0 ], [ 113.73299, -8.24966, 0.0 ], [ 113.73294, -8.24959, 0.0 ], [ 113.73283, -8.24941, 0.0 ], [ 113.73278, -8.24935, 0.0 ], [ 113.73275, -8.2493, 0.0 ], [ 113.73274, -8.24929, 0.0 ], [ 113.73271, -8.24926, 0.0 ], [ 113.73261, -8.24918, 0.0 ], [ 113.7326, -8.24918, 0.0 ], [ 113.73253, -8.24914, 0.0 ], [ 113.73244, -8.2491, 0.0 ], [ 113.73238, -8.24907, 0.0 ], [ 113.73233, -8.24905, 0.0 ], [ 113.73227, -8.24904, 0.0 ], [ 113.73218, -8.24902, 0.0 ], [ 113.73204, -8.249, 0.0 ], [ 113.73199, -8.24899, 0.0 ], [ 113.73192, -8.24899, 0.0 ], [ 113.73188, -8.24898, 0.0 ], [ 113.73183, -8.24898, 0.0 ], [ 113.73177, -8.24897, 0.0 ], [ 113.73167, -8.24896, 0.0 ], [ 113.73158, -8.24895, 0.0 ], [ 113.73154, -8.24895, 0.0 ], [ 113.73148, -8.24894, 0.0 ], [ 113.7314, -8.24892, 0.0 ], [ 113.73132, -8.2489, 0.0 ], [ 113.7312, -8.24884, 0.0 ], [ 113.73113, -8.2488, 0.0 ], [ 113.73108, -8.24876, 0.0 ], [ 113.73105, -8.24874, 0.0 ], [ 113.731, -8.2487, 0.0 ], [ 113.73092, -8.24864, 0.0 ], [ 113.73091, -8.24863, 0.0 ], [ 113.73085, -8.24858, 0.0 ], [ 113.73078, -8.24853, 0.0 ], [ 113.73074, -8.24849, 0.0 ], [ 113.73066, -8.24842, 0.0 ], [ 113.7304, -8.24819, 0.0 ], [ 113.73023, -8.24803, 0.0 ], [ 113.73018, -8.24798, 0.0 ], [ 113.73, -8.24781, 0.0 ], [ 113.72995, -8.24777, 0.0 ], [ 113.7299, -8.24772, 0.0 ], [ 113.72984, -8.24768, 0.0 ], [ 113.7298, -8.24766, 0.0 ], [ 113.72977, -8.24765, 0.0 ], [ 113.72962, -8.2476, 0.0 ], [ 113.72959, -8.24758, 0.0 ], [ 113.72946, -8.24753, 0.0 ], [ 113.7294, -8.24751, 0.0 ], [ 113.72933, -8.24748, 0.0 ], [ 113.72926, -8.24745, 0.0 ], [ 113.72914, -8.24741, 0.0 ], [ 113.72903, -8.24736, 0.0 ], [ 113.72889, -8.24728, 0.0 ], [ 113.72876, -8.2472, 0.0 ], [ 113.72864, -8.24712, 0.0 ], [ 113.72849, -8.24703, 0.0 ], [ 113.72819, -8.24683, 0.0 ], [ 113.72797, -8.24671, 0.0 ], [ 113.72789, -8.24668, 0.0 ], [ 113.72776, -8.24663, 0.0 ], [ 113.72755, -8.24658, 0.0 ], [ 113.72736, -8.24654, 0.0 ], [ 113.72723, -8.24652, 0.0 ], [ 113.72708, -8.24651, 0.0 ], [ 113.72697, -8.24651, 0.0 ], [ 113.72689, -8.24651, 0.0 ], [ 113.72668, -8.24651, 0.0 ], [ 113.72654, -8.24651, 0.0 ], [ 113.72643, -8.24652, 0.0 ], [ 113.72634, -8.24653, 0.0 ], [ 113.72627, -8.24655, 0.0 ], [ 113.72592, -8.24665, 0.0 ], [ 113.72569, -8.24672, 0.0 ], [ 113.72564, -8.24673, 0.0 ], [ 113.72561, -8.24674, 0.0 ], [ 113.72555, -8.24677, 0.0 ], [ 113.72543, -8.24681, 0.0 ], [ 113.72535, -8.24685, 0.0 ], [ 113.72524, -8.24689, 0.0 ], [ 113.72511, -8.24696, 0.0 ], [ 113.72483, -8.24713, 0.0 ], [ 113.72468, -8.2472, 0.0 ], [ 113.72452, -8.24727, 0.0 ], [ 113.72409, -8.24745, 0.0 ], [ 113.72378, -8.24756, 0.0 ], [ 113.7237, -8.2476, 0.0 ], [ 113.72362, -8.24764, 0.0 ], [ 113.72336, -8.24775, 0.0 ], [ 113.7232, -8.24782, 0.0 ], [ 113.72293, -8.24796, 0.0 ], [ 113.72279, -8.24804, 0.0 ], [ 113.72267, -8.24809, 0.0 ], [ 113.72262, -8.24812, 0.0 ], [ 113.72236, -8.24824, 0.0 ], [ 113.72205, -8.24838, 0.0 ], [ 113.722, -8.2484, 0.0 ], [ 113.72195, -8.24843, 0.0 ], [ 113.72185, -8.24846, 0.0 ], [ 113.72175, -8.2485, 0.0 ], [ 113.72167, -8.24853, 0.0 ], [ 113.72156, -8.24857, 0.0 ], [ 113.72144, -8.2486, 0.0 ], [ 113.72113, -8.24867, 0.0 ], [ 113.72103, -8.24867, 0.0 ], [ 113.72091, -8.24863, 0.0 ], [ 113.72082, -8.24858, 0.0 ], [ 113.7207, -8.24851, 0.0 ], [ 113.72035, -8.24823, 0.0 ], [ 113.72028, -8.24818, 0.0 ], [ 113.72005, -8.24798, 0.0 ], [ 113.71989, -8.24785, 0.0 ], [ 113.71984, -8.2478, 0.0 ], [ 113.71978, -8.24775, 0.0 ], [ 113.71972, -8.24767, 0.0 ], [ 113.71969, -8.24761, 0.0 ], [ 113.71965, -8.24753, 0.0 ], [ 113.71962, -8.24743, 0.0 ], [ 113.71962, -8.24742, 0.0 ], [ 113.7196, -8.24736, 0.0 ], [ 113.71961, -8.24718, 0.0 ], [ 113.71962, -8.24697, 0.0 ], [ 113.71962, -8.24689, 0.0 ], [ 113.71962, -8.24681, 0.0 ], [ 113.71962, -8.24673, 0.0 ], [ 113.71961, -8.24671, 0.0 ], [ 113.7196, -8.24667, 0.0 ], [ 113.71955, -8.24655, 0.0 ], [ 113.7195, -8.24647, 0.0 ], [ 113.71939, -8.24632, 0.0 ], [ 113.71935, -8.24628, 0.0 ], [ 113.7193, -8.24624, 0.0 ], [ 113.71924, -8.24621, 0.0 ], [ 113.71919, -8.24618, 0.0 ], [ 113.71913, -8.24614, 0.0 ], [ 113.71908, -8.24611, 0.0 ], [ 113.71901, -8.24607, 0.0 ], [ 113.71895, -8.24603, 0.0 ], [ 113.71889, -8.24598, 0.0 ], [ 113.71884, -8.24593, 0.0 ], [ 113.7188, -8.24589, 0.0 ], [ 113.71854, -8.24561, 0.0 ], [ 113.7185, -8.24557, 0.0 ], [ 113.7185, -8.24556, 0.0 ], [ 113.71838, -8.24544, 0.0 ], [ 113.71837, -8.24543, 0.0 ], [ 113.71824, -8.2453, 0.0 ], [ 113.71803, -8.24501, 0.0 ], [ 113.71802, -8.245, 0.0 ], [ 113.71795, -8.24489, 0.0 ], [ 113.71793, -8.24486, 0.0 ], [ 113.7179, -8.2448, 0.0 ], [ 113.71785, -8.24469, 0.0 ], [ 113.71778, -8.24449, 0.0 ], [ 113.71776, -8.24441, 0.0 ], [ 113.71775, -8.24434, 0.0 ], [ 113.71771, -8.2441, 0.0 ], [ 113.71769, -8.24393, 0.0 ], [ 113.71768, -8.24383, 0.0 ], [ 113.71767, -8.24382, 0.0 ], [ 113.71765, -8.24365, 0.0 ], [ 113.71764, -8.24362, 0.0 ], [ 113.71755, -8.24315, 0.0 ], [ 113.71749, -8.24277, 0.0 ], [ 113.71741, -8.24227, 0.0 ], [ 113.71739, -8.24218, 0.0 ], [ 113.71738, -8.24213, 0.0 ], [ 113.71736, -8.24206, 0.0 ], [ 113.71731, -8.24202, 0.0 ], [ 113.71718, -8.2419, 0.0 ], [ 113.71683, -8.24164, 0.0 ], [ 113.71655, -8.24144, 0.0 ], [ 113.71626, -8.24126, 0.0 ], [ 113.71609, -8.24114, 0.0 ], [ 113.71581, -8.24092, 0.0 ], [ 113.71568, -8.24082, 0.0 ], [ 113.71547, -8.24067, 0.0 ], [ 113.71457, -8.24, 0.0 ], [ 113.71445, -8.23992, 0.0 ], [ 113.71401, -8.23959, 0.0 ], [ 113.71401, -8.23958, 0.0 ], [ 113.71359, -8.23924, 0.0 ], [ 113.71349, -8.23917, 0.0 ], [ 113.71331, -8.23903, 0.0 ], [ 113.71312, -8.23889, 0.0 ], [ 113.71278, -8.23866, 0.0 ], [ 113.71261, -8.23855, 0.0 ], [ 113.71229, -8.23829, 0.0 ], [ 113.71225, -8.23826, 0.0 ], [ 113.71223, -8.23825, 0.0 ], [ 113.7122, -8.23823, 0.0 ], [ 113.71217, -8.23821, 0.0 ], [ 113.71215, -8.2382, 0.0 ], [ 113.71211, -8.23819, 0.0 ], [ 113.71209, -8.23829, 0.0 ], [ 113.71206, -8.23843, 0.0 ], [ 113.712, -8.23868, 0.0 ], [ 113.71189, -8.23915, 0.0 ], [ 113.71187, -8.23925, 0.0 ], [ 113.71184, -8.23934, 0.0 ], [ 113.71179, -8.23955, 0.0 ], [ 113.71177, -8.23976, 0.0 ], [ 113.71175, -8.24014, 0.0 ], [ 113.71171, -8.24034, 0.0 ], [ 113.71169, -8.24043, 0.0 ], [ 113.71161, -8.24078, 0.0 ], [ 113.7116, -8.24082, 0.0 ], [ 113.71148, -8.24135, 0.0 ], [ 113.71145, -8.24147, 0.0 ], [ 113.71143, -8.24165, 0.0 ], [ 113.71135, -8.24199, 0.0 ], [ 113.71127, -8.24234, 0.0 ], [ 113.71123, -8.24252, 0.0 ], [ 113.71113, -8.24297, 0.0 ], [ 113.71107, -8.24325, 0.0 ], [ 113.711, -8.24352, 0.0 ], [ 113.71095, -8.24373, 0.0 ], [ 113.71091, -8.24391, 0.0 ], [ 113.71083, -8.24427, 0.0 ], [ 113.71079, -8.24443, 0.0 ], [ 113.71076, -8.24459, 0.0 ], [ 113.71075, -8.24461, 0.0 ], [ 113.71066, -8.245, 0.0 ], [ 113.71054, -8.24549, 0.0 ], [ 113.71041, -8.246, 0.0 ], [ 113.71034, -8.2463, 0.0 ], [ 113.7103, -8.2465, 0.0 ], [ 113.71023, -8.24678, 0.0 ], [ 113.71022, -8.24688, 0.0 ], [ 113.71012, -8.24724, 0.0 ], [ 113.71011, -8.24729, 0.0 ], [ 113.7101, -8.24745, 0.0 ], [ 113.71009, -8.24755, 0.0 ], [ 113.70999, -8.24779, 0.0 ], [ 113.70995, -8.24788, 0.0 ], [ 113.70991, -8.248, 0.0 ], [ 113.70978, -8.24831, 0.0 ], [ 113.70974, -8.24839, 0.0 ], [ 113.70972, -8.24844, 0.0 ], [ 113.70965, -8.24859, 0.0 ], [ 113.7096, -8.24869, 0.0 ], [ 113.70958, -8.24873, 0.0 ], [ 113.70949, -8.24892, 0.0 ], [ 113.70947, -8.24896, 0.0 ], [ 113.70946, -8.24897, 0.0 ], [ 113.70936, -8.24917, 0.0 ], [ 113.70933, -8.24923, 0.0 ], [ 113.70929, -8.24929, 0.0 ], [ 113.70912, -8.24965, 0.0 ], [ 113.70901, -8.24988, 0.0 ], [ 113.70898, -8.24994, 0.0 ], [ 113.7089, -8.25009, 0.0 ], [ 113.70888, -8.25014, 0.0 ], [ 113.70881, -8.25028, 0.0 ], [ 113.70875, -8.25041, 0.0 ], [ 113.70865, -8.25062, 0.0 ], [ 113.70857, -8.25077, 0.0 ], [ 113.70851, -8.2509, 0.0 ], [ 113.70843, -8.25111, 0.0 ], [ 113.70837, -8.25126, 0.0 ], [ 113.70834, -8.25137, 0.0 ], [ 113.70832, -8.2514, 0.0 ], [ 113.70829, -8.25155, 0.0 ], [ 113.70821, -8.25207, 0.0 ], [ 113.70821, -8.2521, 0.0 ], [ 113.70817, -8.25242, 0.0 ], [ 113.70814, -8.25267, 0.0 ], [ 113.7081, -8.25303, 0.0 ], [ 113.70806, -8.25332, 0.0 ], [ 113.70804, -8.25351, 0.0 ], [ 113.70803, -8.2536, 0.0 ], [ 113.70801, -8.25368, 0.0 ], [ 113.708, -8.25375, 0.0 ], [ 113.70793, -8.25402, 0.0 ], [ 113.70784, -8.25439, 0.0 ], [ 113.70784, -8.2544, 0.0 ], [ 113.70783, -8.25449, 0.0 ], [ 113.70782, -8.25459, 0.0 ], [ 113.70781, -8.25472, 0.0 ], [ 113.7078, -8.25483, 0.0 ], [ 113.70781, -8.25499, 0.0 ], [ 113.70784, -8.25517, 0.0 ], [ 113.70786, -8.25547, 0.0 ], [ 113.70786, -8.25555, 0.0 ], [ 113.70786, -8.25564, 0.0 ], [ 113.70786, -8.25573, 0.0 ], [ 113.70785, -8.25588, 0.0 ], [ 113.70782, -8.25605, 0.0 ], [ 113.7078, -8.25621, 0.0 ], [ 113.70777, -8.2564, 0.0 ], [ 113.70772, -8.25668, 0.0 ], [ 113.70769, -8.25689, 0.0 ], [ 113.70765, -8.25714, 0.0 ], [ 113.7076, -8.25734, 0.0 ], [ 113.70752, -8.25768, 0.0 ], [ 113.7074, -8.25813, 0.0 ], [ 113.7073, -8.25853, 0.0 ], [ 113.70722, -8.25884, 0.0 ], [ 113.70704, -8.25946, 0.0 ], [ 113.70695, -8.25975, 0.0 ], [ 113.70683, -8.26008, 0.0 ], [ 113.70668, -8.26049, 0.0 ], [ 113.70659, -8.26075, 0.0 ], [ 113.70643, -8.26116, 0.0 ], [ 113.70625, -8.26175, 0.0 ], [ 113.70614, -8.26212, 0.0 ], [ 113.7061, -8.2623, 0.0 ], [ 113.70609, -8.26233, 0.0 ], [ 113.706, -8.26267, 0.0 ], [ 113.70596, -8.26277, 0.0 ], [ 113.70592, -8.2629, 0.0 ], [ 113.70592, -8.26291, 0.0 ], [ 113.70584, -8.26312, 0.0 ], [ 113.70583, -8.26313, 0.0 ], [ 113.70578, -8.26325, 0.0 ], [ 113.70576, -8.26332, 0.0 ], [ 113.70563, -8.26357, 0.0 ], [ 113.70561, -8.26359, 0.0 ], [ 113.70554, -8.26373, 0.0 ], [ 113.70544, -8.26391, 0.0 ], [ 113.70539, -8.26401, 0.0 ], [ 113.70531, -8.26416, 0.0 ], [ 113.70527, -8.26426, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "Safira Store, Jalan Soekarno Hatta, Kawang Rejo, Kawangrejo, Kabupaten Jember, Jawa Timur", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.7052694, -8.2642558, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PPWR+HP9, Krajan, Mumbulsari, Kec. Mumbulsari, Kabupaten Jember, Jawa Timur 68174, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.7418987, -8.2536513, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "QP66+PRJ, Krajan, Lengkong, Kec. Mumbulsari, Kabupaten Jember, Jawa Timur 68174, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.7121072, -8.2381889, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Safira Store, Jalan Soekarno Hatta, Kawang Rejo, Kawangrejo, Kabupaten Jember, Jawa Timur", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.7052694, -8.2642558, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Sumberan - Langon Ambulu.geojson b/smart_cycling_api/import_queue/done/Sumberan - Langon Ambulu.geojson new file mode 100644 index 0000000..c9a4b0b --- /dev/null +++ b/smart_cycling_api/import_queue/done/Sumberan - Langon Ambulu.geojson @@ -0,0 +1,12 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari Pondok Pesantren Qomarul Wujud, Langon, Ambulu, Kabupaten Jember, Jawa Timur ke Pondok Pesantren Qomarul Wujud, Langon, Ambulu, Kabupaten Jember, Jawa Timur", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari Pondok Pesantren Qomarul Wujud, Langon, Ambulu, Kabupaten Jember, Jawa Timur ke Pondok Pesantren Qomarul Wujud, Langon, Ambulu, Kabupaten Jember, Jawa Timur", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.61665, -8.34159, 0.0 ], [ 113.61663, -8.3416, 0.0 ], [ 113.61649, -8.34164, 0.0 ], [ 113.61629, -8.34172, 0.0 ], [ 113.61607, -8.34179, 0.0 ], [ 113.61596, -8.34181, 0.0 ], [ 113.61551, -8.3419, 0.0 ], [ 113.61543, -8.34191, 0.0 ], [ 113.61525, -8.34192, 0.0 ], [ 113.61505, -8.34193, 0.0 ], [ 113.61446, -8.342, 0.0 ], [ 113.6141, -8.34204, 0.0 ], [ 113.61396, -8.34207, 0.0 ], [ 113.61381, -8.3421, 0.0 ], [ 113.61378, -8.34211, 0.0 ], [ 113.61345, -8.34218, 0.0 ], [ 113.61322, -8.34225, 0.0 ], [ 113.61317, -8.34227, 0.0 ], [ 113.61312, -8.34228, 0.0 ], [ 113.61308, -8.34228, 0.0 ], [ 113.61302, -8.34228, 0.0 ], [ 113.61296, -8.34227, 0.0 ], [ 113.61294, -8.34228, 0.0 ], [ 113.61291, -8.34229, 0.0 ], [ 113.61289, -8.3423, 0.0 ], [ 113.61287, -8.34231, 0.0 ], [ 113.61284, -8.34233, 0.0 ], [ 113.61281, -8.34237, 0.0 ], [ 113.61276, -8.34243, 0.0 ], [ 113.61268, -8.34254, 0.0 ], [ 113.6125, -8.34282, 0.0 ], [ 113.61237, -8.34305, 0.0 ], [ 113.61224, -8.34327, 0.0 ], [ 113.61212, -8.34346, 0.0 ], [ 113.6121, -8.34351, 0.0 ], [ 113.61183, -8.34351, 0.0 ], [ 113.61151, -8.34349, 0.0 ], [ 113.61136, -8.34347, 0.0 ], [ 113.61114, -8.34347, 0.0 ], [ 113.61102, -8.34346, 0.0 ], [ 113.611, -8.34345, 0.0 ], [ 113.61094, -8.34345, 0.0 ], [ 113.61012, -8.34324, 0.0 ], [ 113.60994, -8.34319, 0.0 ], [ 113.6097, -8.34313, 0.0 ], [ 113.60968, -8.34327, 0.0 ], [ 113.60954, -8.34426, 0.0 ], [ 113.60952, -8.34437, 0.0 ], [ 113.6095, -8.3445, 0.0 ], [ 113.60948, -8.34465, 0.0 ], [ 113.60941, -8.34512, 0.0 ], [ 113.60938, -8.34533, 0.0 ], [ 113.60936, -8.34548, 0.0 ], [ 113.60932, -8.34569, 0.0 ], [ 113.60929, -8.34589, 0.0 ], [ 113.60927, -8.34607, 0.0 ], [ 113.60926, -8.34609, 0.0 ], [ 113.60926, -8.34625, 0.0 ], [ 113.60922, -8.34654, 0.0 ], [ 113.60919, -8.3468, 0.0 ], [ 113.60918, -8.34697, 0.0 ], [ 113.60904, -8.34795, 0.0 ], [ 113.609, -8.34826, 0.0 ], [ 113.60918, -8.34831, 0.0 ], [ 113.60938, -8.34836, 0.0 ], [ 113.60986, -8.34849, 0.0 ], [ 113.61001, -8.34854, 0.0 ], [ 113.61005, -8.34855, 0.0 ], [ 113.61018, -8.34859, 0.0 ], [ 113.61022, -8.3486, 0.0 ], [ 113.61068, -8.34875, 0.0 ], [ 113.61076, -8.34878, 0.0 ], [ 113.61138, -8.34896, 0.0 ], [ 113.61142, -8.34897, 0.0 ], [ 113.61177, -8.34907, 0.0 ], [ 113.61182, -8.34909, 0.0 ], [ 113.61244, -8.34927, 0.0 ], [ 113.61248, -8.34929, 0.0 ], [ 113.6127, -8.34935, 0.0 ], [ 113.61275, -8.34937, 0.0 ], [ 113.61284, -8.3494, 0.0 ], [ 113.61294, -8.34944, 0.0 ], [ 113.61307, -8.34949, 0.0 ], [ 113.61345, -8.34964, 0.0 ], [ 113.61348, -8.34965, 0.0 ], [ 113.6137, -8.34974, 0.0 ], [ 113.61381, -8.3498, 0.0 ], [ 113.614, -8.3499, 0.0 ], [ 113.61412, -8.34996, 0.0 ], [ 113.61423, -8.35002, 0.0 ], [ 113.61427, -8.35004, 0.0 ], [ 113.61433, -8.35008, 0.0 ], [ 113.61444, -8.35015, 0.0 ], [ 113.61453, -8.35022, 0.0 ], [ 113.61461, -8.35029, 0.0 ], [ 113.61472, -8.3504, 0.0 ], [ 113.61473, -8.35041, 0.0 ], [ 113.61482, -8.35053, 0.0 ], [ 113.61508, -8.35089, 0.0 ], [ 113.61518, -8.35104, 0.0 ], [ 113.61524, -8.35114, 0.0 ], [ 113.61532, -8.35131, 0.0 ], [ 113.6158, -8.35135, 0.0 ], [ 113.61607, -8.35136, 0.0 ], [ 113.61622, -8.35136, 0.0 ], [ 113.61643, -8.35137, 0.0 ], [ 113.61655, -8.35137, 0.0 ], [ 113.61669, -8.35137, 0.0 ], [ 113.61704, -8.35139, 0.0 ], [ 113.61756, -8.35139, 0.0 ], [ 113.61763, -8.35139, 0.0 ], [ 113.61826, -8.35138, 0.0 ], [ 113.61849, -8.35138, 0.0 ], [ 113.61891, -8.35134, 0.0 ], [ 113.61895, -8.35134, 0.0 ], [ 113.61964, -8.35128, 0.0 ], [ 113.62017, -8.35124, 0.0 ], [ 113.62041, -8.35122, 0.0 ], [ 113.62061, -8.3512, 0.0 ], [ 113.62065, -8.3512, 0.0 ], [ 113.6212, -8.35116, 0.0 ], [ 113.62135, -8.35114, 0.0 ], [ 113.62146, -8.35112, 0.0 ], [ 113.62146, -8.35102, 0.0 ], [ 113.62144, -8.35089, 0.0 ], [ 113.62144, -8.35084, 0.0 ], [ 113.62144, -8.35076, 0.0 ], [ 113.62143, -8.35065, 0.0 ], [ 113.62143, -8.35056, 0.0 ], [ 113.62143, -8.35052, 0.0 ], [ 113.62143, -8.35048, 0.0 ], [ 113.62143, -8.35044, 0.0 ], [ 113.62144, -8.35041, 0.0 ], [ 113.62145, -8.35035, 0.0 ], [ 113.62146, -8.35031, 0.0 ], [ 113.62148, -8.35022, 0.0 ], [ 113.6215, -8.35015, 0.0 ], [ 113.62152, -8.35007, 0.0 ], [ 113.62153, -8.35005, 0.0 ], [ 113.62155, -8.35, 0.0 ], [ 113.62158, -8.34993, 0.0 ], [ 113.62161, -8.34988, 0.0 ], [ 113.62164, -8.34985, 0.0 ], [ 113.62171, -8.34977, 0.0 ], [ 113.62175, -8.34973, 0.0 ], [ 113.62178, -8.34968, 0.0 ], [ 113.62184, -8.34956, 0.0 ], [ 113.6219, -8.34941, 0.0 ], [ 113.62201, -8.34918, 0.0 ], [ 113.62216, -8.34889, 0.0 ], [ 113.6224, -8.34848, 0.0 ], [ 113.62259, -8.34813, 0.0 ], [ 113.62266, -8.34803, 0.0 ], [ 113.62274, -8.34793, 0.0 ], [ 113.62283, -8.34783, 0.0 ], [ 113.6229, -8.34773, 0.0 ], [ 113.62297, -8.34748, 0.0 ], [ 113.623, -8.34737, 0.0 ], [ 113.62302, -8.34721, 0.0 ], [ 113.62303, -8.34719, 0.0 ], [ 113.62304, -8.34704, 0.0 ], [ 113.62308, -8.34667, 0.0 ], [ 113.62308, -8.34665, 0.0 ], [ 113.62309, -8.3466, 0.0 ], [ 113.62311, -8.34621, 0.0 ], [ 113.62313, -8.34558, 0.0 ], [ 113.62313, -8.34555, 0.0 ], [ 113.62316, -8.34521, 0.0 ], [ 113.6232, -8.34493, 0.0 ], [ 113.62328, -8.34468, 0.0 ], [ 113.62331, -8.34456, 0.0 ], [ 113.62332, -8.34445, 0.0 ], [ 113.62333, -8.34434, 0.0 ], [ 113.62336, -8.34395, 0.0 ], [ 113.62336, -8.34376, 0.0 ], [ 113.62335, -8.34353, 0.0 ], [ 113.6233, -8.34274, 0.0 ], [ 113.6233, -8.34267, 0.0 ], [ 113.62329, -8.34263, 0.0 ], [ 113.62328, -8.3426, 0.0 ], [ 113.62326, -8.34258, 0.0 ], [ 113.62325, -8.34257, 0.0 ], [ 113.62324, -8.34257, 0.0 ], [ 113.62322, -8.34256, 0.0 ], [ 113.62316, -8.34256, 0.0 ], [ 113.6231, -8.34256, 0.0 ], [ 113.62308, -8.34256, 0.0 ], [ 113.62306, -8.34256, 0.0 ], [ 113.62304, -8.34255, 0.0 ], [ 113.62302, -8.34254, 0.0 ], [ 113.623, -8.34253, 0.0 ], [ 113.623, -8.34252, 0.0 ], [ 113.62299, -8.34251, 0.0 ], [ 113.62298, -8.3425, 0.0 ], [ 113.62296, -8.34246, 0.0 ], [ 113.62295, -8.34242, 0.0 ], [ 113.62295, -8.3424, 0.0 ], [ 113.62293, -8.34231, 0.0 ], [ 113.62288, -8.34198, 0.0 ], [ 113.62287, -8.34188, 0.0 ], [ 113.62287, -8.34183, 0.0 ], [ 113.62286, -8.3417, 0.0 ], [ 113.62285, -8.34165, 0.0 ], [ 113.62285, -8.34161, 0.0 ], [ 113.62284, -8.34153, 0.0 ], [ 113.62284, -8.3415, 0.0 ], [ 113.62282, -8.34135, 0.0 ], [ 113.62282, -8.34127, 0.0 ], [ 113.62281, -8.34124, 0.0 ], [ 113.6228, -8.34122, 0.0 ], [ 113.62278, -8.3412, 0.0 ], [ 113.62275, -8.34119, 0.0 ], [ 113.62273, -8.34118, 0.0 ], [ 113.62269, -8.34117, 0.0 ], [ 113.62257, -8.34118, 0.0 ], [ 113.6224, -8.34118, 0.0 ], [ 113.62211, -8.34118, 0.0 ], [ 113.62198, -8.34118, 0.0 ], [ 113.62182, -8.34118, 0.0 ], [ 113.62179, -8.34118, 0.0 ], [ 113.62167, -8.34118, 0.0 ], [ 113.62163, -8.34118, 0.0 ], [ 113.62149, -8.3412, 0.0 ], [ 113.62131, -8.34123, 0.0 ], [ 113.62127, -8.34124, 0.0 ], [ 113.62123, -8.34124, 0.0 ], [ 113.62119, -8.34125, 0.0 ], [ 113.62112, -8.34125, 0.0 ], [ 113.62095, -8.34123, 0.0 ], [ 113.62077, -8.34122, 0.0 ], [ 113.62076, -8.34122, 0.0 ], [ 113.62046, -8.34119, 0.0 ], [ 113.61994, -8.34113, 0.0 ], [ 113.61932, -8.34108, 0.0 ], [ 113.61903, -8.34111, 0.0 ], [ 113.61862, -8.34113, 0.0 ], [ 113.61846, -8.34115, 0.0 ], [ 113.61822, -8.3412, 0.0 ], [ 113.61815, -8.34122, 0.0 ], [ 113.6179, -8.34129, 0.0 ], [ 113.61769, -8.34134, 0.0 ], [ 113.6176, -8.34137, 0.0 ], [ 113.61751, -8.34138, 0.0 ], [ 113.61733, -8.3414, 0.0 ], [ 113.6172, -8.34142, 0.0 ], [ 113.61715, -8.34144, 0.0 ], [ 113.61696, -8.34149, 0.0 ], [ 113.61665, -8.34159, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "Pondok Pesantren Qomarul Wujud, Langon, Ambulu, Kabupaten Jember, Jawa Timur", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6166529, -8.3415896, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Jl. Pendidikan No.11, Sumberan, Ambulu, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6121242, -8.343465, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JJXC+HG4, Jl. KH Hasyim Asyhari, Langon, Ambulu, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6213488, -8.3511367, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Pondok Pesantren Qomarul Wujud, Langon, Ambulu, Kabupaten Jember, Jawa Timur", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6166529, -8.3415896, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Sumberejo.geojson b/smart_cycling_api/import_queue/done/Sumberejo.geojson new file mode 100644 index 0000000..1a7aab5 --- /dev/null +++ b/smart_cycling_api/import_queue/done/Sumberejo.geojson @@ -0,0 +1,13 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari JH9W+357 Jember Jawa timur ambulu Sabrang krajan, Jl. Ambulu - Watu Ulo, Krajan, Sabrang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia ke JH9W+357 Jember Jawa timur ambulu Sabrang krajan, Jl. Ambulu - Watu Ulo, Krajan, Sabrang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari JH9W+357 Jember Jawa timur ambulu Sabrang krajan, Jl. Ambulu - Watu Ulo, Krajan, Sabrang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia ke JH9W+357 Jember Jawa timur ambulu Sabrang krajan, Jl. Ambulu - Watu Ulo, Krajan, Sabrang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.59532, -8.38234, 0.0 ], [ 113.59528, -8.38235, 0.0 ], [ 113.59511, -8.38236, 0.0 ], [ 113.59464, -8.3824, 0.0 ], [ 113.59454, -8.38241, 0.0 ], [ 113.59437, -8.38243, 0.0 ], [ 113.59423, -8.38245, 0.0 ], [ 113.5941, -8.38249, 0.0 ], [ 113.59403, -8.38252, 0.0 ], [ 113.59401, -8.38253, 0.0 ], [ 113.59353, -8.3828, 0.0 ], [ 113.59311, -8.38308, 0.0 ], [ 113.5926, -8.38345, 0.0 ], [ 113.59252, -8.38351, 0.0 ], [ 113.59085, -8.38478, 0.0 ], [ 113.59079, -8.38483, 0.0 ], [ 113.59074, -8.38487, 0.0 ], [ 113.59035, -8.3852, 0.0 ], [ 113.59019, -8.38534, 0.0 ], [ 113.59013, -8.38539, 0.0 ], [ 113.58954, -8.38592, 0.0 ], [ 113.58913, -8.38629, 0.0 ], [ 113.5891, -8.38632, 0.0 ], [ 113.589, -8.38641, 0.0 ], [ 113.58885, -8.38652, 0.0 ], [ 113.58876, -8.3866, 0.0 ], [ 113.58808, -8.38715, 0.0 ], [ 113.58733, -8.38773, 0.0 ], [ 113.58723, -8.38784, 0.0 ], [ 113.58711, -8.38798, 0.0 ], [ 113.58701, -8.38812, 0.0 ], [ 113.58695, -8.38822, 0.0 ], [ 113.5869, -8.38831, 0.0 ], [ 113.58685, -8.38844, 0.0 ], [ 113.5868, -8.3886, 0.0 ], [ 113.58662, -8.38921, 0.0 ], [ 113.58652, -8.38948, 0.0 ], [ 113.5864, -8.38985, 0.0 ], [ 113.58631, -8.39014, 0.0 ], [ 113.58621, -8.39046, 0.0 ], [ 113.58616, -8.39064, 0.0 ], [ 113.586, -8.39111, 0.0 ], [ 113.58597, -8.39121, 0.0 ], [ 113.58586, -8.39156, 0.0 ], [ 113.58577, -8.3918, 0.0 ], [ 113.58568, -8.3921, 0.0 ], [ 113.58542, -8.39292, 0.0 ], [ 113.5854, -8.39297, 0.0 ], [ 113.58497, -8.39425, 0.0 ], [ 113.58456, -8.39552, 0.0 ], [ 113.58421, -8.39666, 0.0 ], [ 113.58406, -8.39715, 0.0 ], [ 113.58378, -8.39806, 0.0 ], [ 113.58371, -8.39832, 0.0 ], [ 113.58363, -8.39859, 0.0 ], [ 113.5836, -8.39872, 0.0 ], [ 113.58356, -8.39887, 0.0 ], [ 113.58352, -8.39902, 0.0 ], [ 113.5835, -8.39916, 0.0 ], [ 113.58348, -8.39942, 0.0 ], [ 113.58348, -8.39946, 0.0 ], [ 113.58348, -8.39965, 0.0 ], [ 113.58348, -8.39966, 0.0 ], [ 113.5835, -8.39983, 0.0 ], [ 113.58351, -8.39997, 0.0 ], [ 113.58351, -8.4, 0.0 ], [ 113.58353, -8.40018, 0.0 ], [ 113.58355, -8.40029, 0.0 ], [ 113.58356, -8.40036, 0.0 ], [ 113.58363, -8.40071, 0.0 ], [ 113.58415, -8.40072, 0.0 ], [ 113.58469, -8.40072, 0.0 ], [ 113.58488, -8.40074, 0.0 ], [ 113.58506, -8.40077, 0.0 ], [ 113.58532, -8.4008, 0.0 ], [ 113.58578, -8.40084, 0.0 ], [ 113.58598, -8.40085, 0.0 ], [ 113.58628, -8.40083, 0.0 ], [ 113.58645, -8.40083, 0.0 ], [ 113.58663, -8.40085, 0.0 ], [ 113.5868, -8.40087, 0.0 ], [ 113.58687, -8.40089, 0.0 ], [ 113.58712, -8.40097, 0.0 ], [ 113.58738, -8.40106, 0.0 ], [ 113.58748, -8.40109, 0.0 ], [ 113.58787, -8.40124, 0.0 ], [ 113.58814, -8.40136, 0.0 ], [ 113.58824, -8.40139, 0.0 ], [ 113.58831, -8.4014, 0.0 ], [ 113.58839, -8.40142, 0.0 ], [ 113.5884, -8.40142, 0.0 ], [ 113.58844, -8.40142, 0.0 ], [ 113.58847, -8.40142, 0.0 ], [ 113.5885, -8.40142, 0.0 ], [ 113.58865, -8.40138, 0.0 ], [ 113.58867, -8.40137, 0.0 ], [ 113.58873, -8.40134, 0.0 ], [ 113.58876, -8.40131, 0.0 ], [ 113.58878, -8.4013, 0.0 ], [ 113.58881, -8.40128, 0.0 ], [ 113.58883, -8.40124, 0.0 ], [ 113.58884, -8.40122, 0.0 ], [ 113.58884, -8.40118, 0.0 ], [ 113.58884, -8.40117, 0.0 ], [ 113.58885, -8.40112, 0.0 ], [ 113.58889, -8.4009, 0.0 ], [ 113.58897, -8.40059, 0.0 ], [ 113.58899, -8.40051, 0.0 ], [ 113.58916, -8.39979, 0.0 ], [ 113.58992, -8.39995, 0.0 ], [ 113.59024, -8.40003, 0.0 ], [ 113.59059, -8.40006, 0.0 ], [ 113.59088, -8.40008, 0.0 ], [ 113.59129, -8.40014, 0.0 ], [ 113.59185, -8.40022, 0.0 ], [ 113.59265, -8.40039, 0.0 ], [ 113.59294, -8.40045, 0.0 ], [ 113.59326, -8.40052, 0.0 ], [ 113.5933, -8.40052, 0.0 ], [ 113.59398, -8.40064, 0.0 ], [ 113.59407, -8.40065, 0.0 ], [ 113.59463, -8.40072, 0.0 ], [ 113.59501, -8.40074, 0.0 ], [ 113.59548, -8.40077, 0.0 ], [ 113.5962, -8.40081, 0.0 ], [ 113.59661, -8.40083, 0.0 ], [ 113.59663, -8.40069, 0.0 ], [ 113.59673, -8.40008, 0.0 ], [ 113.59684, -8.39926, 0.0 ], [ 113.59685, -8.39925, 0.0 ], [ 113.59707, -8.39784, 0.0 ], [ 113.59724, -8.39664, 0.0 ], [ 113.59711, -8.3966, 0.0 ], [ 113.59716, -8.3962, 0.0 ], [ 113.59717, -8.39607, 0.0 ], [ 113.59724, -8.39538, 0.0 ], [ 113.59729, -8.39512, 0.0 ], [ 113.59729, -8.39507, 0.0 ], [ 113.5973, -8.39492, 0.0 ], [ 113.59739, -8.39433, 0.0 ], [ 113.5975, -8.39361, 0.0 ], [ 113.59752, -8.39335, 0.0 ], [ 113.59754, -8.3932, 0.0 ], [ 113.59756, -8.39306, 0.0 ], [ 113.59771, -8.39226, 0.0 ], [ 113.59771, -8.39225, 0.0 ], [ 113.59782, -8.39167, 0.0 ], [ 113.59782, -8.39166, 0.0 ], [ 113.59796, -8.39095, 0.0 ], [ 113.59796, -8.39093, 0.0 ], [ 113.59799, -8.39075, 0.0 ], [ 113.59808, -8.39022, 0.0 ], [ 113.59818, -8.38965, 0.0 ], [ 113.59819, -8.38955, 0.0 ], [ 113.59827, -8.3889, 0.0 ], [ 113.59828, -8.38886, 0.0 ], [ 113.5983, -8.38868, 0.0 ], [ 113.59834, -8.38832, 0.0 ], [ 113.59839, -8.38833, 0.0 ], [ 113.59844, -8.38833, 0.0 ], [ 113.59847, -8.38832, 0.0 ], [ 113.59849, -8.3883, 0.0 ], [ 113.59852, -8.38826, 0.0 ], [ 113.59854, -8.3882, 0.0 ], [ 113.59856, -8.38811, 0.0 ], [ 113.59858, -8.38803, 0.0 ], [ 113.59859, -8.38794, 0.0 ], [ 113.59862, -8.38776, 0.0 ], [ 113.59872, -8.38705, 0.0 ], [ 113.59849, -8.38703, 0.0 ], [ 113.59794, -8.38699, 0.0 ], [ 113.59774, -8.38697, 0.0 ], [ 113.5977, -8.38697, 0.0 ], [ 113.59753, -8.38696, 0.0 ], [ 113.59724, -8.38693, 0.0 ], [ 113.59704, -8.38692, 0.0 ], [ 113.59637, -8.38686, 0.0 ], [ 113.59592, -8.38682, 0.0 ], [ 113.59577, -8.38681, 0.0 ], [ 113.59499, -8.38674, 0.0 ], [ 113.59499, -8.38673, 0.0 ], [ 113.595, -8.38664, 0.0 ], [ 113.59506, -8.38598, 0.0 ], [ 113.59511, -8.38543, 0.0 ], [ 113.5952, -8.38476, 0.0 ], [ 113.59528, -8.38427, 0.0 ], [ 113.59534, -8.38395, 0.0 ], [ 113.59535, -8.38388, 0.0 ], [ 113.59538, -8.38373, 0.0 ], [ 113.59549, -8.38305, 0.0 ], [ 113.59551, -8.38288, 0.0 ], [ 113.59555, -8.3826, 0.0 ], [ 113.59558, -8.38237, 0.0 ], [ 113.59559, -8.38229, 0.0 ], [ 113.59543, -8.38233, 0.0 ], [ 113.59535, -8.38234, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "JH9W+357 Jember Jawa timur ambulu Sabrang krajan, Jl. Ambulu - Watu Ulo, Krajan, Sabrang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.5953181, -8.382343, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "HHXQ+C9R, Curah Rejo, Sumberrejo, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.5884684, -8.4014196, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "HHXW+JHM, Sido Mulyo, Sumberrejo, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.5966317, -8.4006944, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JH6X+584, Krajan Kidul, Sumberrejo, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.5981778, -8.3896463, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JH9W+357 Jember Jawa timur ambulu Sabrang krajan, Jl. Ambulu - Watu Ulo, Krajan, Sabrang, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.5953472, -8.38234, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Tempurejo - Pondokrejo - Jatirejo - Jatimulyo - Seruni - Curahmati.geojson b/smart_cycling_api/import_queue/done/Tempurejo - Pondokrejo - Jatirejo - Jatimulyo - Seruni - Curahmati.geojson new file mode 100644 index 0000000..3f00c99 --- /dev/null +++ b/smart_cycling_api/import_queue/done/Tempurejo - Pondokrejo - Jatirejo - Jatimulyo - Seruni - Curahmati.geojson @@ -0,0 +1,10 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari Indomaret Tempurejo 2, Jalan KH. Abdurrahman, Kauman, Tempurejo, Kabupaten Jember, Jawa Timur ke MMXQ+JVX, Kauman, Tempurejo, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari Indomaret Tempurejo 2, Jalan KH. Abdurrahman, Kauman, Tempurejo, Kabupaten Jember, Jawa Timur ke MMXQ+JVX, Kauman, Tempurejo, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.68978, -8.30082, 0.0 ], [ 113.69046, -8.30091, 0.0 ], [ 113.69094, -8.30097, 0.0 ], [ 113.69096, -8.30098, 0.0 ], [ 113.69101, -8.30097, 0.0 ], [ 113.69137, -8.30103, 0.0 ], [ 113.69225, -8.30114, 0.0 ], [ 113.69233, -8.30115, 0.0 ], [ 113.69252, -8.30117, 0.0 ], [ 113.69263, -8.30118, 0.0 ], [ 113.69275, -8.3012, 0.0 ], [ 113.69315, -8.30124, 0.0 ], [ 113.69326, -8.30126, 0.0 ], [ 113.69331, -8.30128, 0.0 ], [ 113.69339, -8.30129, 0.0 ], [ 113.69344, -8.3013, 0.0 ], [ 113.69351, -8.30132, 0.0 ], [ 113.69363, -8.30137, 0.0 ], [ 113.69366, -8.30142, 0.0 ], [ 113.6937, -8.30146, 0.0 ], [ 113.69372, -8.30151, 0.0 ], [ 113.69373, -8.30154, 0.0 ], [ 113.69374, -8.3016, 0.0 ], [ 113.69373, -8.30166, 0.0 ], [ 113.69372, -8.30175, 0.0 ], [ 113.6937, -8.30182, 0.0 ], [ 113.69367, -8.30191, 0.0 ], [ 113.69363, -8.30203, 0.0 ], [ 113.69362, -8.30208, 0.0 ], [ 113.69361, -8.30213, 0.0 ], [ 113.69361, -8.30221, 0.0 ], [ 113.69362, -8.30226, 0.0 ], [ 113.69362, -8.30228, 0.0 ], [ 113.69365, -8.30236, 0.0 ], [ 113.69368, -8.30243, 0.0 ], [ 113.69369, -8.30245, 0.0 ], [ 113.69376, -8.30259, 0.0 ], [ 113.69378, -8.30264, 0.0 ], [ 113.69385, -8.30277, 0.0 ], [ 113.69391, -8.30284, 0.0 ], [ 113.69394, -8.30287, 0.0 ], [ 113.69398, -8.30289, 0.0 ], [ 113.69401, -8.3029, 0.0 ], [ 113.69408, -8.3029, 0.0 ], [ 113.69432, -8.30285, 0.0 ], [ 113.69439, -8.30284, 0.0 ], [ 113.6945, -8.30281, 0.0 ], [ 113.69458, -8.3028, 0.0 ], [ 113.69465, -8.3028, 0.0 ], [ 113.69472, -8.3028, 0.0 ], [ 113.695, -8.30282, 0.0 ], [ 113.69508, -8.30283, 0.0 ], [ 113.6952, -8.30283, 0.0 ], [ 113.6956, -8.30287, 0.0 ], [ 113.69567, -8.30288, 0.0 ], [ 113.69559, -8.3051, 0.0 ], [ 113.69556, -8.30574, 0.0 ], [ 113.69556, -8.30592, 0.0 ], [ 113.69555, -8.3061, 0.0 ], [ 113.69554, -8.30646, 0.0 ], [ 113.69553, -8.30664, 0.0 ], [ 113.69552, -8.30718, 0.0 ], [ 113.69549, -8.30787, 0.0 ], [ 113.69545, -8.30874, 0.0 ], [ 113.69541, -8.30932, 0.0 ], [ 113.69533, -8.31097, 0.0 ], [ 113.69527, -8.31205, 0.0 ], [ 113.6952, -8.31358, 0.0 ], [ 113.69516, -8.3143, 0.0 ], [ 113.69516, -8.31448, 0.0 ], [ 113.6951, -8.31592, 0.0 ], [ 113.69508, -8.31617, 0.0 ], [ 113.69503, -8.31699, 0.0 ], [ 113.69498, -8.31773, 0.0 ], [ 113.69497, -8.31794, 0.0 ], [ 113.69495, -8.31866, 0.0 ], [ 113.69494, -8.31876, 0.0 ], [ 113.69488, -8.31974, 0.0 ], [ 113.69488, -8.31992, 0.0 ], [ 113.69488, -8.3211, 0.0 ], [ 113.69488, -8.32206, 0.0 ], [ 113.69488, -8.32236, 0.0 ], [ 113.69487, -8.32308, 0.0 ], [ 113.69486, -8.32326, 0.0 ], [ 113.69486, -8.32344, 0.0 ], [ 113.69486, -8.32362, 0.0 ], [ 113.69486, -8.32372, 0.0 ], [ 113.69488, -8.3247, 0.0 ], [ 113.69488, -8.32488, 0.0 ], [ 113.69489, -8.32504, 0.0 ], [ 113.69489, -8.32506, 0.0 ], [ 113.69486, -8.32585, 0.0 ], [ 113.69493, -8.32647, 0.0 ], [ 113.69494, -8.32685, 0.0 ], [ 113.69495, -8.32703, 0.0 ], [ 113.69496, -8.32761, 0.0 ], [ 113.69495, -8.32793, 0.0 ], [ 113.69495, -8.32811, 0.0 ], [ 113.69495, -8.32829, 0.0 ], [ 113.69494, -8.32865, 0.0 ], [ 113.69494, -8.32883, 0.0 ], [ 113.69493, -8.32919, 0.0 ], [ 113.69493, -8.32924, 0.0 ], [ 113.69493, -8.32937, 0.0 ], [ 113.69493, -8.32955, 0.0 ], [ 113.69493, -8.32973, 0.0 ], [ 113.69493, -8.33022, 0.0 ], [ 113.69492, -8.33045, 0.0 ], [ 113.69493, -8.33089, 0.0 ], [ 113.69493, -8.33106, 0.0 ], [ 113.69491, -8.33157, 0.0 ], [ 113.69491, -8.33162, 0.0 ], [ 113.6944, -8.33163, 0.0 ], [ 113.694, -8.33164, 0.0 ], [ 113.69367, -8.33165, 0.0 ], [ 113.69349, -8.33164, 0.0 ], [ 113.6928, -8.33162, 0.0 ], [ 113.69247, -8.3316, 0.0 ], [ 113.69245, -8.3316, 0.0 ], [ 113.69245, -8.3321, 0.0 ], [ 113.69245, -8.33218, 0.0 ], [ 113.69245, -8.33223, 0.0 ], [ 113.69244, -8.33265, 0.0 ], [ 113.69244, -8.33268, 0.0 ], [ 113.69243, -8.33311, 0.0 ], [ 113.69243, -8.33313, 0.0 ], [ 113.69244, -8.33325, 0.0 ], [ 113.69244, -8.33336, 0.0 ], [ 113.69245, -8.33343, 0.0 ], [ 113.69246, -8.33353, 0.0 ], [ 113.69247, -8.33361, 0.0 ], [ 113.69251, -8.33373, 0.0 ], [ 113.69255, -8.33383, 0.0 ], [ 113.69261, -8.33397, 0.0 ], [ 113.69264, -8.33404, 0.0 ], [ 113.69266, -8.33412, 0.0 ], [ 113.69267, -8.33422, 0.0 ], [ 113.69267, -8.33425, 0.0 ], [ 113.69269, -8.33442, 0.0 ], [ 113.69269, -8.33491, 0.0 ], [ 113.69265, -8.33531, 0.0 ], [ 113.6926, -8.3358, 0.0 ], [ 113.69257, -8.33603, 0.0 ], [ 113.69252, -8.33635, 0.0 ], [ 113.69247, -8.33655, 0.0 ], [ 113.69232, -8.33715, 0.0 ], [ 113.69218, -8.33756, 0.0 ], [ 113.69216, -8.33764, 0.0 ], [ 113.69193, -8.33773, 0.0 ], [ 113.69174, -8.33778, 0.0 ], [ 113.69149, -8.33786, 0.0 ], [ 113.69134, -8.3379, 0.0 ], [ 113.69096, -8.33801, 0.0 ], [ 113.69073, -8.3381, 0.0 ], [ 113.69061, -8.33816, 0.0 ], [ 113.69044, -8.33825, 0.0 ], [ 113.69024, -8.33838, 0.0 ], [ 113.69016, -8.33842, 0.0 ], [ 113.68983, -8.33862, 0.0 ], [ 113.68947, -8.33887, 0.0 ], [ 113.68933, -8.33895, 0.0 ], [ 113.68916, -8.33906, 0.0 ], [ 113.68895, -8.33921, 0.0 ], [ 113.68873, -8.33933, 0.0 ], [ 113.68856, -8.33944, 0.0 ], [ 113.68823, -8.33957, 0.0 ], [ 113.68801, -8.33964, 0.0 ], [ 113.68784, -8.33968, 0.0 ], [ 113.68778, -8.3397, 0.0 ], [ 113.68728, -8.33987, 0.0 ], [ 113.68719, -8.33991, 0.0 ], [ 113.68699, -8.33999, 0.0 ], [ 113.68689, -8.34005, 0.0 ], [ 113.6867, -8.34016, 0.0 ], [ 113.68664, -8.3402, 0.0 ], [ 113.68649, -8.3403, 0.0 ], [ 113.68619, -8.3405, 0.0 ], [ 113.68593, -8.34068, 0.0 ], [ 113.68561, -8.34086, 0.0 ], [ 113.68544, -8.34097, 0.0 ], [ 113.68538, -8.34102, 0.0 ], [ 113.68532, -8.34105, 0.0 ], [ 113.68529, -8.34107, 0.0 ], [ 113.68525, -8.34108, 0.0 ], [ 113.68495, -8.34116, 0.0 ], [ 113.68488, -8.34117, 0.0 ], [ 113.68445, -8.34126, 0.0 ], [ 113.68433, -8.34129, 0.0 ], [ 113.6842, -8.34133, 0.0 ], [ 113.6838, -8.34142, 0.0 ], [ 113.68376, -8.34143, 0.0 ], [ 113.68349, -8.34148, 0.0 ], [ 113.68315, -8.34156, 0.0 ], [ 113.68262, -8.34169, 0.0 ], [ 113.68243, -8.34173, 0.0 ], [ 113.68152, -8.34196, 0.0 ], [ 113.68128, -8.34204, 0.0 ], [ 113.68075, -8.34217, 0.0 ], [ 113.68057, -8.34222, 0.0 ], [ 113.68038, -8.34226, 0.0 ], [ 113.6801, -8.34234, 0.0 ], [ 113.68008, -8.34235, 0.0 ], [ 113.67975, -8.34242, 0.0 ], [ 113.67955, -8.34246, 0.0 ], [ 113.67935, -8.34251, 0.0 ], [ 113.67933, -8.34251, 0.0 ], [ 113.6792, -8.34255, 0.0 ], [ 113.67918, -8.34255, 0.0 ], [ 113.67904, -8.34259, 0.0 ], [ 113.67893, -8.34263, 0.0 ], [ 113.67884, -8.34268, 0.0 ], [ 113.67871, -8.34277, 0.0 ], [ 113.67855, -8.34287, 0.0 ], [ 113.67839, -8.34298, 0.0 ], [ 113.67823, -8.34309, 0.0 ], [ 113.6782, -8.34311, 0.0 ], [ 113.678, -8.34325, 0.0 ], [ 113.67795, -8.34328, 0.0 ], [ 113.67791, -8.34331, 0.0 ], [ 113.67782, -8.34337, 0.0 ], [ 113.67767, -8.34348, 0.0 ], [ 113.67757, -8.34353, 0.0 ], [ 113.67746, -8.34357, 0.0 ], [ 113.67734, -8.3436, 0.0 ], [ 113.67721, -8.3436, 0.0 ], [ 113.6771, -8.34357, 0.0 ], [ 113.67697, -8.3435, 0.0 ], [ 113.67684, -8.34341, 0.0 ], [ 113.67667, -8.34326, 0.0 ], [ 113.67651, -8.34307, 0.0 ], [ 113.67638, -8.34286, 0.0 ], [ 113.67632, -8.34278, 0.0 ], [ 113.67629, -8.34271, 0.0 ], [ 113.67626, -8.34262, 0.0 ], [ 113.67618, -8.34246, 0.0 ], [ 113.67616, -8.34241, 0.0 ], [ 113.67586, -8.34184, 0.0 ], [ 113.67585, -8.34182, 0.0 ], [ 113.67577, -8.34167, 0.0 ], [ 113.67562, -8.34139, 0.0 ], [ 113.67539, -8.34098, 0.0 ], [ 113.67515, -8.34055, 0.0 ], [ 113.67503, -8.3405, 0.0 ], [ 113.67495, -8.34046, 0.0 ], [ 113.67489, -8.34045, 0.0 ], [ 113.67481, -8.34043, 0.0 ], [ 113.67472, -8.34043, 0.0 ], [ 113.67463, -8.34045, 0.0 ], [ 113.67457, -8.34046, 0.0 ], [ 113.67447, -8.34049, 0.0 ], [ 113.67437, -8.34053, 0.0 ], [ 113.67429, -8.34058, 0.0 ], [ 113.67416, -8.34067, 0.0 ], [ 113.67407, -8.34073, 0.0 ], [ 113.67402, -8.34075, 0.0 ], [ 113.67378, -8.34091, 0.0 ], [ 113.67349, -8.34108, 0.0 ], [ 113.67342, -8.34112, 0.0 ], [ 113.67328, -8.3412, 0.0 ], [ 113.67307, -8.34133, 0.0 ], [ 113.67292, -8.34144, 0.0 ], [ 113.67283, -8.3415, 0.0 ], [ 113.67279, -8.34153, 0.0 ], [ 113.67274, -8.34156, 0.0 ], [ 113.67271, -8.3416, 0.0 ], [ 113.67266, -8.34165, 0.0 ], [ 113.67262, -8.34171, 0.0 ], [ 113.6726, -8.34173, 0.0 ], [ 113.67257, -8.34177, 0.0 ], [ 113.67251, -8.34186, 0.0 ], [ 113.67248, -8.34192, 0.0 ], [ 113.6724, -8.34205, 0.0 ], [ 113.6722, -8.34239, 0.0 ], [ 113.67213, -8.3425, 0.0 ], [ 113.67209, -8.34256, 0.0 ], [ 113.672, -8.34272, 0.0 ], [ 113.67195, -8.3428, 0.0 ], [ 113.67186, -8.34296, 0.0 ], [ 113.67165, -8.34332, 0.0 ], [ 113.67154, -8.34353, 0.0 ], [ 113.67151, -8.34358, 0.0 ], [ 113.6715, -8.3436, 0.0 ], [ 113.6715, -8.34363, 0.0 ], [ 113.6715, -8.34366, 0.0 ], [ 113.6715, -8.3437, 0.0 ], [ 113.6715, -8.34379, 0.0 ], [ 113.67151, -8.34389, 0.0 ], [ 113.67151, -8.34391, 0.0 ], [ 113.67152, -8.344, 0.0 ], [ 113.67153, -8.34404, 0.0 ], [ 113.67155, -8.34419, 0.0 ], [ 113.67156, -8.34428, 0.0 ], [ 113.67157, -8.34442, 0.0 ], [ 113.6716, -8.34466, 0.0 ], [ 113.67161, -8.34472, 0.0 ], [ 113.67163, -8.34515, 0.0 ], [ 113.67167, -8.34555, 0.0 ], [ 113.67154, -8.34554, 0.0 ], [ 113.67137, -8.34552, 0.0 ], [ 113.67129, -8.34551, 0.0 ], [ 113.67122, -8.34551, 0.0 ], [ 113.67118, -8.34551, 0.0 ], [ 113.67096, -8.34548, 0.0 ], [ 113.67058, -8.34546, 0.0 ], [ 113.67053, -8.34546, 0.0 ], [ 113.67026, -8.34545, 0.0 ], [ 113.66996, -8.34543, 0.0 ], [ 113.66991, -8.34543, 0.0 ], [ 113.66967, -8.34542, 0.0 ], [ 113.66943, -8.34541, 0.0 ], [ 113.6692, -8.3454, 0.0 ], [ 113.66892, -8.34538, 0.0 ], [ 113.66888, -8.34538, 0.0 ], [ 113.66873, -8.34537, 0.0 ], [ 113.6687, -8.34537, 0.0 ], [ 113.66869, -8.34537, 0.0 ], [ 113.66866, -8.34537, 0.0 ], [ 113.66864, -8.34538, 0.0 ], [ 113.66863, -8.34539, 0.0 ], [ 113.66863, -8.3454, 0.0 ], [ 113.66863, -8.34542, 0.0 ], [ 113.66863, -8.34544, 0.0 ], [ 113.66863, -8.34548, 0.0 ], [ 113.66862, -8.3455, 0.0 ], [ 113.66862, -8.34551, 0.0 ], [ 113.66862, -8.34552, 0.0 ], [ 113.6686, -8.34553, 0.0 ], [ 113.66858, -8.34554, 0.0 ], [ 113.66852, -8.34555, 0.0 ], [ 113.66847, -8.34557, 0.0 ], [ 113.66843, -8.34559, 0.0 ], [ 113.66836, -8.34562, 0.0 ], [ 113.66831, -8.34564, 0.0 ], [ 113.66823, -8.34566, 0.0 ], [ 113.66817, -8.34566, 0.0 ], [ 113.66812, -8.34566, 0.0 ], [ 113.66803, -8.34565, 0.0 ], [ 113.66795, -8.34563, 0.0 ], [ 113.66793, -8.34563, 0.0 ], [ 113.6678, -8.3456, 0.0 ], [ 113.66768, -8.34557, 0.0 ], [ 113.66756, -8.34552, 0.0 ], [ 113.6674, -8.34546, 0.0 ], [ 113.66727, -8.34539, 0.0 ], [ 113.66739, -8.34504, 0.0 ], [ 113.66753, -8.34459, 0.0 ], [ 113.66775, -8.34387, 0.0 ], [ 113.66778, -8.34377, 0.0 ], [ 113.66786, -8.34358, 0.0 ], [ 113.66794, -8.34339, 0.0 ], [ 113.668, -8.34327, 0.0 ], [ 113.66803, -8.3432, 0.0 ], [ 113.66804, -8.34318, 0.0 ], [ 113.66808, -8.34305, 0.0 ], [ 113.66813, -8.34288, 0.0 ], [ 113.66815, -8.34281, 0.0 ], [ 113.66815, -8.34276, 0.0 ], [ 113.66816, -8.34266, 0.0 ], [ 113.66817, -8.34257, 0.0 ], [ 113.66817, -8.34248, 0.0 ], [ 113.66817, -8.34227, 0.0 ], [ 113.66819, -8.34208, 0.0 ], [ 113.66821, -8.34185, 0.0 ], [ 113.66824, -8.34149, 0.0 ], [ 113.66825, -8.3414, 0.0 ], [ 113.66828, -8.34102, 0.0 ], [ 113.66834, -8.34013, 0.0 ], [ 113.66843, -8.33921, 0.0 ], [ 113.66847, -8.33834, 0.0 ], [ 113.66856, -8.33746, 0.0 ], [ 113.66864, -8.33651, 0.0 ], [ 113.66872, -8.3356, 0.0 ], [ 113.66876, -8.33512, 0.0 ], [ 113.66877, -8.33507, 0.0 ], [ 113.66878, -8.33484, 0.0 ], [ 113.66879, -8.33451, 0.0 ], [ 113.6688, -8.3343, 0.0 ], [ 113.66882, -8.3338, 0.0 ], [ 113.66883, -8.33367, 0.0 ], [ 113.66884, -8.33356, 0.0 ], [ 113.6689, -8.33293, 0.0 ], [ 113.66891, -8.33275, 0.0 ], [ 113.66891, -8.33264, 0.0 ], [ 113.66897, -8.33187, 0.0 ], [ 113.669, -8.33173, 0.0 ], [ 113.66902, -8.33145, 0.0 ], [ 113.66903, -8.33144, 0.0 ], [ 113.66903, -8.33138, 0.0 ], [ 113.66905, -8.33126, 0.0 ], [ 113.66905, -8.33123, 0.0 ], [ 113.66909, -8.33062, 0.0 ], [ 113.66908, -8.33035, 0.0 ], [ 113.66912, -8.3298, 0.0 ], [ 113.6692, -8.32901, 0.0 ], [ 113.66921, -8.32895, 0.0 ], [ 113.66928, -8.32791, 0.0 ], [ 113.66935, -8.32685, 0.0 ], [ 113.66944, -8.3259, 0.0 ], [ 113.66945, -8.32566, 0.0 ], [ 113.66944, -8.32547, 0.0 ], [ 113.66943, -8.32542, 0.0 ], [ 113.6694, -8.32537, 0.0 ], [ 113.66938, -8.32533, 0.0 ], [ 113.66934, -8.32528, 0.0 ], [ 113.6693, -8.32523, 0.0 ], [ 113.66925, -8.32519, 0.0 ], [ 113.66917, -8.32514, 0.0 ], [ 113.66907, -8.32509, 0.0 ], [ 113.66896, -8.32503, 0.0 ], [ 113.66883, -8.32495, 0.0 ], [ 113.66876, -8.32491, 0.0 ], [ 113.6683, -8.32467, 0.0 ], [ 113.66787, -8.32441, 0.0 ], [ 113.6678, -8.32437, 0.0 ], [ 113.66699, -8.32388, 0.0 ], [ 113.66672, -8.3237, 0.0 ], [ 113.666, -8.32326, 0.0 ], [ 113.66569, -8.32308, 0.0 ], [ 113.66491, -8.32262, 0.0 ], [ 113.66476, -8.32252, 0.0 ], [ 113.66444, -8.32233, 0.0 ], [ 113.66373, -8.32192, 0.0 ], [ 113.6635, -8.3218, 0.0 ], [ 113.66338, -8.32174, 0.0 ], [ 113.66324, -8.32168, 0.0 ], [ 113.66315, -8.32165, 0.0 ], [ 113.6631, -8.32162, 0.0 ], [ 113.66307, -8.3216, 0.0 ], [ 113.66305, -8.32157, 0.0 ], [ 113.663, -8.32152, 0.0 ], [ 113.66302, -8.32143, 0.0 ], [ 113.66305, -8.32137, 0.0 ], [ 113.66311, -8.32127, 0.0 ], [ 113.66318, -8.32118, 0.0 ], [ 113.66333, -8.32101, 0.0 ], [ 113.66344, -8.32087, 0.0 ], [ 113.66356, -8.32072, 0.0 ], [ 113.66366, -8.32057, 0.0 ], [ 113.66377, -8.32041, 0.0 ], [ 113.66404, -8.31998, 0.0 ], [ 113.66416, -8.3198, 0.0 ], [ 113.6642, -8.31974, 0.0 ], [ 113.66423, -8.31968, 0.0 ], [ 113.66425, -8.31964, 0.0 ], [ 113.66427, -8.31961, 0.0 ], [ 113.66437, -8.3194, 0.0 ], [ 113.66446, -8.31927, 0.0 ], [ 113.66458, -8.3191, 0.0 ], [ 113.66469, -8.31894, 0.0 ], [ 113.6648, -8.31876, 0.0 ], [ 113.66522, -8.31809, 0.0 ], [ 113.66561, -8.31745, 0.0 ], [ 113.66575, -8.31716, 0.0 ], [ 113.66581, -8.31701, 0.0 ], [ 113.66588, -8.31684, 0.0 ], [ 113.66599, -8.31654, 0.0 ], [ 113.66604, -8.31633, 0.0 ], [ 113.66607, -8.31615, 0.0 ], [ 113.6662, -8.31544, 0.0 ], [ 113.66632, -8.31474, 0.0 ], [ 113.66636, -8.31456, 0.0 ], [ 113.66636, -8.31451, 0.0 ], [ 113.66644, -8.31408, 0.0 ], [ 113.66651, -8.31366, 0.0 ], [ 113.66654, -8.31349, 0.0 ], [ 113.66657, -8.31332, 0.0 ], [ 113.6666, -8.31314, 0.0 ], [ 113.66669, -8.31266, 0.0 ], [ 113.66676, -8.31225, 0.0 ], [ 113.66682, -8.3119, 0.0 ], [ 113.66685, -8.31177, 0.0 ], [ 113.66702, -8.31079, 0.0 ], [ 113.66724, -8.30966, 0.0 ], [ 113.66741, -8.30873, 0.0 ], [ 113.66754, -8.30801, 0.0 ], [ 113.66764, -8.30738, 0.0 ], [ 113.66769, -8.30712, 0.0 ], [ 113.66776, -8.30679, 0.0 ], [ 113.6678, -8.3066, 0.0 ], [ 113.66783, -8.30649, 0.0 ], [ 113.66786, -8.30644, 0.0 ], [ 113.66789, -8.30639, 0.0 ], [ 113.66793, -8.30633, 0.0 ], [ 113.66798, -8.30627, 0.0 ], [ 113.66807, -8.30621, 0.0 ], [ 113.66829, -8.30603, 0.0 ], [ 113.66846, -8.30589, 0.0 ], [ 113.66849, -8.30587, 0.0 ], [ 113.66863, -8.30575, 0.0 ], [ 113.66871, -8.30567, 0.0 ], [ 113.66876, -8.30564, 0.0 ], [ 113.66888, -8.30554, 0.0 ], [ 113.66904, -8.30539, 0.0 ], [ 113.66917, -8.30526, 0.0 ], [ 113.66923, -8.3052, 0.0 ], [ 113.66944, -8.30501, 0.0 ], [ 113.66961, -8.30487, 0.0 ], [ 113.66975, -8.30475, 0.0 ], [ 113.66977, -8.30474, 0.0 ], [ 113.66986, -8.30465, 0.0 ], [ 113.67001, -8.30452, 0.0 ], [ 113.67006, -8.30446, 0.0 ], [ 113.67011, -8.30441, 0.0 ], [ 113.67017, -8.30435, 0.0 ], [ 113.67023, -8.3043, 0.0 ], [ 113.67034, -8.30421, 0.0 ], [ 113.67051, -8.30407, 0.0 ], [ 113.67069, -8.30391, 0.0 ], [ 113.67073, -8.30388, 0.0 ], [ 113.67089, -8.30373, 0.0 ], [ 113.67104, -8.30361, 0.0 ], [ 113.67136, -8.3033, 0.0 ], [ 113.6717, -8.303, 0.0 ], [ 113.67199, -8.30274, 0.0 ], [ 113.67208, -8.30266, 0.0 ], [ 113.67243, -8.30234, 0.0 ], [ 113.67267, -8.30213, 0.0 ], [ 113.67282, -8.30198, 0.0 ], [ 113.6729, -8.3019, 0.0 ], [ 113.67298, -8.30182, 0.0 ], [ 113.67312, -8.30168, 0.0 ], [ 113.67339, -8.3014, 0.0 ], [ 113.67361, -8.30119, 0.0 ], [ 113.6738, -8.30101, 0.0 ], [ 113.67399, -8.30124, 0.0 ], [ 113.67416, -8.30148, 0.0 ], [ 113.67429, -8.30163, 0.0 ], [ 113.67438, -8.30173, 0.0 ], [ 113.67453, -8.30185, 0.0 ], [ 113.6746, -8.30189, 0.0 ], [ 113.67463, -8.3019, 0.0 ], [ 113.67469, -8.30192, 0.0 ], [ 113.67478, -8.30192, 0.0 ], [ 113.67486, -8.30191, 0.0 ], [ 113.67493, -8.30189, 0.0 ], [ 113.67504, -8.30183, 0.0 ], [ 113.67533, -8.30164, 0.0 ], [ 113.67582, -8.3013, 0.0 ], [ 113.67607, -8.30115, 0.0 ], [ 113.6762, -8.30107, 0.0 ], [ 113.67675, -8.30073, 0.0 ], [ 113.67686, -8.30066, 0.0 ], [ 113.67742, -8.30032, 0.0 ], [ 113.67764, -8.30019, 0.0 ], [ 113.67797, -8.29999, 0.0 ], [ 113.67806, -8.29992, 0.0 ], [ 113.67811, -8.29988, 0.0 ], [ 113.6783, -8.29975, 0.0 ], [ 113.67852, -8.29964, 0.0 ], [ 113.67861, -8.2996, 0.0 ], [ 113.67874, -8.29952, 0.0 ], [ 113.67883, -8.29946, 0.0 ], [ 113.67885, -8.29946, 0.0 ], [ 113.67894, -8.29941, 0.0 ], [ 113.67902, -8.2994, 0.0 ], [ 113.67908, -8.29939, 0.0 ], [ 113.67912, -8.29939, 0.0 ], [ 113.67916, -8.29939, 0.0 ], [ 113.67917, -8.29939, 0.0 ], [ 113.6793, -8.29942, 0.0 ], [ 113.67948, -8.29944, 0.0 ], [ 113.67963, -8.29946, 0.0 ], [ 113.67988, -8.29949, 0.0 ], [ 113.68086, -8.29962, 0.0 ], [ 113.68159, -8.29969, 0.0 ], [ 113.68193, -8.29972, 0.0 ], [ 113.68195, -8.29972, 0.0 ], [ 113.68197, -8.29972, 0.0 ], [ 113.682, -8.29971, 0.0 ], [ 113.68203, -8.2997, 0.0 ], [ 113.68206, -8.29968, 0.0 ], [ 113.68211, -8.29963, 0.0 ], [ 113.68261, -8.29917, 0.0 ], [ 113.68264, -8.29915, 0.0 ], [ 113.68267, -8.29913, 0.0 ], [ 113.68273, -8.29911, 0.0 ], [ 113.68278, -8.29909, 0.0 ], [ 113.68296, -8.29904, 0.0 ], [ 113.68302, -8.29906, 0.0 ], [ 113.68315, -8.29911, 0.0 ], [ 113.68322, -8.29914, 0.0 ], [ 113.68326, -8.29915, 0.0 ], [ 113.68328, -8.29916, 0.0 ], [ 113.68335, -8.29918, 0.0 ], [ 113.6834, -8.29921, 0.0 ], [ 113.68344, -8.29924, 0.0 ], [ 113.68347, -8.29927, 0.0 ], [ 113.68351, -8.29934, 0.0 ], [ 113.68353, -8.29939, 0.0 ], [ 113.68353, -8.2994, 0.0 ], [ 113.68354, -8.29947, 0.0 ], [ 113.68354, -8.29957, 0.0 ], [ 113.68354, -8.29963, 0.0 ], [ 113.68354, -8.29978, 0.0 ], [ 113.68356, -8.29985, 0.0 ], [ 113.68359, -8.2999, 0.0 ], [ 113.68361, -8.29993, 0.0 ], [ 113.68368, -8.29997, 0.0 ], [ 113.68374, -8.29999, 0.0 ], [ 113.68382, -8.30001, 0.0 ], [ 113.68413, -8.30006, 0.0 ], [ 113.68427, -8.30008, 0.0 ], [ 113.68436, -8.30009, 0.0 ], [ 113.68471, -8.30014, 0.0 ], [ 113.68496, -8.30018, 0.0 ], [ 113.68524, -8.30021, 0.0 ], [ 113.68526, -8.30021, 0.0 ], [ 113.68549, -8.30023, 0.0 ], [ 113.68562, -8.30024, 0.0 ], [ 113.68593, -8.3003, 0.0 ], [ 113.68633, -8.30035, 0.0 ], [ 113.68654, -8.30038, 0.0 ], [ 113.68689, -8.30043, 0.0 ], [ 113.68699, -8.30044, 0.0 ], [ 113.68709, -8.30045, 0.0 ], [ 113.68725, -8.30048, 0.0 ], [ 113.68733, -8.30049, 0.0 ], [ 113.68746, -8.3005, 0.0 ], [ 113.6876, -8.30052, 0.0 ], [ 113.6877, -8.30054, 0.0 ], [ 113.6878, -8.30055, 0.0 ], [ 113.68809, -8.30059, 0.0 ], [ 113.68866, -8.30067, 0.0 ], [ 113.68895, -8.30071, 0.0 ], [ 113.68936, -8.30076, 0.0 ], [ 113.68966, -8.3008, 0.0 ], [ 113.68972, -8.30081, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "Indomaret Tempurejo 2, Jalan KH. Abdurrahman, Kauman, Tempurejo, Kabupaten Jember, Jawa Timur", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6897768, -8.3008164, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MMXQ+JVX, Kauman, Tempurejo, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6897176, -8.3008085, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Tempurejo Kota.geojson b/smart_cycling_api/import_queue/done/Tempurejo Kota.geojson new file mode 100644 index 0000000..0cf8bf2 --- /dev/null +++ b/smart_cycling_api/import_queue/done/Tempurejo Kota.geojson @@ -0,0 +1,12 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari PM2J+4JV, Jl. KH. Abdurrahman, Tempurejo, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia ke PM2J+4JV, Jl. KH. Abdurrahman, Tempurejo, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari PM2J+4JV, Jl. KH. Abdurrahman, Tempurejo, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia ke PM2J+4JV, Jl. KH. Abdurrahman, Tempurejo, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.68159, -8.29969, 0.0 ], [ 113.68171, -8.29913, 0.0 ], [ 113.68176, -8.29888, 0.0 ], [ 113.68177, -8.29884, 0.0 ], [ 113.68188, -8.2984, 0.0 ], [ 113.68194, -8.29813, 0.0 ], [ 113.6821, -8.29744, 0.0 ], [ 113.68212, -8.29733, 0.0 ], [ 113.68214, -8.29725, 0.0 ], [ 113.68217, -8.29714, 0.0 ], [ 113.68229, -8.29669, 0.0 ], [ 113.6823, -8.29663, 0.0 ], [ 113.68237, -8.29635, 0.0 ], [ 113.68239, -8.29625, 0.0 ], [ 113.68244, -8.29601, 0.0 ], [ 113.68249, -8.29562, 0.0 ], [ 113.68255, -8.29536, 0.0 ], [ 113.6826, -8.2952, 0.0 ], [ 113.68261, -8.29515, 0.0 ], [ 113.68264, -8.29508, 0.0 ], [ 113.68267, -8.29494, 0.0 ], [ 113.68269, -8.29485, 0.0 ], [ 113.68271, -8.29475, 0.0 ], [ 113.68272, -8.29471, 0.0 ], [ 113.68273, -8.29468, 0.0 ], [ 113.68277, -8.29435, 0.0 ], [ 113.68277, -8.2943, 0.0 ], [ 113.68278, -8.29363, 0.0 ], [ 113.68313, -8.29354, 0.0 ], [ 113.68337, -8.29348, 0.0 ], [ 113.68372, -8.29339, 0.0 ], [ 113.68413, -8.29332, 0.0 ], [ 113.68437, -8.29327, 0.0 ], [ 113.68455, -8.29323, 0.0 ], [ 113.68459, -8.29322, 0.0 ], [ 113.685, -8.29313, 0.0 ], [ 113.68508, -8.2931, 0.0 ], [ 113.68525, -8.29305, 0.0 ], [ 113.68534, -8.29302, 0.0 ], [ 113.68543, -8.293, 0.0 ], [ 113.68572, -8.29292, 0.0 ], [ 113.68581, -8.29288, 0.0 ], [ 113.6859, -8.29281, 0.0 ], [ 113.68594, -8.29278, 0.0 ], [ 113.68596, -8.29274, 0.0 ], [ 113.68609, -8.29249, 0.0 ], [ 113.68613, -8.29244, 0.0 ], [ 113.68617, -8.29237, 0.0 ], [ 113.6862, -8.29233, 0.0 ], [ 113.68622, -8.29231, 0.0 ], [ 113.68626, -8.29228, 0.0 ], [ 113.68644, -8.29221, 0.0 ], [ 113.68684, -8.29206, 0.0 ], [ 113.68709, -8.29199, 0.0 ], [ 113.68745, -8.29191, 0.0 ], [ 113.68752, -8.29189, 0.0 ], [ 113.68764, -8.29187, 0.0 ], [ 113.68777, -8.29184, 0.0 ], [ 113.68792, -8.29182, 0.0 ], [ 113.68806, -8.2918, 0.0 ], [ 113.68826, -8.29179, 0.0 ], [ 113.68844, -8.29179, 0.0 ], [ 113.68851, -8.29178, 0.0 ], [ 113.68852, -8.29178, 0.0 ], [ 113.68862, -8.29177, 0.0 ], [ 113.68871, -8.29174, 0.0 ], [ 113.68882, -8.29167, 0.0 ], [ 113.68896, -8.29158, 0.0 ], [ 113.68917, -8.29141, 0.0 ], [ 113.68937, -8.29123, 0.0 ], [ 113.68955, -8.2911, 0.0 ], [ 113.68983, -8.29094, 0.0 ], [ 113.69012, -8.29084, 0.0 ], [ 113.69036, -8.29079, 0.0 ], [ 113.69066, -8.29073, 0.0 ], [ 113.69072, -8.29072, 0.0 ], [ 113.69096, -8.29068, 0.0 ], [ 113.69123, -8.29065, 0.0 ], [ 113.69171, -8.29063, 0.0 ], [ 113.69204, -8.29061, 0.0 ], [ 113.69218, -8.2906, 0.0 ], [ 113.69225, -8.2906, 0.0 ], [ 113.69237, -8.29058, 0.0 ], [ 113.69236, -8.29069, 0.0 ], [ 113.69233, -8.29089, 0.0 ], [ 113.69231, -8.291, 0.0 ], [ 113.69228, -8.29114, 0.0 ], [ 113.6922, -8.29148, 0.0 ], [ 113.69202, -8.29217, 0.0 ], [ 113.69181, -8.29279, 0.0 ], [ 113.69164, -8.29328, 0.0 ], [ 113.69163, -8.2933, 0.0 ], [ 113.69156, -8.29347, 0.0 ], [ 113.69135, -8.29397, 0.0 ], [ 113.69123, -8.29431, 0.0 ], [ 113.69115, -8.29454, 0.0 ], [ 113.69094, -8.29515, 0.0 ], [ 113.69082, -8.29552, 0.0 ], [ 113.69078, -8.29568, 0.0 ], [ 113.69067, -8.29612, 0.0 ], [ 113.69052, -8.29681, 0.0 ], [ 113.69044, -8.29712, 0.0 ], [ 113.6904, -8.29732, 0.0 ], [ 113.69033, -8.2976, 0.0 ], [ 113.6903, -8.29776, 0.0 ], [ 113.69025, -8.29798, 0.0 ], [ 113.69018, -8.29825, 0.0 ], [ 113.6901, -8.29858, 0.0 ], [ 113.69006, -8.29871, 0.0 ], [ 113.69004, -8.2988, 0.0 ], [ 113.68992, -8.29935, 0.0 ], [ 113.68991, -8.29937, 0.0 ], [ 113.68976, -8.30011, 0.0 ], [ 113.68966, -8.3008, 0.0 ], [ 113.68936, -8.30076, 0.0 ], [ 113.68895, -8.30071, 0.0 ], [ 113.68866, -8.30067, 0.0 ], [ 113.68809, -8.30059, 0.0 ], [ 113.6878, -8.30055, 0.0 ], [ 113.6877, -8.30054, 0.0 ], [ 113.6876, -8.30052, 0.0 ], [ 113.68746, -8.3005, 0.0 ], [ 113.68733, -8.30049, 0.0 ], [ 113.68725, -8.30048, 0.0 ], [ 113.68709, -8.30045, 0.0 ], [ 113.68699, -8.30044, 0.0 ], [ 113.68689, -8.30043, 0.0 ], [ 113.68654, -8.30038, 0.0 ], [ 113.68633, -8.30035, 0.0 ], [ 113.68593, -8.3003, 0.0 ], [ 113.68562, -8.30024, 0.0 ], [ 113.68549, -8.30023, 0.0 ], [ 113.68526, -8.30021, 0.0 ], [ 113.68524, -8.30021, 0.0 ], [ 113.68496, -8.30018, 0.0 ], [ 113.68471, -8.30014, 0.0 ], [ 113.68436, -8.30009, 0.0 ], [ 113.68427, -8.30008, 0.0 ], [ 113.68413, -8.30006, 0.0 ], [ 113.68382, -8.30001, 0.0 ], [ 113.68374, -8.29999, 0.0 ], [ 113.68368, -8.29997, 0.0 ], [ 113.68361, -8.29993, 0.0 ], [ 113.68359, -8.2999, 0.0 ], [ 113.68356, -8.29985, 0.0 ], [ 113.68354, -8.29978, 0.0 ], [ 113.68354, -8.29963, 0.0 ], [ 113.68354, -8.29957, 0.0 ], [ 113.68354, -8.29947, 0.0 ], [ 113.68353, -8.2994, 0.0 ], [ 113.68353, -8.29939, 0.0 ], [ 113.68351, -8.29934, 0.0 ], [ 113.68347, -8.29927, 0.0 ], [ 113.68344, -8.29924, 0.0 ], [ 113.6834, -8.29921, 0.0 ], [ 113.68335, -8.29918, 0.0 ], [ 113.68328, -8.29916, 0.0 ], [ 113.68326, -8.29915, 0.0 ], [ 113.68322, -8.29914, 0.0 ], [ 113.68315, -8.29911, 0.0 ], [ 113.68302, -8.29906, 0.0 ], [ 113.68296, -8.29904, 0.0 ], [ 113.68278, -8.29909, 0.0 ], [ 113.68273, -8.29911, 0.0 ], [ 113.68267, -8.29913, 0.0 ], [ 113.68264, -8.29915, 0.0 ], [ 113.68261, -8.29917, 0.0 ], [ 113.68211, -8.29963, 0.0 ], [ 113.68206, -8.29968, 0.0 ], [ 113.68203, -8.2997, 0.0 ], [ 113.682, -8.29971, 0.0 ], [ 113.68197, -8.29972, 0.0 ], [ 113.68195, -8.29972, 0.0 ], [ 113.68193, -8.29972, 0.0 ], [ 113.68159, -8.29969, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "PM2J+4JV, Jl. KH. Abdurrahman, Tempurejo, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6815904, -8.299688, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PM5R+RVW, Jl. Soekarno Hatta, Galaksi, Tempurejo, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6921844, -8.2905989, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MMXQ+JVX, Kauman, Tempurejo, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6896554, -8.3008002, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "PM2J+4JV, Jl. KH. Abdurrahman, Tempurejo, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6815904, -8.299688, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Tutul - Ambulu.geojson b/smart_cycling_api/import_queue/done/Tutul - Ambulu.geojson new file mode 100644 index 0000000..c1e8dfd --- /dev/null +++ b/smart_cycling_api/import_queue/done/Tutul - Ambulu.geojson @@ -0,0 +1,12 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari Jl. Raya Suyitman No.5, Krajan, Ambulu, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia ke Jl. Raya Suyitman No.5, Krajan, Ambulu, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari Jl. Raya Suyitman No.5, Krajan, Ambulu, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia ke Jl. Raya Suyitman No.5, Krajan, Ambulu, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.60585, -8.347, 0.0 ], [ 113.60596, -8.34662, 0.0 ], [ 113.60596, -8.34655, 0.0 ], [ 113.60595, -8.34633, 0.0 ], [ 113.60604, -8.34606, 0.0 ], [ 113.60624, -8.34545, 0.0 ], [ 113.6064, -8.3449, 0.0 ], [ 113.60642, -8.34483, 0.0 ], [ 113.60666, -8.34421, 0.0 ], [ 113.60686, -8.34366, 0.0 ], [ 113.60692, -8.3434, 0.0 ], [ 113.60698, -8.34313, 0.0 ], [ 113.60704, -8.3429, 0.0 ], [ 113.60707, -8.34269, 0.0 ], [ 113.6071, -8.3425, 0.0 ], [ 113.60724, -8.34206, 0.0 ], [ 113.60727, -8.34181, 0.0 ], [ 113.60729, -8.34163, 0.0 ], [ 113.60732, -8.34137, 0.0 ], [ 113.60733, -8.34124, 0.0 ], [ 113.6074, -8.34067, 0.0 ], [ 113.6074, -8.34061, 0.0 ], [ 113.6074, -8.3406, 0.0 ], [ 113.60741, -8.34051, 0.0 ], [ 113.60742, -8.34034, 0.0 ], [ 113.60746, -8.34002, 0.0 ], [ 113.6075, -8.33968, 0.0 ], [ 113.60754, -8.3392, 0.0 ], [ 113.60757, -8.33877, 0.0 ], [ 113.6076, -8.33848, 0.0 ], [ 113.6076, -8.33833, 0.0 ], [ 113.6076, -8.33794, 0.0 ], [ 113.60763, -8.33751, 0.0 ], [ 113.60761, -8.33658, 0.0 ], [ 113.60762, -8.33649, 0.0 ], [ 113.60768, -8.33599, 0.0 ], [ 113.60771, -8.33587, 0.0 ], [ 113.6078, -8.33553, 0.0 ], [ 113.60781, -8.33539, 0.0 ], [ 113.60783, -8.33506, 0.0 ], [ 113.60788, -8.33473, 0.0 ], [ 113.60788, -8.3347, 0.0 ], [ 113.60743, -8.33467, 0.0 ], [ 113.60703, -8.33463, 0.0 ], [ 113.60666, -8.33459, 0.0 ], [ 113.60652, -8.33458, 0.0 ], [ 113.60591, -8.33447, 0.0 ], [ 113.60583, -8.33445, 0.0 ], [ 113.60568, -8.33442, 0.0 ], [ 113.60559, -8.3344, 0.0 ], [ 113.60552, -8.33438, 0.0 ], [ 113.60538, -8.33433, 0.0 ], [ 113.60525, -8.33432, 0.0 ], [ 113.60512, -8.33428, 0.0 ], [ 113.60511, -8.33428, 0.0 ], [ 113.60464, -8.33415, 0.0 ], [ 113.60453, -8.33412, 0.0 ], [ 113.60451, -8.33411, 0.0 ], [ 113.6042, -8.33405, 0.0 ], [ 113.60404, -8.33402, 0.0 ], [ 113.60363, -8.33396, 0.0 ], [ 113.603, -8.33389, 0.0 ], [ 113.60252, -8.33383, 0.0 ], [ 113.60231, -8.33381, 0.0 ], [ 113.60232, -8.33373, 0.0 ], [ 113.60231, -8.33381, 0.0 ], [ 113.60227, -8.33464, 0.0 ], [ 113.60223, -8.33537, 0.0 ], [ 113.60223, -8.33576, 0.0 ], [ 113.60222, -8.33633, 0.0 ], [ 113.60221, -8.33641, 0.0 ], [ 113.6022, -8.33658, 0.0 ], [ 113.6022, -8.3367, 0.0 ], [ 113.60221, -8.33683, 0.0 ], [ 113.60224, -8.33707, 0.0 ], [ 113.60227, -8.33725, 0.0 ], [ 113.60233, -8.33746, 0.0 ], [ 113.60238, -8.33767, 0.0 ], [ 113.6027, -8.33879, 0.0 ], [ 113.60285, -8.33937, 0.0 ], [ 113.6029, -8.3396, 0.0 ], [ 113.60304, -8.34026, 0.0 ], [ 113.60307, -8.34043, 0.0 ], [ 113.60311, -8.34072, 0.0 ], [ 113.60313, -8.34091, 0.0 ], [ 113.60313, -8.34097, 0.0 ], [ 113.60316, -8.34129, 0.0 ], [ 113.60319, -8.34168, 0.0 ], [ 113.6032, -8.34175, 0.0 ], [ 113.60327, -8.34245, 0.0 ], [ 113.6033, -8.34273, 0.0 ], [ 113.6033, -8.34282, 0.0 ], [ 113.60332, -8.34302, 0.0 ], [ 113.60336, -8.34341, 0.0 ], [ 113.60339, -8.3438, 0.0 ], [ 113.6034, -8.34395, 0.0 ], [ 113.60342, -8.34421, 0.0 ], [ 113.60344, -8.34434, 0.0 ], [ 113.60345, -8.34451, 0.0 ], [ 113.60345, -8.34459, 0.0 ], [ 113.60345, -8.34477, 0.0 ], [ 113.60345, -8.34491, 0.0 ], [ 113.60345, -8.34505, 0.0 ], [ 113.60345, -8.34513, 0.0 ], [ 113.60346, -8.34541, 0.0 ], [ 113.60345, -8.34588, 0.0 ], [ 113.60345, -8.34616, 0.0 ], [ 113.60344, -8.34631, 0.0 ], [ 113.60342, -8.34643, 0.0 ], [ 113.60339, -8.34701, 0.0 ], [ 113.60339, -8.34706, 0.0 ], [ 113.60401, -8.34718, 0.0 ], [ 113.60415, -8.34721, 0.0 ], [ 113.60447, -8.34727, 0.0 ], [ 113.60464, -8.34732, 0.0 ], [ 113.60571, -8.34749, 0.0 ], [ 113.60585, -8.34701, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "Jl. Raya Suyitman No.5, Krajan, Ambulu, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6058535, -8.3470047, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MJ83+G24, Sentong, Karanganyar, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6023187, -8.3337307, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "MJ33+687, Jl. Manggar, Tegalsari, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6033913, -8.3470052, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "Jl. Raya Suyitman No.5, Krajan, Ambulu, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6058531, -8.3470062, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Watu Ulo.geojson b/smart_cycling_api/import_queue/done/Watu Ulo.geojson new file mode 100644 index 0000000..8643d44 --- /dev/null +++ b/smart_cycling_api/import_queue/done/Watu Ulo.geojson @@ -0,0 +1,10 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari Alun Alun Ambulu, Jalan Diponegoro, Krajan, Ambulu, Kabupaten Jember, Jawa Timur ke HHFF+J46, Watu Ulo, Sumberrejo, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari Alun Alun Ambulu, Jalan Diponegoro, Krajan, Ambulu, Kabupaten Jember, Jawa Timur ke HHFF+J46, Watu Ulo, Sumberrejo, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.60562, -8.34527, 0.0 ], [ 113.60624, -8.34545, 0.0 ], [ 113.60604, -8.34606, 0.0 ], [ 113.60595, -8.34633, 0.0 ], [ 113.60596, -8.34655, 0.0 ], [ 113.60596, -8.34662, 0.0 ], [ 113.60571, -8.34749, 0.0 ], [ 113.60568, -8.3476, 0.0 ], [ 113.60552, -8.34824, 0.0 ], [ 113.60534, -8.3488, 0.0 ], [ 113.60527, -8.34904, 0.0 ], [ 113.60512, -8.34953, 0.0 ], [ 113.60501, -8.34983, 0.0 ], [ 113.60491, -8.35023, 0.0 ], [ 113.60487, -8.35048, 0.0 ], [ 113.6048, -8.35074, 0.0 ], [ 113.60476, -8.35088, 0.0 ], [ 113.60475, -8.35096, 0.0 ], [ 113.60472, -8.35111, 0.0 ], [ 113.60467, -8.35127, 0.0 ], [ 113.60461, -8.35149, 0.0 ], [ 113.60453, -8.35171, 0.0 ], [ 113.6045, -8.35182, 0.0 ], [ 113.60448, -8.3519, 0.0 ], [ 113.60433, -8.35247, 0.0 ], [ 113.60432, -8.35251, 0.0 ], [ 113.60424, -8.3527, 0.0 ], [ 113.6042, -8.35281, 0.0 ], [ 113.6042, -8.35282, 0.0 ], [ 113.60418, -8.35288, 0.0 ], [ 113.60416, -8.35297, 0.0 ], [ 113.60414, -8.35306, 0.0 ], [ 113.60414, -8.35307, 0.0 ], [ 113.60412, -8.35318, 0.0 ], [ 113.6041, -8.35333, 0.0 ], [ 113.60409, -8.3535, 0.0 ], [ 113.60406, -8.35401, 0.0 ], [ 113.60405, -8.35448, 0.0 ], [ 113.60404, -8.35464, 0.0 ], [ 113.60404, -8.35486, 0.0 ], [ 113.60401, -8.35528, 0.0 ], [ 113.60401, -8.35535, 0.0 ], [ 113.60399, -8.35563, 0.0 ], [ 113.60399, -8.35577, 0.0 ], [ 113.60396, -8.35645, 0.0 ], [ 113.60396, -8.35654, 0.0 ], [ 113.60394, -8.35704, 0.0 ], [ 113.60392, -8.35737, 0.0 ], [ 113.6039, -8.35791, 0.0 ], [ 113.6039, -8.35796, 0.0 ], [ 113.60389, -8.35854, 0.0 ], [ 113.60387, -8.35973, 0.0 ], [ 113.60384, -8.36022, 0.0 ], [ 113.60379, -8.36126, 0.0 ], [ 113.60377, -8.36163, 0.0 ], [ 113.60376, -8.36168, 0.0 ], [ 113.60372, -8.36257, 0.0 ], [ 113.60371, -8.36272, 0.0 ], [ 113.60369, -8.36294, 0.0 ], [ 113.60363, -8.36408, 0.0 ], [ 113.60362, -8.36453, 0.0 ], [ 113.60361, -8.36462, 0.0 ], [ 113.60361, -8.36475, 0.0 ], [ 113.60358, -8.36515, 0.0 ], [ 113.60357, -8.36542, 0.0 ], [ 113.60354, -8.36618, 0.0 ], [ 113.60351, -8.36674, 0.0 ], [ 113.60347, -8.36765, 0.0 ], [ 113.60346, -8.36783, 0.0 ], [ 113.60344, -8.36855, 0.0 ], [ 113.60343, -8.36873, 0.0 ], [ 113.60341, -8.36921, 0.0 ], [ 113.60336, -8.37068, 0.0 ], [ 113.60328, -8.37209, 0.0 ], [ 113.60324, -8.37295, 0.0 ], [ 113.6032, -8.37376, 0.0 ], [ 113.60318, -8.37442, 0.0 ], [ 113.60315, -8.37534, 0.0 ], [ 113.60306, -8.3765, 0.0 ], [ 113.60186, -8.37648, 0.0 ], [ 113.60122, -8.37647, 0.0 ], [ 113.60068, -8.37646, 0.0 ], [ 113.60063, -8.37685, 0.0 ], [ 113.60061, -8.377, 0.0 ], [ 113.60059, -8.37718, 0.0 ], [ 113.60057, -8.37732, 0.0 ], [ 113.60053, -8.37746, 0.0 ], [ 113.60047, -8.37765, 0.0 ], [ 113.6004, -8.37782, 0.0 ], [ 113.60027, -8.37812, 0.0 ], [ 113.60008, -8.37857, 0.0 ], [ 113.60001, -8.37873, 0.0 ], [ 113.59978, -8.37925, 0.0 ], [ 113.59965, -8.37954, 0.0 ], [ 113.59964, -8.37956, 0.0 ], [ 113.59941, -8.38003, 0.0 ], [ 113.59915, -8.38053, 0.0 ], [ 113.59893, -8.38092, 0.0 ], [ 113.59885, -8.38106, 0.0 ], [ 113.59879, -8.38115, 0.0 ], [ 113.59866, -8.38135, 0.0 ], [ 113.59861, -8.38143, 0.0 ], [ 113.59855, -8.38151, 0.0 ], [ 113.59847, -8.3816, 0.0 ], [ 113.59841, -8.38165, 0.0 ], [ 113.59836, -8.38169, 0.0 ], [ 113.59829, -8.38175, 0.0 ], [ 113.59822, -8.38183, 0.0 ], [ 113.59801, -8.38211, 0.0 ], [ 113.59798, -8.38214, 0.0 ], [ 113.59792, -8.38218, 0.0 ], [ 113.59788, -8.3822, 0.0 ], [ 113.59783, -8.38221, 0.0 ], [ 113.59779, -8.38222, 0.0 ], [ 113.59768, -8.38222, 0.0 ], [ 113.5972, -8.38218, 0.0 ], [ 113.59704, -8.38217, 0.0 ], [ 113.59684, -8.38215, 0.0 ], [ 113.59681, -8.38215, 0.0 ], [ 113.59666, -8.38215, 0.0 ], [ 113.59647, -8.38217, 0.0 ], [ 113.59619, -8.38221, 0.0 ], [ 113.5959, -8.38225, 0.0 ], [ 113.59559, -8.38229, 0.0 ], [ 113.59543, -8.38233, 0.0 ], [ 113.59528, -8.38235, 0.0 ], [ 113.59511, -8.38236, 0.0 ], [ 113.59464, -8.3824, 0.0 ], [ 113.59454, -8.38241, 0.0 ], [ 113.59437, -8.38243, 0.0 ], [ 113.59423, -8.38245, 0.0 ], [ 113.5941, -8.38249, 0.0 ], [ 113.59403, -8.38252, 0.0 ], [ 113.59401, -8.38253, 0.0 ], [ 113.59353, -8.3828, 0.0 ], [ 113.59311, -8.38308, 0.0 ], [ 113.5926, -8.38345, 0.0 ], [ 113.59252, -8.38351, 0.0 ], [ 113.59085, -8.38478, 0.0 ], [ 113.59079, -8.38483, 0.0 ], [ 113.59074, -8.38487, 0.0 ], [ 113.59035, -8.3852, 0.0 ], [ 113.59019, -8.38534, 0.0 ], [ 113.59013, -8.38539, 0.0 ], [ 113.58954, -8.38592, 0.0 ], [ 113.58913, -8.38629, 0.0 ], [ 113.5891, -8.38632, 0.0 ], [ 113.589, -8.38641, 0.0 ], [ 113.58885, -8.38652, 0.0 ], [ 113.58876, -8.3866, 0.0 ], [ 113.58808, -8.38715, 0.0 ], [ 113.58733, -8.38773, 0.0 ], [ 113.58723, -8.38784, 0.0 ], [ 113.58711, -8.38798, 0.0 ], [ 113.58701, -8.38812, 0.0 ], [ 113.58695, -8.38822, 0.0 ], [ 113.5869, -8.38831, 0.0 ], [ 113.58685, -8.38844, 0.0 ], [ 113.5868, -8.3886, 0.0 ], [ 113.58662, -8.38921, 0.0 ], [ 113.58652, -8.38948, 0.0 ], [ 113.5864, -8.38985, 0.0 ], [ 113.58631, -8.39014, 0.0 ], [ 113.58621, -8.39046, 0.0 ], [ 113.58616, -8.39064, 0.0 ], [ 113.586, -8.39111, 0.0 ], [ 113.58597, -8.39121, 0.0 ], [ 113.58586, -8.39156, 0.0 ], [ 113.58577, -8.3918, 0.0 ], [ 113.58568, -8.3921, 0.0 ], [ 113.58542, -8.39292, 0.0 ], [ 113.5854, -8.39297, 0.0 ], [ 113.58497, -8.39425, 0.0 ], [ 113.58456, -8.39552, 0.0 ], [ 113.58421, -8.39666, 0.0 ], [ 113.58406, -8.39715, 0.0 ], [ 113.58378, -8.39806, 0.0 ], [ 113.58371, -8.39832, 0.0 ], [ 113.58363, -8.39859, 0.0 ], [ 113.5836, -8.39872, 0.0 ], [ 113.58356, -8.39887, 0.0 ], [ 113.58352, -8.39902, 0.0 ], [ 113.5835, -8.39916, 0.0 ], [ 113.58348, -8.39942, 0.0 ], [ 113.58348, -8.39946, 0.0 ], [ 113.58348, -8.39965, 0.0 ], [ 113.58348, -8.39966, 0.0 ], [ 113.5835, -8.39983, 0.0 ], [ 113.58351, -8.39997, 0.0 ], [ 113.58351, -8.4, 0.0 ], [ 113.58353, -8.40018, 0.0 ], [ 113.58355, -8.40029, 0.0 ], [ 113.58356, -8.40036, 0.0 ], [ 113.58363, -8.40071, 0.0 ], [ 113.58371, -8.40115, 0.0 ], [ 113.58376, -8.40133, 0.0 ], [ 113.58379, -8.40141, 0.0 ], [ 113.58383, -8.40148, 0.0 ], [ 113.58391, -8.40168, 0.0 ], [ 113.58393, -8.40175, 0.0 ], [ 113.58397, -8.40202, 0.0 ], [ 113.58397, -8.40203, 0.0 ], [ 113.58397, -8.40218, 0.0 ], [ 113.58396, -8.40232, 0.0 ], [ 113.58395, -8.40248, 0.0 ], [ 113.58394, -8.40257, 0.0 ], [ 113.5839, -8.4027, 0.0 ], [ 113.58383, -8.4029, 0.0 ], [ 113.5836, -8.40345, 0.0 ], [ 113.5835, -8.40377, 0.0 ], [ 113.5832, -8.40467, 0.0 ], [ 113.58299, -8.40534, 0.0 ], [ 113.5829, -8.40561, 0.0 ], [ 113.5828, -8.40596, 0.0 ], [ 113.58263, -8.40651, 0.0 ], [ 113.58262, -8.40654, 0.0 ], [ 113.58255, -8.40682, 0.0 ], [ 113.58246, -8.40708, 0.0 ], [ 113.58239, -8.4073, 0.0 ], [ 113.58234, -8.40739, 0.0 ], [ 113.5823, -8.40745, 0.0 ], [ 113.58222, -8.40753, 0.0 ], [ 113.58215, -8.4076, 0.0 ], [ 113.58187, -8.40784, 0.0 ], [ 113.58183, -8.40787, 0.0 ], [ 113.58168, -8.40801, 0.0 ], [ 113.58148, -8.40823, 0.0 ], [ 113.5813, -8.4085, 0.0 ], [ 113.58121, -8.40863, 0.0 ], [ 113.58112, -8.40879, 0.0 ], [ 113.58092, -8.40919, 0.0 ], [ 113.58072, -8.40958, 0.0 ], [ 113.58058, -8.40986, 0.0 ], [ 113.58043, -8.41018, 0.0 ], [ 113.58024, -8.41054, 0.0 ], [ 113.58005, -8.41098, 0.0 ], [ 113.58004, -8.41102, 0.0 ], [ 113.57994, -8.41128, 0.0 ], [ 113.57985, -8.41153, 0.0 ], [ 113.57972, -8.41188, 0.0 ], [ 113.57947, -8.41295, 0.0 ], [ 113.57941, -8.41314, 0.0 ], [ 113.57933, -8.41335, 0.0 ], [ 113.57927, -8.41351, 0.0 ], [ 113.57923, -8.41362, 0.0 ], [ 113.57921, -8.41368, 0.0 ], [ 113.57916, -8.41387, 0.0 ], [ 113.57915, -8.41395, 0.0 ], [ 113.57912, -8.41411, 0.0 ], [ 113.5791, -8.4143, 0.0 ], [ 113.5791, -8.41451, 0.0 ], [ 113.5791, -8.41456, 0.0 ], [ 113.5791, -8.41472, 0.0 ], [ 113.5791, -8.41474, 0.0 ], [ 113.5791, -8.4151, 0.0 ], [ 113.57909, -8.4161, 0.0 ], [ 113.57909, -8.41631, 0.0 ], [ 113.57909, -8.41634, 0.0 ], [ 113.5791, -8.41648, 0.0 ], [ 113.57911, -8.41666, 0.0 ], [ 113.5791, -8.4174, 0.0 ], [ 113.57908, -8.41761, 0.0 ], [ 113.57904, -8.41779, 0.0 ], [ 113.579, -8.41794, 0.0 ], [ 113.57898, -8.41813, 0.0 ], [ 113.57896, -8.41844, 0.0 ], [ 113.57895, -8.41878, 0.0 ], [ 113.57896, -8.41897, 0.0 ], [ 113.57896, -8.41911, 0.0 ], [ 113.57896, -8.41924, 0.0 ], [ 113.57895, -8.41951, 0.0 ], [ 113.57894, -8.41966, 0.0 ], [ 113.57891, -8.41992, 0.0 ], [ 113.57888, -8.42011, 0.0 ], [ 113.57887, -8.42016, 0.0 ], [ 113.57885, -8.42034, 0.0 ], [ 113.57868, -8.42132, 0.0 ], [ 113.57868, -8.42139, 0.0 ], [ 113.57867, -8.42144, 0.0 ], [ 113.57863, -8.42187, 0.0 ], [ 113.57856, -8.42278, 0.0 ], [ 113.5785, -8.42347, 0.0 ], [ 113.57848, -8.42384, 0.0 ], [ 113.57847, -8.42388, 0.0 ], [ 113.57845, -8.42402, 0.0 ], [ 113.57842, -8.42429, 0.0 ], [ 113.5784, -8.4245, 0.0 ], [ 113.57837, -8.42472, 0.0 ], [ 113.57835, -8.42514, 0.0 ], [ 113.57835, -8.42539, 0.0 ], [ 113.57834, -8.42593, 0.0 ], [ 113.57834, -8.42598, 0.0 ], [ 113.57836, -8.42659, 0.0 ], [ 113.57854, -8.42717, 0.0 ], [ 113.57835, -8.42729, 0.0 ], [ 113.57822, -8.42737, 0.0 ], [ 113.57813, -8.42742, 0.0 ], [ 113.57803, -8.42745, 0.0 ], [ 113.57801, -8.42746, 0.0 ], [ 113.57798, -8.42746, 0.0 ], [ 113.57793, -8.42747, 0.0 ], [ 113.57787, -8.42747, 0.0 ], [ 113.57747, -8.42747, 0.0 ], [ 113.57674, -8.42747, 0.0 ], [ 113.57659, -8.42747, 0.0 ], [ 113.57657, -8.42747, 0.0 ], [ 113.57637, -8.42747, 0.0 ], [ 113.57617, -8.42747, 0.0 ], [ 113.57598, -8.42746, 0.0 ], [ 113.57588, -8.42745, 0.0 ], [ 113.57579, -8.42742, 0.0 ], [ 113.5757, -8.42737, 0.0 ], [ 113.57552, -8.42727, 0.0 ], [ 113.57526, -8.42713, 0.0 ], [ 113.57474, -8.42686, 0.0 ], [ 113.57445, -8.42671, 0.0 ], [ 113.57438, -8.42668, 0.0 ], [ 113.57411, -8.42654, 0.0 ], [ 113.57373, -8.42635, 0.0 ], [ 113.57328, -8.42611, 0.0 ], [ 113.57294, -8.42594, 0.0 ], [ 113.5728, -8.42587, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "Alun Alun Ambulu, Jalan Diponegoro, Krajan, Ambulu, Kabupaten Jember, Jawa Timur", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6056202, -8.3452732, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "HHFF+J46, Watu Ulo, Sumberrejo, Kec. Ambulu, Kabupaten Jember, Jawa Timur 68172, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.5728009, -8.425871, 0.0 ] } } +] +} diff --git a/smart_cycling_api/import_queue/done/Wonoasri.geojson b/smart_cycling_api/import_queue/done/Wonoasri.geojson new file mode 100644 index 0000000..86a2add --- /dev/null +++ b/smart_cycling_api/import_queue/done/Wonoasri.geojson @@ -0,0 +1,14 @@ +{ +"type": "FeatureCollection", +"name": "Rute dari JM8C+M4H, Kraton, Wonoasri, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia ke JM8C+M4H, Kraton, Wonoasri, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "Name": "Rute dari JM8C+M4H, Kraton, Wonoasri, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia ke JM8C+M4H, Kraton, Wonoasri, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": 1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "LineString", "coordinates": [ [ 113.67027, -8.3831, 0.0 ], [ 113.67027, -8.38317, 0.0 ], [ 113.67027, -8.3832, 0.0 ], [ 113.67028, -8.38348, 0.0 ], [ 113.67031, -8.38413, 0.0 ], [ 113.67031, -8.38419, 0.0 ], [ 113.67032, -8.3849, 0.0 ], [ 113.67032, -8.38553, 0.0 ], [ 113.67028, -8.38673, 0.0 ], [ 113.67024, -8.38785, 0.0 ], [ 113.67023, -8.38811, 0.0 ], [ 113.67021, -8.38856, 0.0 ], [ 113.67001, -8.38943, 0.0 ], [ 113.67, -8.3895, 0.0 ], [ 113.67003, -8.3895, 0.0 ], [ 113.66998, -8.38999, 0.0 ], [ 113.66992, -8.39035, 0.0 ], [ 113.66992, -8.39039, 0.0 ], [ 113.66979, -8.3912, 0.0 ], [ 113.66976, -8.39135, 0.0 ], [ 113.66965, -8.39201, 0.0 ], [ 113.66959, -8.39239, 0.0 ], [ 113.66955, -8.39282, 0.0 ], [ 113.66953, -8.39299, 0.0 ], [ 113.66976, -8.39298, 0.0 ], [ 113.67009, -8.39296, 0.0 ], [ 113.67029, -8.39295, 0.0 ], [ 113.67047, -8.39294, 0.0 ], [ 113.67082, -8.39291, 0.0 ], [ 113.67098, -8.39291, 0.0 ], [ 113.67114, -8.39291, 0.0 ], [ 113.67128, -8.39292, 0.0 ], [ 113.67144, -8.39295, 0.0 ], [ 113.67175, -8.39301, 0.0 ], [ 113.67194, -8.39304, 0.0 ], [ 113.67217, -8.39308, 0.0 ], [ 113.67226, -8.39313, 0.0 ], [ 113.67246, -8.39318, 0.0 ], [ 113.67267, -8.39323, 0.0 ], [ 113.67284, -8.39326, 0.0 ], [ 113.67315, -8.39332, 0.0 ], [ 113.67358, -8.39339, 0.0 ], [ 113.67376, -8.39342, 0.0 ], [ 113.67387, -8.39344, 0.0 ], [ 113.6751, -8.39365, 0.0 ], [ 113.67557, -8.39373, 0.0 ], [ 113.67616, -8.39384, 0.0 ], [ 113.67617, -8.39384, 0.0 ], [ 113.67633, -8.39387, 0.0 ], [ 113.67651, -8.3939, 0.0 ], [ 113.6768, -8.39395, 0.0 ], [ 113.67723, -8.394, 0.0 ], [ 113.67775, -8.39404, 0.0 ], [ 113.67792, -8.39404, 0.0 ], [ 113.67828, -8.39405, 0.0 ], [ 113.67846, -8.39405, 0.0 ], [ 113.67858, -8.39405, 0.0 ], [ 113.67901, -8.39406, 0.0 ], [ 113.67922, -8.39407, 0.0 ], [ 113.67936, -8.39408, 0.0 ], [ 113.67949, -8.39408, 0.0 ], [ 113.67955, -8.39408, 0.0 ], [ 113.67965, -8.39408, 0.0 ], [ 113.67992, -8.39408, 0.0 ], [ 113.6801, -8.39408, 0.0 ], [ 113.6808, -8.39408, 0.0 ], [ 113.68151, -8.39409, 0.0 ], [ 113.68169, -8.3941, 0.0 ], [ 113.6821, -8.3941, 0.0 ], [ 113.68278, -8.39412, 0.0 ], [ 113.68349, -8.39413, 0.0 ], [ 113.68381, -8.39413, 0.0 ], [ 113.68427, -8.39414, 0.0 ], [ 113.68453, -8.39414, 0.0 ], [ 113.68467, -8.39415, 0.0 ], [ 113.6848, -8.39414, 0.0 ], [ 113.68489, -8.39414, 0.0 ], [ 113.68517, -8.39414, 0.0 ], [ 113.68524, -8.39414, 0.0 ], [ 113.68558, -8.39416, 0.0 ], [ 113.68561, -8.39416, 0.0 ], [ 113.68578, -8.39416, 0.0 ], [ 113.68591, -8.39417, 0.0 ], [ 113.68613, -8.39416, 0.0 ], [ 113.68614, -8.39408, 0.0 ], [ 113.68625, -8.39358, 0.0 ], [ 113.68642, -8.39282, 0.0 ], [ 113.68657, -8.39211, 0.0 ], [ 113.68667, -8.39164, 0.0 ], [ 113.68671, -8.39146, 0.0 ], [ 113.68682, -8.39093, 0.0 ], [ 113.68698, -8.39045, 0.0 ], [ 113.68699, -8.3904, 0.0 ], [ 113.68705, -8.39023, 0.0 ], [ 113.68716, -8.38989, 0.0 ], [ 113.68727, -8.38955, 0.0 ], [ 113.68749, -8.38861, 0.0 ], [ 113.68766, -8.38792, 0.0 ], [ 113.68779, -8.38739, 0.0 ], [ 113.68782, -8.38727, 0.0 ], [ 113.68783, -8.38722, 0.0 ], [ 113.688, -8.38654, 0.0 ], [ 113.68808, -8.38617, 0.0 ], [ 113.68811, -8.38606, 0.0 ], [ 113.68815, -8.38588, 0.0 ], [ 113.68827, -8.38536, 0.0 ], [ 113.6884, -8.38484, 0.0 ], [ 113.68848, -8.38449, 0.0 ], [ 113.68858, -8.38407, 0.0 ], [ 113.68863, -8.38389, 0.0 ], [ 113.68871, -8.38354, 0.0 ], [ 113.68868, -8.38354, 0.0 ], [ 113.68851, -8.38352, 0.0 ], [ 113.68797, -8.38344, 0.0 ], [ 113.68724, -8.38334, 0.0 ], [ 113.68648, -8.38328, 0.0 ], [ 113.6858, -8.38322, 0.0 ], [ 113.68535, -8.38319, 0.0 ], [ 113.68535, -8.38311, 0.0 ], [ 113.68535, -8.38319, 0.0 ], [ 113.68483, -8.38313, 0.0 ], [ 113.68444, -8.38309, 0.0 ], [ 113.68441, -8.38309, 0.0 ], [ 113.68369, -8.383, 0.0 ], [ 113.68264, -8.38282, 0.0 ], [ 113.68238, -8.38278, 0.0 ], [ 113.68175, -8.38268, 0.0 ], [ 113.68158, -8.38266, 0.0 ], [ 113.68146, -8.38265, 0.0 ], [ 113.68133, -8.38265, 0.0 ], [ 113.68118, -8.38265, 0.0 ], [ 113.68078, -8.38265, 0.0 ], [ 113.68062, -8.38264, 0.0 ], [ 113.6804, -8.38265, 0.0 ], [ 113.67983, -8.38266, 0.0 ], [ 113.67817, -8.38253, 0.0 ], [ 113.67744, -8.38248, 0.0 ], [ 113.67686, -8.38244, 0.0 ], [ 113.67638, -8.38239, 0.0 ], [ 113.67636, -8.38275, 0.0 ], [ 113.67632, -8.3834, 0.0 ], [ 113.67632, -8.38349, 0.0 ], [ 113.67492, -8.38348, 0.0 ], [ 113.67471, -8.38347, 0.0 ], [ 113.67335, -8.38334, 0.0 ], [ 113.67288, -8.38329, 0.0 ], [ 113.67027, -8.3832, 0.0 ], [ 113.67027, -8.38317, 0.0 ], [ 113.67027, -8.3831, 0.0 ] ] } }, +{ "type": "Feature", "properties": { "Name": "JM8C+M4H, Kraton, Wonoasri, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6702683, -8.3830957, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JM49+VP, Kotablater, Curahnongko, Kec. Tempurejo, Kabupaten Jember, Jawa Timur, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6695486, -8.392818, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JM6P+3MM, Kraton, Wonoasri, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6869755, -8.390448, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JM9P+2W3, Kraton, Wonoasri, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6886815, -8.3835389, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JM8P+CC5, Kraton, Wonoasri, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6853535, -8.3831107, 0.0 ] } }, +{ "type": "Feature", "properties": { "Name": "JM8C+M4H, Kraton, Wonoasri, Kec. Tempurejo, Kabupaten Jember, Jawa Timur 68173, Indonesia", "tessellate": -1, "extrude": 0, "visibility": -1 }, "geometry": { "type": "Point", "coordinates": [ 113.6702684, -8.3831014, 0.0 ] } } +] +} diff --git a/smart_cycling_api/koneksi.php b/smart_cycling_api/koneksi.php new file mode 100644 index 0000000..f4d8144 --- /dev/null +++ b/smart_cycling_api/koneksi.php @@ -0,0 +1,22 @@ + diff --git a/smart_cycling_api/list_tables.php b/smart_cycling_api/list_tables.php new file mode 100644 index 0000000..8eb1bb6 --- /dev/null +++ b/smart_cycling_api/list_tables.php @@ -0,0 +1,9 @@ + diff --git a/smart_cycling_api/login.php b/smart_cycling_api/login.php new file mode 100644 index 0000000..0318c82 --- /dev/null +++ b/smart_cycling_api/login.php @@ -0,0 +1,38 @@ +prepare("SELECT * FROM users WHERE username = ?"); + $stmt->bind_param("s", $username); + $stmt->execute(); + $result = $stmt->get_result(); + + if ($result->num_rows > 0) { + $user = $result->fetch_assoc(); + + // Cek password (mendukung teks biasa atau password_hash) + if (password_verify($password, $user['password']) || $password == $user['password']) { + echo json_encode([ + "status" => "success", + "message" => "Login Berhasil", + "user" => [ + "id_users" => $user['id_users'], + "nama" => $user['nama'], + "username" => $user['username'], + "photo_url" => $user['photo_url'] + ] + ]); + } else { + echo json_encode(["status" => "error", "message" => "Password salah!"]); + } + } else { + echo json_encode(["status" => "error", "message" => "Username tidak ditemukan!"]); + } + $stmt->close(); +} +$con->close(); +?> diff --git a/smart_cycling_api/migrate_db.php b/smart_cycling_api/migrate_db.php new file mode 100644 index 0000000..c685032 --- /dev/null +++ b/smart_cycling_api/migrate_db.php @@ -0,0 +1,9 @@ + diff --git a/smart_cycling_api/process_geojson.php b/smart_cycling_api/process_geojson.php new file mode 100644 index 0000000..938f48a --- /dev/null +++ b/smart_cycling_api/process_geojson.php @@ -0,0 +1,48 @@ + $coord[1], + 'lng' => $coord[0] + ]; +} + +$json_coords = mysqli_real_escape_string($con, json_encode($formatted_coords)); + +// Masukkan sebagai rute baru atau update yang sudah ada +// Disini saya masukkan sebagai rute baru untuk contoh +$nama_rute = "Rute Jenggawah - Pasar Asem (Loop)"; +$jarak = 12.5; // Estimasi, bisa disesuaikan +$medan = "Medan Campuran"; +$waktu = 45; + +$sql = "INSERT INTO routes (nama_rute, jarak, kondisi_medan, waktu_dasar, titik_koordinat) + VALUES ('$nama_rute', '$jarak', '$medan', '$waktu', '$json_coords')"; + +if (mysqli_query($con, $sql)) { + echo "BERHASIL: Data rute dan koordinat telah dimasukkan ke database."; + echo "
Jumlah titik: " . count($formatted_coords); +} else { + echo "GAGAL: " . mysqli_error($con); +} +?> diff --git a/smart_cycling_api/recommend_routes.php b/smart_cycling_api/recommend_routes.php new file mode 100644 index 0000000..d0da1fe --- /dev/null +++ b/smart_cycling_api/recommend_routes.php @@ -0,0 +1,93 @@ + 10) continue; // Asumsi Amatir + + // Filter Jenis Sepeda (Medan) + if ($jenis_sepeda == 'Road Bike' && $medan != 'Beraspal') continue; + if (($jenis_sepeda == 'MTB' || $jenis_sepeda == 'Hybrid') && $medan != 'Campuran') continue; + + $filtered_routes[] = $route; + } + + // Jika tidak ada rute yang cocok setelah di-filter, langsung kembalikan array kosong + if (count($filtered_routes) == 0) { + echo json_encode(["status" => "success", "data" => []]); + exit; + } + + // 2. Sorting berdasarkan jarak sesuai tipe pengguna + usort($filtered_routes, function($a, $b) use ($tipe_pengguna) { + $jarak_a = (float)$a['jarak']; + $jarak_b = (float)$b['jarak']; + + if ($tipe_pengguna == 'Profesional') { + // Profesional: Jarak terjauh di atas (Descending) + return $jarak_b <=> $jarak_a; + } else { + // Amatir: Jarak terdekat di atas (Ascending) + return $jarak_a <=> $jarak_b; + } + }); + + // 3. Scoring (Perhitungan Persentase Kecocokan) + // Karena sudah diurutkan, nilai Max (untuk Profesional) atau Min (untuk Amatir) + // pasti berada di urutan pertama (index 0). + $referensi_jarak = (float)$filtered_routes[0]['jarak']; + + $recommendations = []; + foreach ($filtered_routes as $route) { + $jarak = (float)$route['jarak']; + + if ($tipe_pengguna == 'Profesional') { + // Profesional: Skor = Jarak saat ini / Jarak Maksimal (diambil dari referensi) + $kecocokan = $jarak / ($referensi_jarak > 0 ? $referensi_jarak : 0.1); + } else { + // Amatir: Skor = Jarak Minimal (diambil dari referensi) / Jarak saat ini + $kecocokan = $referensi_jarak / ($jarak > 0 ? $jarak : 0.1); + } + + $recommendations[] = [ + "id_routes" => $route['id_routes'], + "nama_rute" => $route['nama_rute'], + "jarak" => $jarak, + "kondisi_medan" => $route['kondisi_medan'], + "waktu_dasar" => (int)$route['waktu_dasar'], + "titik_koordinat" => $route['titik_koordinat'], + "skor" => round($kecocokan, 4) // Mengembalikan nilai persentase agar UI tetap berjalan dengan akurat + ]; + } + + echo json_encode([ + "status" => "success", + "data" => $recommendations + ]); + +} else { + echo json_encode(["status" => "error", "message" => "Method not allowed"]); +} +?> diff --git a/smart_cycling_api/register.php b/smart_cycling_api/register.php new file mode 100644 index 0000000..8b7cc92 --- /dev/null +++ b/smart_cycling_api/register.php @@ -0,0 +1,34 @@ +prepare("SELECT username FROM users WHERE username = ?"); + $cek->bind_param("s", $username); + $cek->execute(); + + if ($cek->get_result()->num_rows > 0) { + echo json_encode(["status" => "error", "message" => "Username sudah digunakan!"]); + } else { + $stmt = $con->prepare("INSERT INTO users (nama, username, password, photo_url) VALUES (?, ?, ?, ?)"); + $empty_photo = ""; + $stmt->bind_param("ssss", $nama, $username, $password_hash, $empty_photo); + + if ($stmt->execute()) { + echo json_encode(["status" => "success", "message" => "Registrasi berhasil"]); + } else { + echo json_encode(["status" => "error", "message" => "Gagal: " . $con->error]); + } + $stmt->close(); + } + $cek->close(); +} +$con->close(); +?> diff --git a/smart_cycling_api/save_history.php b/smart_cycling_api/save_history.php new file mode 100644 index 0000000..d986f83 --- /dev/null +++ b/smart_cycling_api/save_history.php @@ -0,0 +1,31 @@ + 'error', 'message' => 'Missing parameters']); + exit(); + } + + $stmt = $con->prepare("INSERT INTO trip_history (id_users, id_routes, target_waktu, status, jarak_tempuh, waktu_tempuh, kecepatan_rata_rata, tanggal) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"); + $stmt->bind_param("iissssss", $id_users, $id_routes, $target_waktu, $status, $jarak_tempuh, $waktu_tempuh, $kecepatan_rata_rata, $tanggal); + + if ($stmt->execute()) { + echo json_encode(['status' => 'success', 'message' => 'History saved successfully']); + } else { + echo json_encode(['status' => 'error', 'message' => $con->error]); + } + $stmt->close(); +} else { + echo json_encode(['status' => 'error', 'message' => 'Invalid request method']); +} +?> diff --git a/smart_cycling_api/test_distance.php b/smart_cycling_api/test_distance.php new file mode 100644 index 0000000..b50a080 --- /dev/null +++ b/smart_cycling_api/test_distance.php @@ -0,0 +1,38 @@ + $feature) { + if ($feature['geometry']['type'] === 'LineString') { + $raw_coords = $feature['geometry']['coordinates']; + $formatted_coords = []; + foreach ($raw_coords as $coord) { + $lat = $coord[1]; + $lng = $coord[0]; + $formatted_coords[] = ['lat' => $lat, 'lng' => $lng]; + + if ($lat < $min_lat) $min_lat = $lat; + if ($lat > $max_lat) $max_lat = $lat; + if ($lng < $min_lng) $min_lng = $lng; + if ($lng > $max_lng) $max_lng = $lng; + } + $dist = calculateRouteDistance($formatted_coords); + echo "Feature #$index (LineString): Points: " . count($formatted_coords) . " | Dist: " . $dist . " KM\n"; + $total_dist += $dist; + } +} + +echo "-----------------------------------\n"; +echo "Total Calculated Distance: " . $total_dist . " KM\n"; +echo "Rentang Latitude: $min_lat sampai $max_lat\n"; +echo "Rentang Longitude: $min_lng sampai $max_lng\n"; + +// Kalkulasi jarak diagonal bounding box untuk gambaran skala +$diag = calculateDistance($min_lat, $min_lng, $max_lat, $max_lng); +echo "Jarak Diagonal Area: " . round($diag, 2) . " KM\n"; +?> diff --git a/smart_cycling_api/update_base_time.php b/smart_cycling_api/update_base_time.php new file mode 100644 index 0000000..9a7edff --- /dev/null +++ b/smart_cycling_api/update_base_time.php @@ -0,0 +1,23 @@ + diff --git a/smart_cycling_api/upload_photo.php b/smart_cycling_api/upload_photo.php new file mode 100644 index 0000000..ba515a2 --- /dev/null +++ b/smart_cycling_api/upload_photo.php @@ -0,0 +1,39 @@ + "error", "message" => "Data tidak lengkap"]); + exit(); + } + + $target_dir = "uploads/"; + if (!file_exists($target_dir)) { + mkdir($target_dir, 0777, true); + } + + $file_extension = pathinfo($_FILES["photo"]["name"], PATHINFO_EXTENSION); + $filename = uniqid("profile_") . "." . $file_extension; + $target_file = $target_dir . $filename; + + if (move_uploaded_file($_FILES["photo"]["tmp_name"], $target_file)) { + $url_path = "uploads/" . $filename; + + $stmt = $con->prepare("UPDATE users SET photo_url=? WHERE id_users=?"); + $stmt->bind_param("si", $url_path, $id_users); + + if ($stmt->execute()) { + echo json_encode(["status" => "success", "message" => "Foto diunggah", "photo_url" => $url_path]); + } else { + echo json_encode(["status" => "error", "message" => "Gagal simpan ke DB"]); + } + $stmt->close(); + } else { + echo json_encode(["status" => "error", "message" => "Gagal upload file"]); + } +} +$con->close(); +?> diff --git a/smart_cycling_api/uploads/.htaccess b/smart_cycling_api/uploads/.htaccess new file mode 100644 index 0000000..893ce24 --- /dev/null +++ b/smart_cycling_api/uploads/.htaccess @@ -0,0 +1,3 @@ + + Header set Access-Control-Allow-Origin "*" + diff --git a/smart_cycling_api/uploads/profile_69d5ed31def54.JPG b/smart_cycling_api/uploads/profile_69d5ed31def54.JPG new file mode 100644 index 0000000..4255abe Binary files /dev/null and b/smart_cycling_api/uploads/profile_69d5ed31def54.JPG differ diff --git a/smart_cycling_api/uploads/profile_69d5ef0d67971.JPG b/smart_cycling_api/uploads/profile_69d5ef0d67971.JPG new file mode 100644 index 0000000..d108eec Binary files /dev/null and b/smart_cycling_api/uploads/profile_69d5ef0d67971.JPG differ diff --git a/smart_cycling_api/uploads/profile_69d5efc552115.JPG b/smart_cycling_api/uploads/profile_69d5efc552115.JPG new file mode 100644 index 0000000..780453c Binary files /dev/null and b/smart_cycling_api/uploads/profile_69d5efc552115.JPG differ diff --git a/smart_cycling_api/uploads/profile_69d5f3b4efa00.jpg b/smart_cycling_api/uploads/profile_69d5f3b4efa00.jpg new file mode 100644 index 0000000..d367414 Binary files /dev/null and b/smart_cycling_api/uploads/profile_69d5f3b4efa00.jpg differ diff --git a/smart_cycling_api/uploads/profile_69d5f56c35a0d.jpg b/smart_cycling_api/uploads/profile_69d5f56c35a0d.jpg new file mode 100644 index 0000000..f48622d Binary files /dev/null and b/smart_cycling_api/uploads/profile_69d5f56c35a0d.jpg differ diff --git a/smart_cycling_api/uploads/profile_69d66eaca311c.JPG b/smart_cycling_api/uploads/profile_69d66eaca311c.JPG new file mode 100644 index 0000000..5d5e309 Binary files /dev/null and b/smart_cycling_api/uploads/profile_69d66eaca311c.JPG differ diff --git a/smart_cycling_api/uploads/profile_69d9f918b3668.jpeg b/smart_cycling_api/uploads/profile_69d9f918b3668.jpeg new file mode 100644 index 0000000..f3fffcb Binary files /dev/null and b/smart_cycling_api/uploads/profile_69d9f918b3668.jpeg differ diff --git a/smart_cycling_api/uploads/profile_69da059a9225d.jpg b/smart_cycling_api/uploads/profile_69da059a9225d.jpg new file mode 100644 index 0000000..4ac4bb0 Binary files /dev/null and b/smart_cycling_api/uploads/profile_69da059a9225d.jpg differ diff --git a/smart_cycling_api/uploads/profile_69df5ceaf176e.jpg b/smart_cycling_api/uploads/profile_69df5ceaf176e.jpg new file mode 100644 index 0000000..2cf069f Binary files /dev/null and b/smart_cycling_api/uploads/profile_69df5ceaf176e.jpg differ diff --git a/smart_cycling_api/uploads/profile_69e257988d869.jpg b/smart_cycling_api/uploads/profile_69e257988d869.jpg new file mode 100644 index 0000000..a68f92d Binary files /dev/null and b/smart_cycling_api/uploads/profile_69e257988d869.jpg differ diff --git a/smart_cycling_api/uploads/profile_6a08cac17999a.jpg b/smart_cycling_api/uploads/profile_6a08cac17999a.jpg new file mode 100644 index 0000000..77906bd Binary files /dev/null and b/smart_cycling_api/uploads/profile_6a08cac17999a.jpg differ diff --git a/smart_cycling_api/uploads/profile_6a08cb4a14a3a.jpg b/smart_cycling_api/uploads/profile_6a08cb4a14a3a.jpg new file mode 100644 index 0000000..5cd1bf9 Binary files /dev/null and b/smart_cycling_api/uploads/profile_6a08cb4a14a3a.jpg differ diff --git a/smart_cycling_api/verify_automation.php b/smart_cycling_api/verify_automation.php new file mode 100644 index 0000000..8f8c6e5 --- /dev/null +++ b/smart_cycling_api/verify_automation.php @@ -0,0 +1,10 @@ + diff --git a/smart_cycling_api/verify_register.php b/smart_cycling_api/verify_register.php new file mode 100644 index 0000000..694e583 --- /dev/null +++ b/smart_cycling_api/verify_register.php @@ -0,0 +1,10 @@ +