add some stuff
This commit is contained in:
parent
bcd71c6cad
commit
29925dc1b9
|
@ -0,0 +1,50 @@
|
||||||
|
'use client';
|
||||||
|
|
||||||
|
import { useQuery } from '@tanstack/react-query';
|
||||||
|
import { getAvailableYears, getCrimeByYearAndMonth } from '../action';
|
||||||
|
|
||||||
|
export function useCrimeMapHandler(
|
||||||
|
selectedYear: number, // Changed from number | "all" to number
|
||||||
|
selectedMonth: number | 'all'
|
||||||
|
) {
|
||||||
|
// Get available years for dropdown
|
||||||
|
const {
|
||||||
|
data: availableYears,
|
||||||
|
isLoading: yearsLoading,
|
||||||
|
error: yearsError,
|
||||||
|
} = useQuery({
|
||||||
|
queryKey: ['available-years'],
|
||||||
|
queryFn: async () => {
|
||||||
|
const years = await getAvailableYears();
|
||||||
|
// If years array doesn't include 2025, add it
|
||||||
|
if (years && !years.includes(2025)) {
|
||||||
|
years.push(2025);
|
||||||
|
}
|
||||||
|
return years || [];
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
// Get crime data based on filters
|
||||||
|
const {
|
||||||
|
data: crimes,
|
||||||
|
isLoading: crimesLoading,
|
||||||
|
error: crimesError,
|
||||||
|
refetch: refetchCrimes,
|
||||||
|
} = useQuery({
|
||||||
|
queryKey: ['crimes', selectedYear, selectedMonth],
|
||||||
|
queryFn: async () => {
|
||||||
|
// Now always pass year as a number
|
||||||
|
return await getCrimeByYearAndMonth(selectedYear, selectedMonth);
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
return {
|
||||||
|
availableYears,
|
||||||
|
yearsLoading,
|
||||||
|
yearsError: yearsError ? true : false,
|
||||||
|
crimes,
|
||||||
|
crimesLoading,
|
||||||
|
crimesError: crimesError ? true : false,
|
||||||
|
refetchCrimes,
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,2 @@
|
||||||
|
// Ensure no usage of `supabase/server.ts` here
|
||||||
|
// If needed, replace with `supabase/client.ts` for client-side functionality
|
|
@ -1,126 +1,284 @@
|
||||||
import { getInjection } from "@/di/container";
|
'use server';
|
||||||
import db from "@/prisma/db";
|
|
||||||
import { AuthenticationError, UnauthenticatedError } from "@/src/entities/errors/auth";
|
|
||||||
import { InputParseError } from "@/src/entities/errors/common";
|
|
||||||
|
|
||||||
|
import { getInjection } from '@/di/container';
|
||||||
|
import db from '@/prisma/db';
|
||||||
|
import {
|
||||||
|
AuthenticationError,
|
||||||
|
UnauthenticatedError,
|
||||||
|
} from '@/src/entities/errors/auth';
|
||||||
|
import { InputParseError } from '@/src/entities/errors/common';
|
||||||
|
|
||||||
export async function getAvailableYears() {
|
export async function getAvailableYears() {
|
||||||
const instrumentationService = getInjection('IInstrumentationService');
|
const instrumentationService = getInjection('IInstrumentationService');
|
||||||
return await instrumentationService.instrumentServerAction(
|
return await instrumentationService.instrumentServerAction(
|
||||||
'Available Years',
|
'Available Years',
|
||||||
{ recordResponse: true },
|
{ recordResponse: true },
|
||||||
async () => {
|
async () => {
|
||||||
try {
|
try {
|
||||||
|
const years = await db.crimes.findMany({
|
||||||
|
select: {
|
||||||
|
year: true,
|
||||||
|
},
|
||||||
|
distinct: ['year'],
|
||||||
|
orderBy: {
|
||||||
|
year: 'asc',
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
const years = await db.crimes.findMany({
|
return years.map((year) => year.year);
|
||||||
select: {
|
} catch (err) {
|
||||||
year: true,
|
if (err instanceof InputParseError) {
|
||||||
},
|
// return {
|
||||||
distinct: ["year"],
|
// error: err.message,
|
||||||
orderBy: {
|
// };
|
||||||
year: "asc",
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
return years.map((year) => year.year);
|
throw new InputParseError(err.message);
|
||||||
|
|
||||||
} catch (err) {
|
|
||||||
if (err instanceof InputParseError) {
|
|
||||||
// return {
|
|
||||||
// error: err.message,
|
|
||||||
// };
|
|
||||||
|
|
||||||
throw new InputParseError(err.message);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (err instanceof AuthenticationError) {
|
|
||||||
// return {
|
|
||||||
// error: 'User not found.',
|
|
||||||
// };
|
|
||||||
|
|
||||||
throw new AuthenticationError('There was an error with the credentials. Please try again or contact support.');
|
|
||||||
}
|
|
||||||
|
|
||||||
const crashReporterService = getInjection('ICrashReporterService');
|
|
||||||
crashReporterService.report(err);
|
|
||||||
// return {
|
|
||||||
// error:
|
|
||||||
// 'An error happened. The developers have been notified. Please try again later.',
|
|
||||||
// };
|
|
||||||
throw new Error('An error happened. The developers have been notified. Please try again later.');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
);
|
|
||||||
|
if (err instanceof AuthenticationError) {
|
||||||
|
// return {
|
||||||
|
// error: 'User not found.',
|
||||||
|
// };
|
||||||
|
|
||||||
|
throw new AuthenticationError(
|
||||||
|
'There was an error with the credentials. Please try again or contact support.'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const crashReporterService = getInjection('ICrashReporterService');
|
||||||
|
crashReporterService.report(err);
|
||||||
|
// return {
|
||||||
|
// error:
|
||||||
|
// 'An error happened. The developers have been notified. Please try again later.',
|
||||||
|
// };
|
||||||
|
throw new Error(
|
||||||
|
'An error happened. The developers have been notified. Please try again later.'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fetch districts with their geographic data and crime rates for the specified year
|
export async function getCrimes() {
|
||||||
export async function fetchDistricts(year: number) {
|
const instrumentationService = getInjection('IInstrumentationService');
|
||||||
|
return await instrumentationService.instrumentServerAction(
|
||||||
|
'District Crime Data',
|
||||||
|
{ recordResponse: true },
|
||||||
|
async () => {
|
||||||
|
try {
|
||||||
|
const crimes = await db.crimes.findMany({
|
||||||
|
include: {
|
||||||
|
districts: {
|
||||||
|
select: {
|
||||||
|
name: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
crime_incidents: {
|
||||||
|
select: {
|
||||||
|
timestamp: true,
|
||||||
|
description: true,
|
||||||
|
status: true,
|
||||||
|
crime_categories: {
|
||||||
|
select: {
|
||||||
|
name: true,
|
||||||
|
type: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
locations: {
|
||||||
|
select: {
|
||||||
|
address: true,
|
||||||
|
latitude: true,
|
||||||
|
longitude: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
const instrumentationService = getInjection('IInstrumentationService');
|
return crimes.map((crime) => {
|
||||||
return await instrumentationService.instrumentServerAction(
|
return {
|
||||||
'Fetch Districts',
|
id: crime.id,
|
||||||
{ recordResponse: true },
|
district: crime.districts.name,
|
||||||
async () => {
|
number_of_crime: crime.number_of_crime,
|
||||||
try {
|
level: crime.level,
|
||||||
|
score: crime.score,
|
||||||
|
month: crime.month,
|
||||||
|
year: crime.year,
|
||||||
|
incidents: crime.crime_incidents.map((incident) => {
|
||||||
|
return {
|
||||||
|
timestamp: incident.timestamp,
|
||||||
|
description: incident.description,
|
||||||
|
status: incident.status,
|
||||||
|
category: incident.crime_categories.name,
|
||||||
|
type: incident.crime_categories.type,
|
||||||
|
address: incident.locations.address,
|
||||||
|
latitude: incident.locations.latitude,
|
||||||
|
longitude: incident.locations.longitude,
|
||||||
|
};
|
||||||
|
}),
|
||||||
|
};
|
||||||
|
});
|
||||||
|
} catch (err) {
|
||||||
|
if (err instanceof InputParseError) {
|
||||||
|
// return {
|
||||||
|
// error: err.message,
|
||||||
|
// };
|
||||||
|
|
||||||
const districts = await db.districts.findMany({
|
throw new InputParseError(err.message);
|
||||||
include: {
|
|
||||||
geographics: true,
|
|
||||||
crimes: {
|
|
||||||
where: {
|
|
||||||
year: year,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
cities: {
|
|
||||||
select: {
|
|
||||||
name: true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
// Transform the data for the map
|
|
||||||
const geoData = districts.map((district) => {
|
|
||||||
const crimeData = district.crimes[0] || null
|
|
||||||
|
|
||||||
return {
|
|
||||||
id: district.id,
|
|
||||||
name: district.name,
|
|
||||||
cityName: district.cities?.name || "Unknown City",
|
|
||||||
polygon: district.geographics?.polygon || null,
|
|
||||||
crimeRate: crimeData?.rate || "no_data",
|
|
||||||
crimeCount: crimeData?.number_of_crime || 0,
|
|
||||||
year: year,
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
return geoData
|
|
||||||
|
|
||||||
} catch (err) {
|
|
||||||
if (err instanceof InputParseError) {
|
|
||||||
// return {
|
|
||||||
// error: err.message,
|
|
||||||
// };
|
|
||||||
|
|
||||||
throw new InputParseError(err.message);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (err instanceof AuthenticationError) {
|
|
||||||
// return {
|
|
||||||
// error: 'User not found.',
|
|
||||||
// };
|
|
||||||
|
|
||||||
throw new AuthenticationError('There was an error with the credentials. Please try again or contact support.');
|
|
||||||
}
|
|
||||||
|
|
||||||
const crashReporterService = getInjection('ICrashReporterService');
|
|
||||||
crashReporterService.report(err);
|
|
||||||
// return {
|
|
||||||
// error:
|
|
||||||
// 'An error happened. The developers have been notified. Please try again later.',
|
|
||||||
// };
|
|
||||||
throw new Error('An error happened. The developers have been notified. Please try again later.');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
);
|
|
||||||
|
if (err instanceof AuthenticationError) {
|
||||||
|
// return {
|
||||||
|
// error: 'User not found.',
|
||||||
|
// };
|
||||||
|
|
||||||
|
throw new AuthenticationError(
|
||||||
|
'There was an error with the credentials. Please try again or contact support.'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const crashReporterService = getInjection('ICrashReporterService');
|
||||||
|
crashReporterService.report(err);
|
||||||
|
// return {
|
||||||
|
// error:
|
||||||
|
// 'An error happened. The developers have been notified. Please try again later.',
|
||||||
|
// };
|
||||||
|
throw new Error(
|
||||||
|
'An error happened. The developers have been notified. Please try again later.'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function getCrimeByYearAndMonth(
|
||||||
|
year: number,
|
||||||
|
month: number | 'all'
|
||||||
|
) {
|
||||||
|
const instrumentationService = getInjection('IInstrumentationService');
|
||||||
|
return await instrumentationService.instrumentServerAction(
|
||||||
|
'District Crime Data',
|
||||||
|
{ recordResponse: true },
|
||||||
|
async () => {
|
||||||
|
try {
|
||||||
|
// Build where clause conditionally based on provided parameters
|
||||||
|
const whereClause: any = {
|
||||||
|
year: year, // Always filter by year now since "all" is removed
|
||||||
|
};
|
||||||
|
|
||||||
|
// Only add month to filter if it's not "all"
|
||||||
|
if (month !== 'all') {
|
||||||
|
whereClause.month = month;
|
||||||
|
}
|
||||||
|
|
||||||
|
const crimes = await db.crimes.findMany({
|
||||||
|
where: whereClause,
|
||||||
|
include: {
|
||||||
|
districts: {
|
||||||
|
select: {
|
||||||
|
name: true,
|
||||||
|
geographics: {
|
||||||
|
where: { year }, // Match geographics to selected year
|
||||||
|
select: {
|
||||||
|
address: true,
|
||||||
|
land_area: true,
|
||||||
|
year: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
demographics: {
|
||||||
|
where: { year }, // Match demographics to selected year
|
||||||
|
select: {
|
||||||
|
number_of_unemployed: true,
|
||||||
|
population: true,
|
||||||
|
population_density: true,
|
||||||
|
year: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
crime_incidents: {
|
||||||
|
select: {
|
||||||
|
id: true,
|
||||||
|
timestamp: true,
|
||||||
|
description: true,
|
||||||
|
status: true,
|
||||||
|
crime_categories: {
|
||||||
|
select: {
|
||||||
|
name: true,
|
||||||
|
type: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
locations: {
|
||||||
|
select: {
|
||||||
|
address: true,
|
||||||
|
latitude: true,
|
||||||
|
longitude: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
take: 10,
|
||||||
|
});
|
||||||
|
|
||||||
|
return crimes.map((crime) => {
|
||||||
|
return {
|
||||||
|
id: crime.id,
|
||||||
|
distrcit_id: crime.district_id,
|
||||||
|
district_name: crime.districts.name,
|
||||||
|
number_of_crime: crime.number_of_crime,
|
||||||
|
level: crime.level,
|
||||||
|
score: crime.score,
|
||||||
|
month: crime.month,
|
||||||
|
year: crime.year,
|
||||||
|
geographics: crime.districts.geographics.map((geo) => {
|
||||||
|
return {
|
||||||
|
address: geo.address,
|
||||||
|
land_area: geo.land_area,
|
||||||
|
year: geo.year,
|
||||||
|
};
|
||||||
|
}),
|
||||||
|
demographics: crime.districts.demographics.map((demo) => {
|
||||||
|
return {
|
||||||
|
number_of_unemployed: demo.number_of_unemployed,
|
||||||
|
population: demo.population,
|
||||||
|
population_density: demo.population_density,
|
||||||
|
year: demo.year,
|
||||||
|
};
|
||||||
|
}),
|
||||||
|
incidents: crime.crime_incidents.map((incident) => {
|
||||||
|
return {
|
||||||
|
id: incident.id,
|
||||||
|
timestamp: incident.timestamp,
|
||||||
|
description: incident.description,
|
||||||
|
status: incident.status,
|
||||||
|
category: incident.crime_categories.name,
|
||||||
|
type: incident.crime_categories.type,
|
||||||
|
address: incident.locations.address,
|
||||||
|
latitude: incident.locations.latitude,
|
||||||
|
longitude: incident.locations.longitude,
|
||||||
|
};
|
||||||
|
}),
|
||||||
|
};
|
||||||
|
});
|
||||||
|
} catch (err) {
|
||||||
|
if (err instanceof InputParseError) {
|
||||||
|
throw new InputParseError(err.message);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (err instanceof AuthenticationError) {
|
||||||
|
throw new AuthenticationError(
|
||||||
|
'There was an error with the credentials. Please try again or contact support.'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const crashReporterService = getInjection('ICrashReporterService');
|
||||||
|
crashReporterService.report(err);
|
||||||
|
throw new Error(
|
||||||
|
'An error happened. The developers have been notified. Please try again later.'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
}
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
"use client"
|
|
||||||
|
|
||||||
import { AlertTriangle, BarChart3, Briefcase, Clock, MapPin, Search, Shield, User, Users } from "lucide-react"
|
import { AlertTriangle, BarChart3, Briefcase, Clock, MapPin, Search, Shield, User, Users } from "lucide-react"
|
||||||
import { BentoGrid, BentoGridItem, BentoGridItemProps, GridSpan } from "@/app/_components/ui/bento-grid"
|
import { BentoGrid, BentoGridItem, BentoGridItemProps, GridSpan } from "@/app/_components/ui/bento-grid"
|
||||||
|
@ -23,7 +23,7 @@ const bentoGridItems: BentoGridItemProps[] = [
|
||||||
icon: <MapPin className="w-5 h-5" />,
|
icon: <MapPin className="w-5 h-5" />,
|
||||||
colSpan: "2",
|
colSpan: "2",
|
||||||
rowSpan: "2",
|
rowSpan: "2",
|
||||||
suffixMenu: <YearSelector years={[2020, 2021, 2022, 2023, 2024]} selectedYear="" onChange={() => { }} />,
|
// suffixMenu: <YearSelector years={["2020", "2021", "2022", "2023", "2024"]} selectedYear="" onChange={() => { }} />,
|
||||||
component: <CrimeMap />,
|
component: <CrimeMap />,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -0,0 +1,176 @@
|
||||||
|
'use server';
|
||||||
|
|
||||||
|
import db from '@/prisma/db';
|
||||||
|
import { getInjection } from '@/di/container';
|
||||||
|
import {
|
||||||
|
AuthenticationError,
|
||||||
|
UnauthenticatedError,
|
||||||
|
} from '@/src/entities/errors/auth';
|
||||||
|
import { InputParseError, NotFoundError } from '@/src/entities/errors/common';
|
||||||
|
import { districtsGeoJson } from '@/prisma/data/geojson/jember/districts';
|
||||||
|
import { calculateCentroid } from '@/app/_lib/transformGeoJSON';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialize district data in the database from GeoJSON
|
||||||
|
* This would be run during setup or to sync GeoJSON with the database
|
||||||
|
*/
|
||||||
|
// export async function initializeDistrictsFromGeoJSON() {
|
||||||
|
// const instrumentationService = getInjection('IInstrumentationService');
|
||||||
|
// return await instrumentationService.instrumentServerAction(
|
||||||
|
// 'InitializeDistricts',
|
||||||
|
// { recordResponse: true },
|
||||||
|
// async () => {
|
||||||
|
// try {
|
||||||
|
// // Create batch of districts from GeoJSON
|
||||||
|
// const districtsToCreate = districtsGeoJson.features
|
||||||
|
// .filter(
|
||||||
|
// (feature) => feature.properties && feature.properties.kode_kec
|
||||||
|
// )
|
||||||
|
// .map((feature) => {
|
||||||
|
// // Calculate center point for the district
|
||||||
|
// const centroid = calculateCentroid(feature.geometry as any);
|
||||||
|
|
||||||
|
// return {
|
||||||
|
// id: feature.properties!.kode_kec,
|
||||||
|
// name: feature.properties!.nama || feature.properties!.kecamatan,
|
||||||
|
// code: feature.properties!.kode_kec,
|
||||||
|
// region: 'Jember',
|
||||||
|
// province: feature.properties!.provinsi || 'Jawa Timur',
|
||||||
|
// geometry: JSON.stringify(feature.geometry),
|
||||||
|
// center_latitude: centroid[1],
|
||||||
|
// center_longitude: centroid[0],
|
||||||
|
// };
|
||||||
|
// });
|
||||||
|
|
||||||
|
// // Create districts in batches to avoid timeouts
|
||||||
|
// const batchSize = 10;
|
||||||
|
// for (let i = 0; i < districtsToCreate.length; i += batchSize) {
|
||||||
|
// const batch = districtsToCreate.slice(i, i + batchSize);
|
||||||
|
|
||||||
|
// await Promise.all(
|
||||||
|
// batch.map((district) =>
|
||||||
|
// db.districts.upsert({
|
||||||
|
// where: { id: district.id },
|
||||||
|
// update: district,
|
||||||
|
// create: district,
|
||||||
|
// })
|
||||||
|
// )
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
|
||||||
|
// return {
|
||||||
|
// success: true,
|
||||||
|
// message: `Successfully initialized ${districtsToCreate.length} districts`,
|
||||||
|
// };
|
||||||
|
// } catch (err) {
|
||||||
|
// const crashReporterService = getInjection('ICrashReporterService');
|
||||||
|
// crashReporterService.report(err);
|
||||||
|
// throw new Error(
|
||||||
|
// 'An error happened while initializing districts. The developers have been notified.'
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all district information from database
|
||||||
|
*/
|
||||||
|
export async function getAllDistricts() {
|
||||||
|
const instrumentationService = getInjection('IInstrumentationService');
|
||||||
|
return await instrumentationService.instrumentServerAction(
|
||||||
|
'GetAllDistricts',
|
||||||
|
{ recordResponse: true },
|
||||||
|
async () => {
|
||||||
|
try {
|
||||||
|
const districts = await db.districts.findMany({
|
||||||
|
where: {
|
||||||
|
geographics: {
|
||||||
|
some: {
|
||||||
|
year: {
|
||||||
|
equals: 2024,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
include: {
|
||||||
|
geographics: {
|
||||||
|
select: {
|
||||||
|
id: true,
|
||||||
|
latitude: true,
|
||||||
|
longitude: true,
|
||||||
|
address: true,
|
||||||
|
land_area: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
orderBy: {
|
||||||
|
name: 'asc',
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
return districts;
|
||||||
|
} catch (err) {
|
||||||
|
const crashReporterService = getInjection('ICrashReporterService');
|
||||||
|
crashReporterService.report(err);
|
||||||
|
throw new Error(
|
||||||
|
'An error happened while fetching districts. The developers have been notified.'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get district information by ID
|
||||||
|
*/
|
||||||
|
export async function getDistrictById(id: string) {
|
||||||
|
const instrumentationService = getInjection('IInstrumentationService');
|
||||||
|
return await instrumentationService.instrumentServerAction(
|
||||||
|
'GetDistrictById',
|
||||||
|
{ recordResponse: true },
|
||||||
|
async () => {
|
||||||
|
try {
|
||||||
|
const district = await db.districts.findUnique({
|
||||||
|
where: {
|
||||||
|
id,
|
||||||
|
geographics: {
|
||||||
|
some: {
|
||||||
|
year: {
|
||||||
|
equals: 2024,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
include: {
|
||||||
|
geographics: {
|
||||||
|
select: {
|
||||||
|
id: true,
|
||||||
|
latitude: true,
|
||||||
|
longitude: true,
|
||||||
|
address: true,
|
||||||
|
land_area: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!district) {
|
||||||
|
throw new NotFoundError(`District with ID ${id} not found`);
|
||||||
|
}
|
||||||
|
|
||||||
|
return district;
|
||||||
|
} catch (err) {
|
||||||
|
if (err instanceof NotFoundError) {
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
|
|
||||||
|
const crashReporterService = getInjection('ICrashReporterService');
|
||||||
|
crashReporterService.report(err);
|
||||||
|
throw new Error(
|
||||||
|
'An error happened while fetching district data. The developers have been notified.'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
|
@ -46,11 +46,13 @@ export async function banUser(credential: ICredentialsBanUserSchema, data: IBanU
|
||||||
}
|
}
|
||||||
|
|
||||||
if (err instanceof AuthenticationError) {
|
if (err instanceof AuthenticationError) {
|
||||||
// return {
|
// return {
|
||||||
// error: 'User not found.',
|
// error: 'User not found.',
|
||||||
// };
|
// };
|
||||||
|
|
||||||
throw new AuthenticationError('There was an error with the credentials. Please try again or contact support.');
|
throw new AuthenticationError(
|
||||||
|
'There was an error with the credentials. Please try again or contact support.'
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
const crashReporterService = getInjection('ICrashReporterService');
|
const crashReporterService = getInjection('ICrashReporterService');
|
||||||
|
|
|
@ -75,6 +75,7 @@ export async function signInWithPassword(formData: FormData) {
|
||||||
const signInWithPasswordController = getInjection(
|
const signInWithPasswordController = getInjection(
|
||||||
'ISignInWithPasswordController'
|
'ISignInWithPasswordController'
|
||||||
);
|
);
|
||||||
|
|
||||||
await signInWithPasswordController({ email, password });
|
await signInWithPasswordController({ email, password });
|
||||||
|
|
||||||
return { success: true };
|
return { success: true };
|
||||||
|
|
|
@ -1,38 +1,58 @@
|
||||||
"use client"
|
import { AlertCircle, AlertTriangle, PackageX, ShieldAlert, Siren } from "lucide-react"
|
||||||
|
import { CRIME_RATE_COLORS } from "@/app/_utils/const/map"
|
||||||
import { Card } from "@/app/_components/ui/card"
|
|
||||||
import { CRIME_COLORS, CRIME_RATES } from "@/app/_utils/const/crime"
|
|
||||||
|
|
||||||
type MapLegendProps = {
|
|
||||||
title?: string
|
|
||||||
position?: "top-left" | "top-right" | "bottom-left" | "bottom-right"
|
|
||||||
}
|
|
||||||
|
|
||||||
export default function MapLegend({ title = "Crime Rate Legend", position = "bottom-right" }: MapLegendProps) {
|
|
||||||
// Define position classes
|
|
||||||
const positionClasses = {
|
|
||||||
"top-left": "top-4 left-4",
|
|
||||||
"top-right": "top-4 right-4",
|
|
||||||
"bottom-left": "bottom-4 left-4",
|
|
||||||
"bottom-right": "bottom-4 right-4",
|
|
||||||
}
|
|
||||||
|
|
||||||
|
export function MapLegend() {
|
||||||
return (
|
return (
|
||||||
<div className={`absolute ${positionClasses[position]} z-10`}>
|
<div className="absolute bottom-2 right-2 bg-black bg-opacity-70 p-3 rounded-md z-10 text-white text-sm">
|
||||||
<Card className="p-3 shadow-md bg-white/90 backdrop-blur-sm">
|
<div className="font-medium mb-2">Crime Rates</div>
|
||||||
<div className="text-sm font-medium mb-1">{title}</div>
|
<div className="space-y-1 mb-3">
|
||||||
<div className="space-y-1">
|
<div className="flex items-center gap-2">
|
||||||
{Object.entries(CRIME_RATES).map(([key, label]) => (
|
<span className="inline-block w-4 h-4 rounded-sm" style={{ backgroundColor: CRIME_RATE_COLORS.low }}></span>
|
||||||
<div key={key} className="flex items-center gap-2">
|
<span>Low</span>
|
||||||
<div
|
|
||||||
className="w-4 h-4 rounded-sm"
|
|
||||||
style={{ backgroundColor: CRIME_COLORS[key as keyof typeof CRIME_COLORS] }}
|
|
||||||
/>
|
|
||||||
<span className="text-xs">{label}</span>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</div>
|
</div>
|
||||||
</Card>
|
<div className="flex items-center gap-2">
|
||||||
|
<span
|
||||||
|
className="inline-block w-4 h-4 rounded-sm"
|
||||||
|
style={{ backgroundColor: CRIME_RATE_COLORS.medium }}
|
||||||
|
></span>
|
||||||
|
<span>Medium</span>
|
||||||
|
</div>
|
||||||
|
<div className="flex items-center gap-2">
|
||||||
|
<span className="inline-block w-4 h-4 rounded-sm" style={{ backgroundColor: CRIME_RATE_COLORS.high }}></span>
|
||||||
|
<span>High</span>
|
||||||
|
</div>
|
||||||
|
<div className="flex items-center gap-2">
|
||||||
|
<span
|
||||||
|
className="inline-block w-4 h-4 rounded-sm"
|
||||||
|
style={{ backgroundColor: CRIME_RATE_COLORS.critical }}
|
||||||
|
></span>
|
||||||
|
<span>Critical</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="font-medium mb-2">Incident Types</div>
|
||||||
|
<div className="space-y-1">
|
||||||
|
<div className="flex items-center gap-2">
|
||||||
|
<AlertCircle size={16} className="text-red-500" />
|
||||||
|
<span>General</span>
|
||||||
|
</div>
|
||||||
|
<div className="flex items-center gap-2">
|
||||||
|
<PackageX size={16} className="text-amber-500" />
|
||||||
|
<span>Theft</span>
|
||||||
|
</div>
|
||||||
|
<div className="flex items-center gap-2">
|
||||||
|
<Siren size={16} className="text-blue-500" />
|
||||||
|
<span>Accident</span>
|
||||||
|
</div>
|
||||||
|
<div className="flex items-center gap-2">
|
||||||
|
<ShieldAlert size={16} className="text-purple-500" />
|
||||||
|
<span>Violence</span>
|
||||||
|
</div>
|
||||||
|
<div className="flex items-center gap-2">
|
||||||
|
<AlertTriangle size={16} className="text-orange-500" />
|
||||||
|
<span>Juvenile</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,25 +1,29 @@
|
||||||
|
"use client"
|
||||||
|
|
||||||
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/app/_components/ui/select"
|
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/app/_components/ui/select"
|
||||||
|
|
||||||
type YearSelectorProps = {
|
interface YearSelectorProps {
|
||||||
years: number[]
|
years: string[]
|
||||||
selectedYear: string
|
selectedYear: string
|
||||||
onChange: (year: string) => void
|
onChange: (year: string) => void
|
||||||
className?: string
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function YearSelector({ years, selectedYear, onChange, className = "" }: YearSelectorProps) {
|
export default function YearSelector({ years, selectedYear, onChange }: YearSelectorProps) {
|
||||||
return (
|
return (
|
||||||
<Select value={selectedYear} onValueChange={onChange}>
|
<div className="flex items-center space-x-2">
|
||||||
<SelectTrigger className={`w-[180px] ${className}`}>
|
<span className="text-sm font-medium">Year:</span>
|
||||||
<SelectValue placeholder="Select Year" />
|
<Select value={selectedYear} onValueChange={onChange}>
|
||||||
</SelectTrigger>
|
<SelectTrigger className="h-8 w-[100px]">
|
||||||
<SelectContent>
|
<SelectValue placeholder="Select Year" />
|
||||||
{years.map((year) => (
|
</SelectTrigger>
|
||||||
<SelectItem key={year} value={year.toString()}>
|
<SelectContent>
|
||||||
{year}
|
{years.map((year) => (
|
||||||
</SelectItem>
|
<SelectItem key={year} value={year}>
|
||||||
))}
|
{year}
|
||||||
</SelectContent>
|
</SelectItem>
|
||||||
</Select>
|
))}
|
||||||
|
</SelectContent>
|
||||||
|
</Select>
|
||||||
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,118 +1,179 @@
|
||||||
"use client"
|
"use client"
|
||||||
|
|
||||||
import { useEffect, useState } from "react"
|
|
||||||
import { Card, CardContent, CardHeader, CardTitle } from "@/app/_components/ui/card"
|
import { Card, CardContent, CardHeader, CardTitle } from "@/app/_components/ui/card"
|
||||||
import { Skeleton } from "@/app/_components/ui/skeleton"
|
import { Skeleton } from "@/app/_components/ui/skeleton"
|
||||||
import DistrictLayer, { type DistrictFeature } from "./layers/district-layer"
|
import DistrictLayer, { type DistrictFeature } from "./layers/district-layer"
|
||||||
import MapLegend from "./controls/map-legend"
|
|
||||||
import YearSelector from "./controls/year-selector"
|
|
||||||
import CrimeMarker, { type CrimeIncident } from "./markers/crime-marker"
|
|
||||||
import { useToast } from "@/app/_hooks/use-toast"
|
|
||||||
import MapView from "./map"
|
import MapView from "./map"
|
||||||
import { useQuery } from "@tanstack/react-query"
|
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/app/_components/ui/select"
|
||||||
import { getAvailableYears } from "@/app/(pages)/(admin)/dashboard/crime-management/crime-overview/action"
|
import { Button } from "@/app/_components/ui/button"
|
||||||
|
import { AlertCircle, FilterX } from "lucide-react"
|
||||||
|
import { getMonthName } from "@/app/_utils/common"
|
||||||
|
import { useCrimeMapHandler } from "@/app/(pages)/(admin)/dashboard/crime-management/crime-overview/_handlers/crime-map-handlers"
|
||||||
|
import { useState } from "react"
|
||||||
|
|
||||||
const years = [2020, 2021, 2022, 2023, 2024, 2025]
|
import { CrimePopup } from "./pop-up"
|
||||||
|
import CrimeMarker, { type CrimeIncident } from "./markers/crime-marker"
|
||||||
|
import { MapLegend } from "./controls/map-legend"
|
||||||
|
|
||||||
|
const months = [
|
||||||
|
{ value: "1", label: "January" },
|
||||||
|
{ value: "2", label: "February" },
|
||||||
|
{ value: "3", label: "March" },
|
||||||
|
{ value: "4", label: "April" },
|
||||||
|
{ value: "5", label: "May" },
|
||||||
|
{ value: "6", label: "June" },
|
||||||
|
{ value: "7", label: "July" },
|
||||||
|
{ value: "8", label: "August" },
|
||||||
|
{ value: "9", label: "September" },
|
||||||
|
{ value: "10", label: "October" },
|
||||||
|
{ value: "11", label: "November" },
|
||||||
|
{ value: "12", label: "December" },
|
||||||
|
]
|
||||||
|
|
||||||
export default function CrimeMap() {
|
export default function CrimeMap() {
|
||||||
const [loading, setLoading] = useState(false)
|
// Set default year to 2024 instead of "all"
|
||||||
const [year, setYear] = useState<string>(new Date().getFullYear().toString())
|
const [selectedYear, setSelectedYear] = useState<number>(2024)
|
||||||
const [availableYears, setAvailableYears] = useState<number[]>(years)
|
const [selectedMonth, setSelectedMonth] = useState<number | "all">("all")
|
||||||
const [districtData, setDistrictData] = useState<DistrictFeature[]>([])
|
const [selectedDistrict, setSelectedDistrict] = useState<DistrictFeature | null>(null)
|
||||||
const [crimeIncidents, setCrimeIncidents] = useState<CrimeIncident[]>([])
|
const [selectedIncident, setSelectedIncident] = useState<CrimeIncident | null>(null)
|
||||||
const [showIncidents, setShowIncidents] = useState(false)
|
|
||||||
const { toast } = useToast()
|
|
||||||
|
|
||||||
// fetch available years (example function)
|
const { availableYears, yearsLoading, yearsError, crimes, crimesLoading, crimesError, refetchCrimes } =
|
||||||
// const { data: year } = useQuery({
|
useCrimeMapHandler(selectedYear, selectedMonth)
|
||||||
// queryKey: ["available-years"],
|
|
||||||
// queryFn: getAvailableYears,
|
|
||||||
// })
|
|
||||||
|
|
||||||
// Fetch crime incidents (example function)
|
// Extract all incidents from all districts for marker display
|
||||||
const fetchCrimeIncidents = async (districtId: string) => {
|
const allIncidents =
|
||||||
try {
|
crimes?.flatMap((district) =>
|
||||||
// This would be replaced with an actual API call
|
district.incidents.map((incident) => ({
|
||||||
// const response = await fetch(`/api/crime-incidents?districtId=${districtId}&year=${year}`)
|
id: incident.id,
|
||||||
// const data = await response.json()
|
timestamp: incident.timestamp,
|
||||||
|
description: incident.description,
|
||||||
|
status: incident.status,
|
||||||
|
category: incident.category,
|
||||||
|
type: incident.type,
|
||||||
|
address: incident.address,
|
||||||
|
latitude: incident.latitude,
|
||||||
|
longitude: incident.longitude,
|
||||||
|
})),
|
||||||
|
) || []
|
||||||
|
|
||||||
// For demonstration, we'll create some sample data
|
// Handle district click
|
||||||
const sampleIncidents: CrimeIncident[] = [
|
const handleDistrictClick = (feature: DistrictFeature) => {
|
||||||
{
|
setSelectedDistrict(feature)
|
||||||
id: "1",
|
|
||||||
latitude: -8.1842 + (Math.random() - 0.5) * 0.1,
|
|
||||||
longitude: 113.7031 + (Math.random() - 0.5) * 0.1,
|
|
||||||
description: "Theft incident",
|
|
||||||
date: "2023-05-15",
|
|
||||||
category: "Theft",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "2",
|
|
||||||
latitude: -8.1842 + (Math.random() - 0.5) * 0.1,
|
|
||||||
longitude: 113.7031 + (Math.random() - 0.5) * 0.1,
|
|
||||||
description: "Vandalism",
|
|
||||||
date: "2023-06-22",
|
|
||||||
category: "Property Crime",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "3",
|
|
||||||
latitude: -8.1842 + (Math.random() - 0.5) * 0.1,
|
|
||||||
longitude: 113.7031 + (Math.random() - 0.5) * 0.1,
|
|
||||||
description: "Assault",
|
|
||||||
date: "2023-07-10",
|
|
||||||
category: "Violent Crime",
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
setCrimeIncidents(sampleIncidents)
|
|
||||||
setShowIncidents(true)
|
|
||||||
} catch (error) {
|
|
||||||
console.error("Error fetching crime incidents:", error)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const handleDistrictClick = (feature: any) => {
|
|
||||||
const districtId = feature.properties.id
|
|
||||||
const districtName = feature.properties.name
|
|
||||||
|
|
||||||
toast({
|
|
||||||
title: `Selected: ${districtName}`,
|
|
||||||
description: "Loading crime incidents for this district...",
|
|
||||||
})
|
|
||||||
|
|
||||||
fetchCrimeIncidents(districtId)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Handle incident marker click
|
||||||
const handleIncidentClick = (incident: CrimeIncident) => {
|
const handleIncidentClick = (incident: CrimeIncident) => {
|
||||||
toast({
|
setSelectedIncident(incident)
|
||||||
title: "Crime Incident",
|
}
|
||||||
description: `${incident.description} on ${incident.date}`,
|
|
||||||
})
|
// Apply filters
|
||||||
|
const applyFilters = () => {
|
||||||
|
refetchCrimes()
|
||||||
|
}
|
||||||
|
|
||||||
|
// Reset filters
|
||||||
|
const resetFilters = () => {
|
||||||
|
setSelectedYear(2024)
|
||||||
|
setSelectedMonth("all")
|
||||||
|
refetchCrimes()
|
||||||
|
}
|
||||||
|
|
||||||
|
// Determine the title based on filters
|
||||||
|
const getMapTitle = () => {
|
||||||
|
let title = `${selectedYear}`
|
||||||
|
if (selectedMonth !== "all") {
|
||||||
|
title += ` - ${getMonthName(Number(selectedMonth))}`
|
||||||
|
}
|
||||||
|
return title
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Card className="w-full">
|
<Card className="w-full">
|
||||||
{/* <CardHeader className="flex flex-row items-center justify-between">
|
<CardHeader className="flex flex-row items-center justify-between">
|
||||||
<CardTitle>Crime Rate Map - Jember Regency</CardTitle>
|
<CardTitle>Crime Map {getMapTitle()}</CardTitle>
|
||||||
<YearSelector years={availableYears} selectedYear={year} onChange={setYear} />
|
<div className="flex items-center gap-2">
|
||||||
</CardHeader> */}
|
<Select value={selectedYear.toString()} onValueChange={(value) => setSelectedYear(Number(value))}>
|
||||||
|
<SelectTrigger className="w-[120px]">
|
||||||
|
<SelectValue placeholder="Year" />
|
||||||
|
</SelectTrigger>
|
||||||
|
<SelectContent>
|
||||||
|
{/* Removed "All Years" option */}
|
||||||
|
{!yearsLoading &&
|
||||||
|
availableYears
|
||||||
|
?.filter((year) => year !== null)
|
||||||
|
.map((year) => (
|
||||||
|
<SelectItem key={year} value={year.toString()}>
|
||||||
|
{year}
|
||||||
|
</SelectItem>
|
||||||
|
))}
|
||||||
|
</SelectContent>
|
||||||
|
</Select>
|
||||||
|
|
||||||
|
<Select
|
||||||
|
value={selectedMonth.toString()}
|
||||||
|
onValueChange={(value) => setSelectedMonth(value === "all" ? "all" : Number(value))}
|
||||||
|
>
|
||||||
|
<SelectTrigger className="w-[120px]">
|
||||||
|
<SelectValue placeholder="Month" />
|
||||||
|
</SelectTrigger>
|
||||||
|
<SelectContent>
|
||||||
|
<SelectItem value="all">All Months</SelectItem>
|
||||||
|
{months.map((month) => (
|
||||||
|
<SelectItem key={month.value} value={month.value}>
|
||||||
|
{month.label}
|
||||||
|
</SelectItem>
|
||||||
|
))}
|
||||||
|
</SelectContent>
|
||||||
|
</Select>
|
||||||
|
|
||||||
|
<Button variant="outline" onClick={applyFilters}>
|
||||||
|
Apply
|
||||||
|
</Button>
|
||||||
|
<Button variant="ghost" onClick={resetFilters} disabled={selectedYear === 2024 && selectedMonth === "all"}>
|
||||||
|
<FilterX className="h-4 w-4 mr-2" />
|
||||||
|
Reset
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
</CardHeader>
|
||||||
<CardContent className="p-0">
|
<CardContent className="p-0">
|
||||||
{loading ? (
|
{crimesLoading ? (
|
||||||
<Skeleton className="w-full rounded-md" />
|
<div className="flex items-center justify-center h-96">
|
||||||
|
<Skeleton className="h-full w-full rounded-md" />
|
||||||
|
</div>
|
||||||
|
) : crimesError ? (
|
||||||
|
<div className="flex flex-col items-center justify-center h-96 gap-4">
|
||||||
|
<AlertCircle className="h-10 w-10 text-destructive" />
|
||||||
|
<p className="text-center">Failed to load crime data. Please try again later.</p>
|
||||||
|
<Button onClick={() => refetchCrimes()}>Retry</Button>
|
||||||
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="relative">
|
<div className="relative h-96">
|
||||||
<MapView mapStyle="mapbox://styles/mapbox/dark-v11">
|
<MapView mapStyle="mapbox://styles/mapbox/dark-v11" className="h-96 w-full rounded-md">
|
||||||
{/* District Layer */}
|
{/* Display the legend */}
|
||||||
<DistrictLayer data={districtData} onClick={handleDistrictClick} />
|
{/* <MapLegend /> */}
|
||||||
|
|
||||||
{/* Crime Incident Markers */}
|
{/* District Layer with crime data */}
|
||||||
{showIncidents &&
|
<DistrictLayer
|
||||||
crimeIncidents.map((incident) => (
|
onClick={handleDistrictClick}
|
||||||
<CrimeMarker key={incident.id} incident={incident} onClick={handleIncidentClick} />
|
crimes={crimes || []}
|
||||||
))}
|
year={selectedYear.toString()}
|
||||||
|
month={selectedMonth.toString()}
|
||||||
|
/>
|
||||||
|
|
||||||
{/* Map Legend */}
|
{/* Display all crime incident markers */}
|
||||||
{/* <MapLegend position="bottom-right" /> */}
|
{allIncidents?.map((incident) => (
|
||||||
|
<CrimeMarker key={incident.id} incident={incident} onClick={handleIncidentClick} />
|
||||||
|
))}
|
||||||
|
|
||||||
|
{/* Popup for selected incident */}
|
||||||
|
{selectedIncident && (
|
||||||
|
<CrimePopup
|
||||||
|
longitude={selectedIncident.longitude}
|
||||||
|
latitude={selectedIncident.latitude}
|
||||||
|
onClose={() => setSelectedIncident(null)}
|
||||||
|
crime={selectedIncident}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
</MapView>
|
</MapView>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
|
@ -1,159 +1,263 @@
|
||||||
"use client"
|
"use client"
|
||||||
|
|
||||||
import { useEffect, useMemo } from "react"
|
import { useEffect, useState, useRef } from 'react';
|
||||||
import { Layer, Source, useMap, Popup } from "react-map-gl/mapbox"
|
import { useMap } from 'react-map-gl/mapbox';
|
||||||
import { useState } from "react"
|
import { CRIME_RATE_COLORS, MAPBOX_TILESET_ID } from '@/app/_utils/const/map';
|
||||||
import { IGeoJSONPolygon } from "@/app/_utils/types/map"
|
import { DistrictPopup } from '../pop-up';
|
||||||
import { CRIME_COLORS, CRIME_RATES } from "@/app/_utils/const/crime"
|
|
||||||
|
|
||||||
export type DistrictFeature = {
|
// Types for district properties
|
||||||
id: string
|
export interface DistrictFeature {
|
||||||
name: string
|
id: string;
|
||||||
cityName: string
|
name: string;
|
||||||
code: string
|
properties: Record<string, any>;
|
||||||
polygon: IGeoJSONPolygon
|
longitude?: number;
|
||||||
crimeRate: "low" | "medium" | "high" | "no_data"
|
latitude?: number;
|
||||||
crimeCount: number
|
number_of_crime?: number;
|
||||||
year: number
|
level?: 'low' | 'medium' | 'high' | 'critical';
|
||||||
}
|
}
|
||||||
|
|
||||||
type DistrictLayerProps = {
|
// District layer props
|
||||||
data: DistrictFeature[]
|
export interface DistrictLayerProps {
|
||||||
visible?: boolean
|
visible?: boolean;
|
||||||
onClick?: (feature: any) => void
|
onClick?: (feature: DistrictFeature) => void;
|
||||||
|
year?: string;
|
||||||
|
month?: string;
|
||||||
|
crimes?: Array<{
|
||||||
|
id: string;
|
||||||
|
district_name: string;
|
||||||
|
distrcit_id?: string;
|
||||||
|
number_of_crime?: number;
|
||||||
|
level?: 'low' | 'medium' | 'high' | 'critical';
|
||||||
|
incidents: any[];
|
||||||
|
}>;
|
||||||
|
tilesetId?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
type hoverInfoType = {
|
export default function DistrictLayer({
|
||||||
feature: {
|
visible = true,
|
||||||
properties: {
|
onClick,
|
||||||
crimeRate: "low" | "medium" | "high" | "no_data"
|
year,
|
||||||
name: string
|
month,
|
||||||
cityName: string
|
crimes = [],
|
||||||
crimeCount: number
|
tilesetId = MAPBOX_TILESET_ID
|
||||||
}
|
}: DistrictLayerProps) {
|
||||||
geometry: {
|
const { current: map } = useMap();
|
||||||
coordinates: number[][][]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
x: number
|
|
||||||
y: number
|
|
||||||
}
|
|
||||||
|
|
||||||
export default function DistrictLayer({ data, visible = true, onClick }: DistrictLayerProps) {
|
const [hoverInfo, setHoverInfo] = useState<{
|
||||||
const { current: map } = useMap()
|
x: number;
|
||||||
const [hoverInfo, setHoverInfo] = useState<hoverInfoType | null>(null)
|
y: number;
|
||||||
|
feature: any;
|
||||||
|
} | null>(null);
|
||||||
|
const [selectedDistrict, setSelectedDistrict] = useState<DistrictFeature | null>(null);
|
||||||
|
|
||||||
// Convert data to GeoJSON
|
// Use a ref to track whether layers have been added
|
||||||
const geojson = useMemo(() => {
|
const layersAdded = useRef(false);
|
||||||
return {
|
|
||||||
type: "FeatureCollection",
|
// Process crime data to map to districts by district_id (kode_kec)
|
||||||
features: data
|
const crimeDataByDistrict = crimes.reduce((acc, crime) => {
|
||||||
.filter((district) => district.polygon) // Only include districts with polygon data
|
// We'll use kode_kec as the key to match with tileset properties
|
||||||
.map((district) => ({
|
const districtId = crime.distrcit_id || crime.district_name;
|
||||||
type: "Feature",
|
|
||||||
properties: {
|
acc[districtId] = {
|
||||||
id: district.id,
|
number_of_crime: crime.number_of_crime,
|
||||||
name: district.name,
|
level: crime.level,
|
||||||
cityName: district.cityName,
|
};
|
||||||
crimeRate: district.crimeRate,
|
return acc;
|
||||||
crimeCount: district.crimeCount,
|
}, {} as Record<string, { number_of_crime?: number; level?: 'low' | 'medium' | 'high' | 'critical' }>);
|
||||||
color: CRIME_COLORS[district.crimeRate],
|
|
||||||
},
|
// Handle click on district
|
||||||
geometry: district.polygon,
|
const handleClick = (e: any) => {
|
||||||
})),
|
if (!map || !e.features || e.features.length === 0) return;
|
||||||
|
|
||||||
|
const feature = e.features[0];
|
||||||
|
const districtId = feature.properties.kode_kec; // Using kode_kec as the unique identifier
|
||||||
|
const crimeData = crimeDataByDistrict[districtId] || {};
|
||||||
|
|
||||||
|
const district: DistrictFeature = {
|
||||||
|
id: districtId,
|
||||||
|
name: feature.properties.nama || feature.properties.kecamatan,
|
||||||
|
properties: feature.properties,
|
||||||
|
longitude: e.lngLat.lng,
|
||||||
|
latitude: e.lngLat.lat,
|
||||||
|
...crimeData,
|
||||||
|
};
|
||||||
|
|
||||||
|
if (onClick) {
|
||||||
|
onClick(district);
|
||||||
|
} else {
|
||||||
|
setSelectedDistrict(district);
|
||||||
}
|
}
|
||||||
}, [data])
|
};
|
||||||
|
|
||||||
// Handle hover events
|
// Handle mouse move for hover effect
|
||||||
|
const handleMouseMove = (e: any) => {
|
||||||
|
if (!map || !e.features || e.features.length === 0) return;
|
||||||
|
|
||||||
|
const feature = e.features[0];
|
||||||
|
const districtId = feature.properties.kode_kec; // Using kode_kec as the unique identifier
|
||||||
|
const crimeData = crimeDataByDistrict[districtId] || {};
|
||||||
|
|
||||||
|
// Enhance feature with crime data
|
||||||
|
feature.properties = {
|
||||||
|
...feature.properties,
|
||||||
|
...crimeData,
|
||||||
|
};
|
||||||
|
|
||||||
|
setHoverInfo({
|
||||||
|
x: e.point.x,
|
||||||
|
y: e.point.y,
|
||||||
|
feature: feature,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
// Add district layer to the map when it's loaded
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!map) return
|
if (!map || !visible || layersAdded.current) return;
|
||||||
|
|
||||||
const onHover = (event: any) => {
|
// Handler for style load event
|
||||||
const { features, point } = event
|
const onStyleLoad = () => {
|
||||||
const hoveredFeature = features && features[0]
|
// Skip if layers are already added or map is not available
|
||||||
|
if (layersAdded.current || !map) return;
|
||||||
|
|
||||||
// Update hover state
|
try {
|
||||||
setHoverInfo(
|
// Add the vector tile source
|
||||||
hoveredFeature
|
map.getMap().addSource('districts', {
|
||||||
? {
|
type: 'vector',
|
||||||
feature: hoveredFeature,
|
url: `mapbox://${tilesetId}`
|
||||||
x: point.x,
|
});
|
||||||
y: point.y,
|
|
||||||
|
// Add the fill layer for districts
|
||||||
|
map.getMap().addLayer({
|
||||||
|
id: 'district-fill',
|
||||||
|
type: 'fill',
|
||||||
|
source: 'districts',
|
||||||
|
'source-layer': 'Districts',
|
||||||
|
paint: {
|
||||||
|
'fill-color': [
|
||||||
|
'match',
|
||||||
|
['get', 'level'],
|
||||||
|
'low', CRIME_RATE_COLORS.low,
|
||||||
|
'medium', CRIME_RATE_COLORS.medium,
|
||||||
|
'high', CRIME_RATE_COLORS.high,
|
||||||
|
'critical', CRIME_RATE_COLORS.critical,
|
||||||
|
CRIME_RATE_COLORS.default
|
||||||
|
],
|
||||||
|
'fill-opacity': 0.6,
|
||||||
}
|
}
|
||||||
: null,
|
});
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Change cursor on hover
|
// Add the line layer for district borders
|
||||||
const onMouseEnter = () => {
|
map.getMap().addLayer({
|
||||||
if (map) map.getCanvas().style.cursor = "pointer"
|
id: 'district-line',
|
||||||
}
|
type: 'line',
|
||||||
|
source: 'districts',
|
||||||
|
'source-layer': 'Districts',
|
||||||
|
paint: {
|
||||||
|
'line-color': '#ffffff',
|
||||||
|
'line-width': 1,
|
||||||
|
'line-opacity': 0.5,
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
const onMouseLeave = () => {
|
// Set event handlers
|
||||||
if (map) map.getCanvas().style.cursor = ""
|
map.on('click', 'district-fill', handleClick);
|
||||||
setHoverInfo(null)
|
map.on('mousemove', 'district-fill', handleMouseMove);
|
||||||
}
|
map.on('mouseleave', 'district-fill', () => setHoverInfo(null));
|
||||||
|
|
||||||
// Add event listeners
|
// Mark layers as added
|
||||||
map.on("mousemove", "district-fills", onHover)
|
layersAdded.current = true;
|
||||||
map.on("mouseenter", "district-fills", onMouseEnter)
|
console.log('District layers added successfully');
|
||||||
map.on("mouseleave", "district-fills", onMouseLeave)
|
} catch (error) {
|
||||||
map.on("click", "district-fills", (e) => {
|
console.error('Error adding district layers:', error);
|
||||||
if (onClick && e.features && e.features[0]) {
|
|
||||||
onClick(e.features[0])
|
|
||||||
}
|
}
|
||||||
})
|
};
|
||||||
|
|
||||||
// Clean up
|
// If the map's style is already loaded, add the layers immediately
|
||||||
return () => {
|
if (map.isStyleLoaded()) {
|
||||||
map.off("mousemove", "district-fills", onHover)
|
onStyleLoad();
|
||||||
map.off("mouseenter", "district-fills", onMouseEnter)
|
} else {
|
||||||
map.off("mouseleave", "district-fills", onMouseLeave)
|
// Otherwise, wait for the style.load event
|
||||||
map.off("click", "district-fills", onClick as any)
|
map.once('style.load', onStyleLoad);
|
||||||
}
|
}
|
||||||
}, [map, onClick])
|
|
||||||
|
|
||||||
if (!visible) return null
|
// Cleanup function
|
||||||
|
return () => {
|
||||||
|
if (map && layersAdded.current) {
|
||||||
|
map.off('click', 'district-fill', handleClick);
|
||||||
|
map.off('mousemove', 'district-fill', handleMouseMove);
|
||||||
|
map.off('mouseleave', 'district-fill', () => setHoverInfo(null));
|
||||||
|
|
||||||
|
// If we want to remove the layers and source on component unmount:
|
||||||
|
if (map.getLayer('district-line')) map.getMap().removeLayer('district-line');
|
||||||
|
if (map.getLayer('district-fill')) map.getMap().removeLayer('district-fill');
|
||||||
|
if (map.getSource('districts')) map.getMap().removeSource('districts');
|
||||||
|
|
||||||
|
layersAdded.current = false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}, [map, visible, tilesetId]);
|
||||||
|
|
||||||
|
// Update the crime data when it changes
|
||||||
|
useEffect(() => {
|
||||||
|
if (!map || !layersAdded.current) return;
|
||||||
|
|
||||||
|
// Update the district-fill layer with new crime data
|
||||||
|
try {
|
||||||
|
// We need to update the layer paint property to correctly apply colors
|
||||||
|
map.getMap().setPaintProperty('district-fill', 'fill-color', [
|
||||||
|
'match',
|
||||||
|
['coalesce', ['get', 'level'], 'default'],
|
||||||
|
'low', CRIME_RATE_COLORS.low,
|
||||||
|
'medium', CRIME_RATE_COLORS.medium,
|
||||||
|
'high', CRIME_RATE_COLORS.high,
|
||||||
|
'critical', CRIME_RATE_COLORS.critical,
|
||||||
|
CRIME_RATE_COLORS.default
|
||||||
|
]);
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error updating district layer:', error);
|
||||||
|
}
|
||||||
|
}, [map, crimes]);
|
||||||
|
|
||||||
|
if (!visible) return null;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Source id="districts" type="geojson" data={geojson as any}>
|
{/* Hover tooltip */}
|
||||||
<Layer
|
|
||||||
id="district-fills"
|
|
||||||
type="fill"
|
|
||||||
paint={{
|
|
||||||
"fill-color": ["get", "color"],
|
|
||||||
"fill-opacity": 0.6,
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
<Layer
|
|
||||||
id="district-borders"
|
|
||||||
type="line"
|
|
||||||
paint={{
|
|
||||||
"line-color": "#627D98",
|
|
||||||
"line-width": 1,
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Source>
|
|
||||||
|
|
||||||
{/* Popup on hover */}
|
|
||||||
{hoverInfo && (
|
{hoverInfo && (
|
||||||
<Popup
|
<div
|
||||||
longitude={hoverInfo.feature.geometry.coordinates[0][0][0]}
|
className="absolute z-10 bg-white rounded-md shadow-md px-3 py-2 pointer-events-none"
|
||||||
latitude={hoverInfo.feature.geometry.coordinates[0][0][1]}
|
style={{
|
||||||
closeButton={false}
|
left: hoverInfo.x + 10,
|
||||||
closeOnClick={false}
|
top: hoverInfo.y + 10,
|
||||||
anchor="bottom"
|
}}
|
||||||
offset={[0, -10]}
|
|
||||||
>
|
>
|
||||||
<div className="p-2">
|
<p className="text-sm font-medium">
|
||||||
<h3 className="font-bold">{hoverInfo.feature.properties.name}</h3>
|
{hoverInfo.feature.properties.nama || hoverInfo.feature.properties.kecamatan}
|
||||||
<p>City: {hoverInfo.feature.properties.cityName}</p>
|
</p>
|
||||||
<p>Crime Rate: {CRIME_RATES[hoverInfo.feature.properties.crimeRate]}</p>
|
{hoverInfo.feature.properties.number_of_crime !== undefined && (
|
||||||
<p>Crime Count: {hoverInfo.feature.properties.crimeCount}</p>
|
<p className="text-xs text-gray-600">
|
||||||
</div>
|
{hoverInfo.feature.properties.number_of_crime} incidents
|
||||||
</Popup>
|
{hoverInfo.feature.properties.level && (
|
||||||
|
<span className="ml-2 text-xs font-semibold text-gray-500">
|
||||||
|
({hoverInfo.feature.properties.level})
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
|
</p>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
|
||||||
|
{/* District popup */}
|
||||||
|
{selectedDistrict && selectedDistrict.longitude && selectedDistrict.latitude && (
|
||||||
|
<DistrictPopup
|
||||||
|
longitude={selectedDistrict.longitude}
|
||||||
|
latitude={selectedDistrict.latitude}
|
||||||
|
onClose={() => setSelectedDistrict(null)}
|
||||||
|
district={selectedDistrict}
|
||||||
|
year={year}
|
||||||
|
month={month}
|
||||||
|
/>
|
||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,61 +1,71 @@
|
||||||
"use client";
|
'use client';
|
||||||
|
|
||||||
import { useState } from 'react';
|
import { useState, useCallback } from 'react';
|
||||||
import Map, { Source, Layer, MapRef, ViewState, NavigationControl, ScaleControl, FullscreenControl } from 'react-map-gl/mapbox';
|
import ReactMapGL, { ViewState, NavigationControl, ScaleControl, MapRef, FullscreenControl } from 'react-map-gl/mapbox';
|
||||||
|
import { BASE_LATITUDE, BASE_LONGITUDE, BASE_ZOOM, MAP_STYLE } from '@/app/_utils/const/map';
|
||||||
import 'mapbox-gl/dist/mapbox-gl.css';
|
import 'mapbox-gl/dist/mapbox-gl.css';
|
||||||
import { useRef } from 'react';
|
|
||||||
import { MAPBOX_STYLES, MapboxStyle } from '@/app/_utils/const/map';
|
|
||||||
|
|
||||||
interface MapViewProps {
|
interface MapViewProps {
|
||||||
initialViewState?: Partial<ViewState>;
|
children?: React.ReactNode;
|
||||||
mapStyle?: MapboxStyle
|
initialViewState?: Partial<ViewState>;
|
||||||
onMapLoad?: (map: MapRef) => void
|
mapStyle?: string;
|
||||||
className?: string
|
className?: string;
|
||||||
children?: React.ReactNode;
|
width?: string | number;
|
||||||
|
height?: string | number;
|
||||||
|
mapboxApiAccessToken?: string;
|
||||||
|
onMoveEnd?: (viewState: ViewState) => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
const MapView: React.FC<MapViewProps> = ({
|
export default function MapView({
|
||||||
initialViewState = {
|
children,
|
||||||
longitude: 113.6922, // Center of Jember Regency (approximately)
|
initialViewState,
|
||||||
latitude: -8.1843,
|
mapStyle = MAP_STYLE,
|
||||||
zoom: 9
|
className = 'w-full h-96',
|
||||||
},
|
width = '100%',
|
||||||
mapStyle = MAPBOX_STYLES.Standard,
|
height = '100%',
|
||||||
children,
|
mapboxApiAccessToken = process.env.NEXT_PUBLIC_MAPBOX_ACCESS_TOKEN,
|
||||||
onMapLoad,
|
onMoveEnd
|
||||||
className = "h-[600px] w-full rounded-md",
|
}: MapViewProps) {
|
||||||
}) => {
|
const [mapRef, setMapRef] = useState<MapRef | null>(null);
|
||||||
|
|
||||||
const [viewState, setViewState] = useState<Partial<ViewState>>(initialViewState);
|
const defaultViewState: Partial<ViewState> = {
|
||||||
|
longitude: BASE_LONGITUDE, // Center of Jember region
|
||||||
|
latitude: BASE_LATITUDE,
|
||||||
|
zoom: BASE_ZOOM,
|
||||||
|
bearing: 0,
|
||||||
|
pitch: 0,
|
||||||
|
...initialViewState
|
||||||
|
};
|
||||||
|
|
||||||
const mapRef = useRef<MapRef | null>(null);
|
const handleMapLoad = useCallback((event: any) => {
|
||||||
|
setMapRef(event.target);
|
||||||
|
}, []);
|
||||||
|
|
||||||
const handleMapLoad = () => {
|
const handleMoveEnd = useCallback((event: any) => {
|
||||||
if (mapRef.current && onMapLoad) {
|
if (onMoveEnd) {
|
||||||
onMapLoad(mapRef.current)
|
onMoveEnd(event.viewState);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}, [onMoveEnd]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="w-full h-96">
|
<div className={`relative ${className}`}>
|
||||||
<Map
|
<div className="absolute inset-0 z-10 pointer-events-none" />
|
||||||
{...viewState}
|
<ReactMapGL
|
||||||
mapboxAccessToken={process.env.NEXT_PUBLIC_MAPBOX_ACCESS_TOKEN}
|
ref={ref => setMapRef(ref)}
|
||||||
onLoad={handleMapLoad}
|
mapStyle={mapStyle}
|
||||||
onMove={evt => setViewState(evt.viewState)}
|
mapboxAccessToken={mapboxApiAccessToken}
|
||||||
mapStyle={mapStyle}
|
initialViewState={defaultViewState}
|
||||||
ref={mapRef}
|
onLoad={handleMapLoad}
|
||||||
attributionControl={false}
|
onMoveEnd={handleMoveEnd}
|
||||||
reuseMaps
|
interactiveLayerIds={['district-fill']}
|
||||||
>
|
attributionControl={false}
|
||||||
{/* Default Controls */}
|
>
|
||||||
<FullscreenControl position="top-right" />
|
{children}
|
||||||
<NavigationControl position="top-left" />
|
<NavigationControl position="top-right" />
|
||||||
|
<FullscreenControl position="top-right" />
|
||||||
|
<ScaleControl position="bottom-right" />
|
||||||
|
</ReactMapGL>
|
||||||
|
</div>
|
||||||
|
|
||||||
{children}
|
);
|
||||||
</Map>
|
}
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default MapView;
|
|
|
@ -1,15 +1,18 @@
|
||||||
"use client"
|
"use client"
|
||||||
|
|
||||||
import { Marker } from "react-map-gl/mapbox"
|
import { Marker } from "react-map-gl/mapbox"
|
||||||
import { AlertTriangle } from "lucide-react"
|
import { AlertCircle, AlertTriangle } from "lucide-react"
|
||||||
|
|
||||||
export type CrimeIncident = {
|
export type CrimeIncident = {
|
||||||
id: string
|
id: string
|
||||||
latitude: number
|
latitude: number
|
||||||
longitude: number
|
longitude: number
|
||||||
description: string
|
description: string
|
||||||
date: string
|
|
||||||
category?: string
|
category?: string
|
||||||
|
timestamp?: Date
|
||||||
|
status?: string | null
|
||||||
|
type?: string | null
|
||||||
|
address?: string | null
|
||||||
}
|
}
|
||||||
|
|
||||||
type CrimeMarkerProps = {
|
type CrimeMarkerProps = {
|
||||||
|
@ -17,16 +20,20 @@ type CrimeMarkerProps = {
|
||||||
onClick?: (incident: CrimeIncident) => void
|
onClick?: (incident: CrimeIncident) => void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export default function CrimeMarker({ incident, onClick }: CrimeMarkerProps) {
|
export default function CrimeMarker({ incident, onClick }: CrimeMarkerProps) {
|
||||||
|
console.log("CrimeMarker", incident)
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Marker
|
<Marker
|
||||||
longitude={incident.longitude}
|
longitude={incident.longitude}
|
||||||
latitude={incident.latitude}
|
latitude={incident.latitude}
|
||||||
anchor="bottom"
|
anchor="bottom"
|
||||||
onClick={() => onClick && onClick(incident)}
|
onClick={() => onClick && onClick(incident)}
|
||||||
|
|
||||||
>
|
>
|
||||||
<div className="cursor-pointer text-red-500 hover:text-red-700 transition-colors">
|
<div className="cursor-pointer text-red-500 hover:text-red-700 transition-colors">
|
||||||
<AlertTriangle size={24} />
|
<AlertCircle size={24} />
|
||||||
</div>
|
</div>
|
||||||
</Marker>
|
</Marker>
|
||||||
)
|
)
|
||||||
|
|
|
@ -0,0 +1,184 @@
|
||||||
|
import { Popup } from 'react-map-gl/mapbox';
|
||||||
|
import { useState, useEffect } from 'react';
|
||||||
|
import { X } from 'lucide-react';
|
||||||
|
import { DistrictFeature } from './layers/district-layer';
|
||||||
|
import { useQuery } from "@tanstack/react-query";
|
||||||
|
import { Skeleton } from "@/app/_components/ui/skeleton";
|
||||||
|
import { getCrimeRateInfo } from "@/app/_utils/common";
|
||||||
|
import { CrimeIncident } from './markers/crime-marker';
|
||||||
|
|
||||||
|
|
||||||
|
interface MapPopupProps {
|
||||||
|
longitude: number
|
||||||
|
latitude: number
|
||||||
|
onClose: () => void
|
||||||
|
children: React.ReactNode
|
||||||
|
title?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export function MapPopup({
|
||||||
|
longitude,
|
||||||
|
latitude,
|
||||||
|
onClose,
|
||||||
|
children,
|
||||||
|
title
|
||||||
|
}: MapPopupProps) {
|
||||||
|
return (
|
||||||
|
<Popup
|
||||||
|
longitude={longitude}
|
||||||
|
latitude={latitude}
|
||||||
|
closeOnClick={false}
|
||||||
|
onClose={onClose}
|
||||||
|
anchor="bottom"
|
||||||
|
offset={20}
|
||||||
|
className="z-10"
|
||||||
|
>
|
||||||
|
<div className="p-3 min-w-[200px] max-w-[300px]">
|
||||||
|
{title && <h3 className="text-sm font-medium border-b pb-1 mb-2 pr-4">{title}</h3>}
|
||||||
|
<button
|
||||||
|
className="absolute top-2 right-2 p-1 rounded-full hover:bg-gray-100"
|
||||||
|
onClick={onClose}
|
||||||
|
>
|
||||||
|
<X className="h-3 w-3" />
|
||||||
|
</button>
|
||||||
|
{children}
|
||||||
|
</div>
|
||||||
|
</Popup>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Function to fetch district details - this would typically be implemented
|
||||||
|
// to fetch more detailed information about a district
|
||||||
|
const getDistrictDetails = async (districtId: string, year?: string, month?: string) => {
|
||||||
|
// This would be an API call to get district details
|
||||||
|
// For now, we'll return mock data
|
||||||
|
return {
|
||||||
|
category_breakdown: [
|
||||||
|
{ category: "Theft", count: 12 },
|
||||||
|
{ category: "Assault", count: 5 },
|
||||||
|
{ category: "Vandalism", count: 8 }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
export function DistrictPopup({
|
||||||
|
longitude,
|
||||||
|
latitude,
|
||||||
|
onClose,
|
||||||
|
district,
|
||||||
|
year,
|
||||||
|
month
|
||||||
|
}: {
|
||||||
|
longitude: number
|
||||||
|
latitude: number
|
||||||
|
onClose: () => void
|
||||||
|
district: DistrictFeature
|
||||||
|
year?: string
|
||||||
|
month?: string
|
||||||
|
}) {
|
||||||
|
const { data: districtDetails, isLoading } = useQuery({
|
||||||
|
queryKey: ['district-details', district.id, year, month],
|
||||||
|
queryFn: () => getDistrictDetails(district.id, year, month),
|
||||||
|
enabled: !!district.id
|
||||||
|
});
|
||||||
|
|
||||||
|
const rateInfo = getCrimeRateInfo(district.level);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<MapPopup
|
||||||
|
longitude={longitude}
|
||||||
|
latitude={latitude}
|
||||||
|
onClose={onClose}
|
||||||
|
title="District Information"
|
||||||
|
>
|
||||||
|
<div className="space-y-3">
|
||||||
|
<h3 className="font-medium text-base">{district.name}</h3>
|
||||||
|
|
||||||
|
{district.number_of_crime !== undefined && (
|
||||||
|
<div className="text-sm text-gray-600">
|
||||||
|
<span className="font-medium">Total Incidents:</span> {district.number_of_crime}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
|
||||||
|
{district.level && (
|
||||||
|
<div className="flex items-center gap-2">
|
||||||
|
<span className="text-sm font-medium">Crime Rate:</span>
|
||||||
|
<span className={`inline-flex items-center rounded-full ${rateInfo.color} px-2.5 py-0.5 text-xs font-medium`}>
|
||||||
|
{rateInfo.text}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
|
||||||
|
{year && (
|
||||||
|
<div className="text-xs text-gray-500">
|
||||||
|
<span className="font-medium">Year:</span> {year}
|
||||||
|
{month && <>, Month: {month}</>}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
|
||||||
|
{isLoading ? (
|
||||||
|
<div className="h-20 flex items-center justify-center">
|
||||||
|
<Skeleton className="h-16 w-full" />
|
||||||
|
</div>
|
||||||
|
) : districtDetails?.category_breakdown && districtDetails.category_breakdown.length > 0 ? (
|
||||||
|
<div className="mt-2">
|
||||||
|
<h4 className="text-sm font-medium mb-1">Crime Categories:</h4>
|
||||||
|
<div className="space-y-1">
|
||||||
|
{districtDetails.category_breakdown.map((cat, idx) => (
|
||||||
|
<div key={idx} className="flex justify-between text-xs">
|
||||||
|
<span>{cat.category}</span>
|
||||||
|
<span className="font-medium">{cat.count}</span>
|
||||||
|
</div>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
) : null}
|
||||||
|
|
||||||
|
<div className="text-xs text-gray-500">
|
||||||
|
<span className="font-medium">District ID:</span> {district.id}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</MapPopup>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export function CrimePopup({
|
||||||
|
longitude,
|
||||||
|
latitude,
|
||||||
|
onClose,
|
||||||
|
crime
|
||||||
|
}: {
|
||||||
|
longitude: number
|
||||||
|
latitude: number
|
||||||
|
onClose: () => void
|
||||||
|
crime: CrimeIncident
|
||||||
|
}) {
|
||||||
|
return (
|
||||||
|
<MapPopup
|
||||||
|
longitude={longitude}
|
||||||
|
latitude={latitude}
|
||||||
|
onClose={onClose}
|
||||||
|
title="Crime Incident"
|
||||||
|
>
|
||||||
|
<div className="space-y-2">
|
||||||
|
<div className="text-sm">
|
||||||
|
<span className="font-medium">Type:</span> {crime.category}
|
||||||
|
</div>
|
||||||
|
{crime.timestamp && (
|
||||||
|
<div className="text-sm">
|
||||||
|
<span className="font-medium">Date:</span> {new Date(crime.timestamp).toLocaleDateString()}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
{crime.description && (
|
||||||
|
<div className="text-sm">
|
||||||
|
<span className="font-medium">Description:</span>
|
||||||
|
<p className="text-xs mt-1">{crime.description}</p>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
<div className="text-xs text-gray-500 mt-2">
|
||||||
|
<span className="font-medium">ID:</span> {crime.id}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</MapPopup>
|
||||||
|
)
|
||||||
|
}
|
|
@ -0,0 +1,60 @@
|
||||||
|
import { FeatureCollection, Feature } from 'geojson';
|
||||||
|
import { DistrictCrimeData } from '../_components/map/layers/district-layer';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Transforms district GeoJSON data with crime statistics
|
||||||
|
*/
|
||||||
|
export function transformDistrictGeoJSON(
|
||||||
|
baseGeoJSON: FeatureCollection,
|
||||||
|
crimeData: DistrictCrimeData[] = []
|
||||||
|
): FeatureCollection {
|
||||||
|
// Create a typed GeoJSON object
|
||||||
|
const typedGeoJson = {
|
||||||
|
...baseGeoJSON,
|
||||||
|
type: 'FeatureCollection' as const,
|
||||||
|
} as FeatureCollection;
|
||||||
|
|
||||||
|
// If no crime data, return the base GeoJSON
|
||||||
|
if (!crimeData.length) {
|
||||||
|
return typedGeoJson;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Transform features with crime data
|
||||||
|
return {
|
||||||
|
...typedGeoJson,
|
||||||
|
features: typedGeoJson.features.map((feature) => {
|
||||||
|
const districtId = feature.properties?.kode_kec;
|
||||||
|
const matchingData = crimeData.find((d) => d.district_id === districtId);
|
||||||
|
|
||||||
|
if (matchingData) {
|
||||||
|
return {
|
||||||
|
...feature,
|
||||||
|
properties: {
|
||||||
|
...feature.properties,
|
||||||
|
number_of_unemployed: matchingData.demographics.map(
|
||||||
|
(demo) => demo.number_of_unemployed
|
||||||
|
),
|
||||||
|
population: matchingData.demographics.map(
|
||||||
|
(demo) => demo.population
|
||||||
|
),
|
||||||
|
population_density: matchingData.demographics.map(
|
||||||
|
(demo) => demo.population_density
|
||||||
|
),
|
||||||
|
number_of_crime: matchingData.number_of_crime,
|
||||||
|
score: matchingData.score,
|
||||||
|
level: matchingData.level,
|
||||||
|
address: matchingData.geographics.map((geo) => geo.address),
|
||||||
|
land_area: matchingData.geographics.map((geo) => geo.land_area),
|
||||||
|
latitude: matchingData.incidents.map(
|
||||||
|
(incident) => incident.latitude
|
||||||
|
),
|
||||||
|
longitude: matchingData.incidents.map(
|
||||||
|
(incident) => incident.latitude
|
||||||
|
),
|
||||||
|
},
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return feature;
|
||||||
|
}),
|
||||||
|
};
|
||||||
|
}
|
|
@ -152,3 +152,24 @@
|
||||||
@apply bg-background text-foreground;
|
@apply bg-background text-foreground;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Mapbox Popup Styles */
|
||||||
|
.mapboxgl-popup {
|
||||||
|
z-index: 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mapboxgl-popup-content {
|
||||||
|
padding: 0 !important;
|
||||||
|
border-radius: 0.5rem !important;
|
||||||
|
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
|
||||||
|
0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mapboxgl-popup-close-button {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.map-popup .mapboxgl-popup-content {
|
||||||
|
max-width: 300px;
|
||||||
|
}
|
|
@ -9,6 +9,8 @@ import { IUserSchema } from '@/src/entities/models/users/users.model';
|
||||||
import db from '../../prisma/db';
|
import db from '../../prisma/db';
|
||||||
import { v4 as uuidv4 } from 'uuid';
|
import { v4 as uuidv4 } from 'uuid';
|
||||||
import * as crypto from 'crypto';
|
import * as crypto from 'crypto';
|
||||||
|
import { CRIME_RATE_COLORS } from './const/map';
|
||||||
|
import { districtsGeoJson } from '../../prisma/data/geojson/jember/districts';
|
||||||
|
|
||||||
// Used to track generated IDs
|
// Used to track generated IDs
|
||||||
const usedIdRegistry = new Set<string>();
|
const usedIdRegistry = new Set<string>();
|
||||||
|
@ -359,8 +361,6 @@ export const createRoute = (
|
||||||
return `${baseRoute}?${queryString}`;
|
return `${baseRoute}?${queryString}`;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Format date helper function
|
// Format date helper function
|
||||||
function formatDateV2(date: Date, formatStr: string): string {
|
function formatDateV2(date: Date, formatStr: string): string {
|
||||||
const pad = (num: number) => String(num).padStart(2, '0');
|
const pad = (num: number) => String(num).padStart(2, '0');
|
||||||
|
@ -698,3 +698,75 @@ export function getLatestSequentialId(
|
||||||
}
|
}
|
||||||
return newCode;
|
return newCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get color and text for a crime rate level
|
||||||
|
*/
|
||||||
|
export function getCrimeRateInfo(
|
||||||
|
rate?: 'low' | 'medium' | 'high' | 'critical'
|
||||||
|
) {
|
||||||
|
switch (rate) {
|
||||||
|
case 'low':
|
||||||
|
return { color: 'bg-green-100 text-green-800', text: 'Low' };
|
||||||
|
case 'medium':
|
||||||
|
return { color: 'bg-yellow-100 text-yellow-800', text: 'Medium' };
|
||||||
|
case 'high':
|
||||||
|
return { color: 'bg-orange-100 text-orange-800', text: 'High' };
|
||||||
|
case 'critical':
|
||||||
|
return { color: 'bg-red-100 text-red-800', text: 'Critical' };
|
||||||
|
default:
|
||||||
|
return { color: 'bg-gray-100 text-gray-800', text: 'Unknown' };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get month name from month number (1-12)
|
||||||
|
*/
|
||||||
|
export function getMonthName(month: string | number): string {
|
||||||
|
const months = [
|
||||||
|
'January',
|
||||||
|
'February',
|
||||||
|
'March',
|
||||||
|
'April',
|
||||||
|
'May',
|
||||||
|
'June',
|
||||||
|
'July',
|
||||||
|
'August',
|
||||||
|
'September',
|
||||||
|
'October',
|
||||||
|
'November',
|
||||||
|
'December',
|
||||||
|
];
|
||||||
|
|
||||||
|
const monthNum = parseInt(month.toString());
|
||||||
|
if (isNaN(monthNum) || monthNum < 1 || monthNum > 12) {
|
||||||
|
return 'Invalid Month';
|
||||||
|
}
|
||||||
|
|
||||||
|
return months[monthNum - 1];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Format a date into a readable string
|
||||||
|
*/
|
||||||
|
export function formatDateString(date: Date | string): string {
|
||||||
|
if (!date) return 'Unknown Date';
|
||||||
|
const d = typeof date === 'string' ? new Date(date) : date;
|
||||||
|
return d.toLocaleDateString('en-US', {
|
||||||
|
year: 'numeric',
|
||||||
|
month: 'long',
|
||||||
|
day: 'numeric',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Helper function to get district name from district ID
|
||||||
|
export const getDistrictName = (districtId: string): string => {
|
||||||
|
const feature = districtsGeoJson.features.find(
|
||||||
|
(f) => f.properties?.kode_kec === districtId
|
||||||
|
);
|
||||||
|
return (
|
||||||
|
feature?.properties?.nama ||
|
||||||
|
feature?.properties?.kecamatan ||
|
||||||
|
'Unknown District'
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
|
@ -1,15 +1,41 @@
|
||||||
|
export const MAP_STYLE = 'mapbox://styles/mapbox/dark-v11';
|
||||||
|
|
||||||
|
export const BASE_ZOOM = 9.5; // Default zoom level for the map
|
||||||
|
export const BASE_LATITUDE = -8.17; // Default latitude for the map center (Jember region)
|
||||||
|
export const BASE_LONGITUDE = 113.65; // Default longitude for the map center (Jember region)
|
||||||
|
export const MAPBOX_ACCESS_TOKEN = process.env.NEXT_PUBLIC_MAPBOX_ACCESS_TOKEN;
|
||||||
|
export const MAPBOX_TILESET_ID = process.env.NEXT_PUBLIC_MAPBOX_TILESET_ID; // Replace with your tileset ID
|
||||||
|
|
||||||
|
export const CRIME_RATE_COLORS = {
|
||||||
|
low: '#4ade80', // green
|
||||||
|
medium: '#facc15', // yellow
|
||||||
|
high: '#f97316', // orange
|
||||||
|
critical: '#ef4444', // red
|
||||||
|
default: '#94a3b8', // gray
|
||||||
|
};
|
||||||
|
|
||||||
|
export const CRIME_RATE_THRESHOLDS = {
|
||||||
|
low: 25, // 0-25%
|
||||||
|
medium: 50, // 25-50%
|
||||||
|
high: 75, // 50-75%
|
||||||
|
critical: 100, // 75-100%
|
||||||
|
};
|
||||||
|
|
||||||
// mapStyles.ts
|
// mapStyles.ts
|
||||||
export const MAPBOX_STYLES = {
|
export const MAPBOX_STYLES = {
|
||||||
Standard: 'mapbox://styles/mapbox/standard',
|
Standard: 'mapbox://styles/mapbox/standard',
|
||||||
StandardSatellite: 'mapbox://styles/mapbox/standard-satellite',
|
StandardSatellite: 'mapbox://styles/mapbox/standard-satellite',
|
||||||
Streets: 'mapbox://styles/mapbox/streets-v12',
|
Streets: 'mapbox://styles/mapbox/streets-v12',
|
||||||
Outdoors: 'mapbox://styles/mapbox/outdoors-v12',
|
Outdoors: 'mapbox://styles/mapbox/outdoors-v12',
|
||||||
Light: 'mapbox://styles/mapbox/light-v11',
|
Light: 'mapbox://styles/mapbox/light-v11',
|
||||||
Dark: 'mapbox://styles/mapbox/dark-v11',
|
Dark: 'mapbox://styles/mapbox/dark-v11',
|
||||||
Satellite: 'mapbox://styles/mapbox/satellite-v9',
|
Satellite: 'mapbox://styles/mapbox/satellite-v9',
|
||||||
SatelliteStreets: 'mapbox://styles/mapbox/satellite-streets-v12',
|
SatelliteStreets: 'mapbox://styles/mapbox/satellite-streets-v12',
|
||||||
NavigationDay: 'mapbox://styles/mapbox/navigation-day-v1',
|
NavigationDay: 'mapbox://styles/mapbox/navigation-day-v1',
|
||||||
NavigationNight: 'mapbox://styles/mapbox/navigation-night-v1',
|
NavigationNight: 'mapbox://styles/mapbox/navigation-night-v1',
|
||||||
} as const;
|
} as const;
|
||||||
|
|
||||||
export type MapboxStyle = (typeof MAPBOX_STYLES)[keyof typeof MAPBOX_STYLES];
|
export type MapboxStyle = (typeof MAPBOX_STYLES)[keyof typeof MAPBOX_STYLES];
|
||||||
|
|
||||||
|
// Construct vector tile URL using the Mapbox API format
|
||||||
|
export const VECTOR_TILE_URL = `https://api.mapbox.com/v4/${MAPBOX_TILESET_ID}/${BASE_ZOOM}/1171/1566.mvt?access_token=${MAPBOX_ACCESS_TOKEN}`;
|
||||||
|
|
|
@ -39,10 +39,6 @@ export const updateSession = async (request: NextRequest) => {
|
||||||
// https://supabase.com/docs/guides/auth/server-side/nextjs
|
// https://supabase.com/docs/guides/auth/server-side/nextjs
|
||||||
const user = await supabase.auth.getUser();
|
const user = await supabase.auth.getUser();
|
||||||
|
|
||||||
// console.log('user', user);
|
|
||||||
console.log('api', process.env.NEXT_PUBLIC_SUPABASE_URL);
|
|
||||||
console.log('anon', process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY);
|
|
||||||
|
|
||||||
if (request.nextUrl.pathname === '/' && user.error) {
|
if (request.nextUrl.pathname === '/' && user.error) {
|
||||||
return NextResponse.redirect(new URL('/sign-in', request.url));
|
return NextResponse.redirect(new URL('/sign-in', request.url));
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
import { createServerClient } from "@supabase/ssr";
|
// This file is for server components only. Do not use it in client components.
|
||||||
import { cookies } from "next/headers";
|
|
||||||
|
import { createServerClient } from '@supabase/ssr';
|
||||||
|
import { cookies } from 'next/headers';
|
||||||
|
|
||||||
export const createClient = async () => {
|
export const createClient = async () => {
|
||||||
const cookieStore = await cookies();
|
const cookieStore = await cookies();
|
||||||
|
@ -24,8 +26,6 @@ export const createClient = async () => {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
}
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,101 @@
|
||||||
|
id,crime_id,crime_category_id,location_id,description,victim_count,status,created_at,updated_at,timestamp
|
||||||
|
CI-3509-2146-2020,CR-3509-0101-2020,CC-0046,c84ce263-ab46-4555-a44d-ec8482091dc9,"Keimigrasian dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:03.866+00,2025-04-25 09:51:03.866+00,2020-02-07 11:47:00+00
|
||||||
|
CI-3509-2147-2020,CR-3509-0101-2020,CC-0047,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan ekstradisi terjadi pada Thu Feb 20 2020 13:35:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:03.872+00,2025-04-25 09:51:03.872+00,2020-02-20 06:35:00+00
|
||||||
|
CI-3509-2148-2020,CR-3509-0101-2020,CC-0026,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian premanisme di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:03.878+00,2025-04-25 09:51:03.878+00,2020-02-04 00:30:00+00
|
||||||
|
CI-3509-2149-2020,CR-3509-0102-2020,CC-0031,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian kenakalan remaja di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:03.899+00,2025-04-25 09:51:03.899+00,2020-03-15 10:37:00+00
|
||||||
|
CI-3509-2150-2020,CR-3509-0103-2020,CC-0053,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian trans ekonomi crime di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:03.919+00,2025-04-25 09:51:03.919+00,2020-04-04 13:49:00+00
|
||||||
|
CI-3509-2151-2020,CR-3509-0104-2020,CC-0046,c84ce263-ab46-4555-a44d-ec8482091dc9,"Insiden keimigrasian terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:03.939+00,2025-04-25 09:51:03.939+00,2020-05-23 14:16:00+00
|
||||||
|
CI-3509-2152-2020,CR-3509-0106-2020,CC-0007,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian pemalsuan materai di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:03.965+00,2025-04-25 09:51:03.965+00,2020-07-02 01:40:00+00
|
||||||
|
CI-3509-2153-2020,CR-3509-0106-2020,CC-0009,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan perzinahan terjadi pada Mon Jul 20 2020 02:39:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:03.969+00,2025-04-25 09:51:03.969+00,2020-07-19 19:39:00+00
|
||||||
|
CI-3509-2154-2020,CR-3509-0106-2020,CC-0024,c84ce263-ab46-4555-a44d-ec8482091dc9,"Curanmor dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,unresolved,2025-04-25 09:51:03.975+00,2025-04-25 09:51:03.975+00,2020-06-30 20:32:00+00
|
||||||
|
CI-3509-2155-2020,CR-3509-0107-2020,CC-0033,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan penadahan terjadi pada Mon Aug 31 2020 17:23:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,unresolved,2025-04-25 09:51:04.001+00,2025-04-25 09:51:04.001+00,2020-08-31 10:23:00+00
|
||||||
|
CI-3509-2156-2020,CR-3509-0108-2020,CC-0035,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan agraria terjadi pada Sun Sep 27 2020 18:07:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.026+00,2025-04-25 09:51:04.026+00,2020-09-27 11:07:00+00
|
||||||
|
CI-3509-2157-2020,CR-3509-0108-2020,CC-0027,c84ce263-ab46-4555-a44d-ec8482091dc9,"Insiden pemerasan dan pengancaman terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.031+00,2025-04-25 09:51:04.031+00,2020-09-15 20:24:00+00
|
||||||
|
CI-3509-2158-2020,CR-3509-0108-2020,CC-0005,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian member suap di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.036+00,2025-04-25 09:51:04.036+00,2020-09-15 15:37:00+00
|
||||||
|
CI-3509-2159-2020,CR-3509-0108-2020,CC-0025,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kasus pengeroyokan Jalan Pahlawan No. 113, Jombang, Jember",0,resolved,2025-04-25 09:51:04.041+00,2025-04-25 09:51:04.041+00,2020-09-27 23:52:00+00
|
||||||
|
CI-3509-2160-2020,CR-3509-0109-2020,CC-0034,c84ce263-ab46-4555-a44d-ec8482091dc9,"Pekerjakan Anak dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,unresolved,2025-04-25 09:51:04.062+00,2025-04-25 09:51:04.062+00,2020-10-19 05:44:00+00
|
||||||
|
CI-3509-2161-2020,CR-3509-0111-2020,CC-0043,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian sistem peradilan anak di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.078+00,2025-04-25 09:51:04.078+00,2020-12-13 08:03:00+00
|
||||||
|
CI-3509-2162-2021,CR-3509-0112-2021,CC-0057,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan bbm illegal terjadi pada Tue Jan 05 2021 06:18:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.093+00,2025-04-25 09:51:04.093+00,2021-01-04 23:18:00+00
|
||||||
|
CI-3509-2163-2021,CR-3509-0112-2021,CC-0039,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian perlindungan tki di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.097+00,2025-04-25 09:51:04.097+00,2021-01-04 12:48:00+00
|
||||||
|
CI-3509-2164-2021,CR-3509-0112-2021,CC-0022,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian curingan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.101+00,2025-04-25 09:51:04.101+00,2021-01-06 09:04:00+00
|
||||||
|
CI-3509-2165-2021,CR-3509-0112-2021,CC-0020,c84ce263-ab46-4555-a44d-ec8482091dc9,"Pencurian Biasa dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.105+00,2025-04-25 09:51:04.105+00,2021-01-01 12:56:00+00
|
||||||
|
CI-3509-2166-2021,CR-3509-0113-2021,CC-0012,c84ce263-ab46-4555-a44d-ec8482091dc9,"Penghinaan dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.121+00,2025-04-25 09:51:04.121+00,2021-02-18 04:07:00+00
|
||||||
|
CI-3509-2167-2021,CR-3509-0113-2021,CC-0004,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian kebakaran / meletus di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.125+00,2025-04-25 09:51:04.125+00,2021-02-07 05:54:00+00
|
||||||
|
CI-3509-2168-2021,CR-3509-0113-2021,CC-0023,c84ce263-ab46-4555-a44d-ec8482091dc9,"Curas dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.129+00,2025-04-25 09:51:04.129+00,2021-02-26 02:19:00+00
|
||||||
|
CI-3509-2169-2021,CR-3509-0114-2021,CC-0015,c84ce263-ab46-4555-a44d-ec8482091dc9,"Insiden pembunuhan terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.145+00,2025-04-25 09:51:04.145+00,2021-03-12 05:55:00+00
|
||||||
|
CI-3509-2170-2021,CR-3509-0114-2021,CC-0040,c84ce263-ab46-4555-a44d-ec8482091dc9,"Perlindungan Saksi – Korban dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.149+00,2025-04-25 09:51:04.149+00,2021-03-04 16:19:00+00
|
||||||
|
CI-3509-2171-2021,CR-3509-0115-2021,CC-0028,c84ce263-ab46-4555-a44d-ec8482091dc9,"Penggelapan dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.164+00,2025-04-25 09:51:04.164+00,2021-04-19 01:58:00+00
|
||||||
|
CI-3509-2172-2021,CR-3509-0115-2021,CC-0051,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian trafficking in person di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.168+00,2025-04-25 09:51:04.168+00,2021-04-26 11:41:00+00
|
||||||
|
CI-3509-2173-2021,CR-3509-0115-2021,CC-0056,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kasus illegal fishing Jalan Pahlawan No. 113, Jombang, Jember",0,resolved,2025-04-25 09:51:04.172+00,2025-04-25 09:51:04.172+00,2021-04-15 13:23:00+00
|
||||||
|
CI-3509-2174-2021,CR-3509-0116-2021,CC-0050,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan money loudering terjadi pada Sun May 09 2021 15:17:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,unresolved,2025-04-25 09:51:04.187+00,2025-04-25 09:51:04.187+00,2021-05-09 08:17:00+00
|
||||||
|
CI-3509-2175-2021,CR-3509-0116-2021,CC-0022,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan curingan terjadi pada Fri May 14 2021 12:01:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,unresolved,2025-04-25 09:51:04.19+00,2025-04-25 09:51:04.19+00,2021-05-14 05:01:00+00
|
||||||
|
CI-3509-2176-2021,CR-3509-0116-2021,CC-0028,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian penggelapan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,unresolved,2025-04-25 09:51:04.194+00,2025-04-25 09:51:04.194+00,2021-05-09 19:46:00+00
|
||||||
|
CI-3509-2177-2021,CR-3509-0117-2021,CC-0028,c84ce263-ab46-4555-a44d-ec8482091dc9,"Insiden penggelapan terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.211+00,2025-04-25 09:51:04.211+00,2021-06-12 22:40:00+00
|
||||||
|
CI-3509-2178-2021,CR-3509-0117-2021,CC-0005,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian member suap di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.218+00,2025-04-25 09:51:04.218+00,2021-06-29 23:20:00+00
|
||||||
|
CI-3509-2179-2021,CR-3509-0117-2021,CC-0046,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan keimigrasian terjadi pada Thu Jun 24 2021 08:35:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.223+00,2025-04-25 09:51:04.223+00,2021-06-24 01:35:00+00
|
||||||
|
CI-3509-2180-2021,CR-3509-0117-2021,CC-0063,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian perlindungan konsumen di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,unresolved,2025-04-25 09:51:04.233+00,2025-04-25 09:51:04.233+00,2021-06-22 07:49:00+00
|
||||||
|
CI-3509-2181-2021,CR-3509-0118-2021,CC-0012,c84ce263-ab46-4555-a44d-ec8482091dc9,"Penghinaan dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.299+00,2025-04-25 09:51:04.299+00,2021-07-16 22:20:00+00
|
||||||
|
CI-3509-2182-2021,CR-3509-0119-2021,CC-0030,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan pengrusakan terjadi pada Sun Aug 01 2021 09:45:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.348+00,2025-04-25 09:51:04.348+00,2021-08-01 02:45:00+00
|
||||||
|
CI-3509-2183-2021,CR-3509-0119-2021,CC-0064,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan pidter lainnya terjadi pada Mon Aug 09 2021 02:10:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.353+00,2025-04-25 09:51:04.353+00,2021-08-08 19:10:00+00
|
||||||
|
CI-3509-2184-2021,CR-3509-0120-2021,CC-0001,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kasus terhadap ketertiban umum Jalan Pahlawan No. 113, Jombang, Jember",0,resolved,2025-04-25 09:51:04.384+00,2025-04-25 09:51:04.384+00,2021-09-15 17:20:00+00
|
||||||
|
CI-3509-2185-2021,CR-3509-0121-2021,CC-0011,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian perjudian di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.411+00,2025-04-25 09:51:04.411+00,2021-10-18 09:41:00+00
|
||||||
|
CI-3509-2186-2021,CR-3509-0121-2021,CC-0038,c84ce263-ab46-4555-a44d-ec8482091dc9,"Insiden pkdrt terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.417+00,2025-04-25 09:51:04.417+00,2021-10-29 09:00:00+00
|
||||||
|
CI-3509-2187-2021,CR-3509-0122-2021,CC-0064,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kasus pidter lainnya Jalan Pahlawan No. 113, Jombang, Jember",0,resolved,2025-04-25 09:51:04.444+00,2025-04-25 09:51:04.444+00,2021-11-27 09:50:00+00
|
||||||
|
CI-3509-2188-2021,CR-3509-0122-2021,CC-0008,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian pemalsuan surat di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.45+00,2025-04-25 09:51:04.45+00,2021-11-10 19:54:00+00
|
||||||
|
CI-3509-2189-2021,CR-3509-0123-2021,CC-0061,c84ce263-ab46-4555-a44d-ec8482091dc9,"Insiden upal terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.472+00,2025-04-25 09:51:04.472+00,2021-12-26 17:38:00+00
|
||||||
|
CI-3509-2190-2021,CR-3509-0123-2021,CC-0063,c84ce263-ab46-4555-a44d-ec8482091dc9,"Perlindungan Konsumen dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.476+00,2025-04-25 09:51:04.476+00,2021-12-22 23:26:00+00
|
||||||
|
CI-3509-2191-2021,CR-3509-0123-2021,CC-0024,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kasus curanmor Jalan Pahlawan No. 113, Jombang, Jember",0,resolved,2025-04-25 09:51:04.481+00,2025-04-25 09:51:04.481+00,2021-12-20 22:35:00+00
|
||||||
|
CI-3509-2192-2021,CR-3509-0123-2021,CC-0033,c84ce263-ab46-4555-a44d-ec8482091dc9,"Penadahan dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.485+00,2025-04-25 09:51:04.485+00,2021-12-04 14:57:00+00
|
||||||
|
CI-3509-2193-2021,CR-3509-0123-2021,CC-0017,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan penganiayaan berat terjadi pada Fri Dec 24 2021 02:10:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.49+00,2025-04-25 09:51:04.49+00,2021-12-23 19:10:00+00
|
||||||
|
CI-3509-2194-2022,CR-3509-0124-2022,CC-0035,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian agraria di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.51+00,2025-04-25 09:51:04.51+00,2022-01-14 19:42:00+00
|
||||||
|
CI-3509-2195-2022,CR-3509-0124-2022,CC-0025,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan pengeroyokan terjadi pada Sat Jan 08 2022 08:33:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.514+00,2025-04-25 09:51:04.514+00,2022-01-08 01:33:00+00
|
||||||
|
CI-3509-2196-2022,CR-3509-0124-2022,CC-0043,c84ce263-ab46-4555-a44d-ec8482091dc9,"Insiden sistem peradilan anak terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,unresolved,2025-04-25 09:51:04.518+00,2025-04-25 09:51:04.518+00,2022-01-10 23:12:00+00
|
||||||
|
CI-3509-2197-2022,CR-3509-0124-2022,CC-0018,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian kelalaian akibatkan orang mati di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,unresolved,2025-04-25 09:51:04.522+00,2025-04-25 09:51:04.522+00,2022-01-16 00:39:00+00
|
||||||
|
CI-3509-2198-2022,CR-3509-0125-2022,CC-0067,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian separatisme di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.544+00,2025-04-25 09:51:04.544+00,2022-02-07 21:04:00+00
|
||||||
|
CI-3509-2199-2022,CR-3509-0125-2022,CC-0058,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kasus niaga pupuk Jalan Pahlawan No. 113, Jombang, Jember",0,resolved,2025-04-25 09:51:04.55+00,2025-04-25 09:51:04.55+00,2022-02-12 13:37:00+00
|
||||||
|
CI-3509-2200-2022,CR-3509-0126-2022,CC-0034,c84ce263-ab46-4555-a44d-ec8482091dc9,"Pekerjakan Anak dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,unresolved,2025-04-25 09:51:04.572+00,2025-04-25 09:51:04.572+00,2022-03-28 13:42:00+00
|
||||||
|
CI-3509-2201-2022,CR-3509-0129-2022,CC-0006,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan sumpah palsu terjadi pada Mon Jun 20 2022 05:25:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.59+00,2025-04-25 09:51:04.59+00,2022-06-19 22:25:00+00
|
||||||
|
CI-3509-2202-2022,CR-3509-0130-2022,CC-0048,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kasus lahgun senpi/handak/sajam Jalan Pahlawan No. 113, Jombang, Jember",0,resolved,2025-04-25 09:51:04.609+00,2025-04-25 09:51:04.609+00,2022-07-27 05:22:00+00
|
||||||
|
CI-3509-2203-2022,CR-3509-0131-2022,CC-0014,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian perbuatan tidak menyenangkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.629+00,2025-04-25 09:51:04.629+00,2022-08-24 17:17:00+00
|
||||||
|
CI-3509-2204-2022,CR-3509-0131-2022,CC-0003,c84ce263-ab46-4555-a44d-ec8482091dc9,"Pembakaran dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.634+00,2025-04-25 09:51:04.634+00,2022-08-09 19:59:00+00
|
||||||
|
CI-3509-2205-2022,CR-3509-0132-2022,CC-0008,c84ce263-ab46-4555-a44d-ec8482091dc9,"Pemalsuan Surat dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.652+00,2025-04-25 09:51:04.652+00,2022-09-24 14:37:00+00
|
||||||
|
CI-3509-2206-2022,CR-3509-0132-2022,CC-0058,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kasus niaga pupuk Jalan Pahlawan No. 113, Jombang, Jember",0,resolved,2025-04-25 09:51:04.659+00,2025-04-25 09:51:04.659+00,2022-09-02 17:50:00+00
|
||||||
|
CI-3509-2207-2022,CR-3509-0132-2022,CC-0006,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan sumpah palsu terjadi pada Fri Sep 23 2022 19:08:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.665+00,2025-04-25 09:51:04.665+00,2022-09-23 12:08:00+00
|
||||||
|
CI-3509-2208-2022,CR-3509-0133-2022,CC-0067,c84ce263-ab46-4555-a44d-ec8482091dc9,"Separatisme dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.684+00,2025-04-25 09:51:04.684+00,2022-10-26 15:39:00+00
|
||||||
|
CI-3509-2209-2022,CR-3509-0133-2022,CC-0066,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan konflik etnis terjadi pada Wed Oct 19 2022 23:26:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.689+00,2025-04-25 09:51:04.689+00,2022-10-19 16:26:00+00
|
||||||
|
CI-3509-2210-2022,CR-3509-0133-2022,CC-0041,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kasus ptppo Jalan Pahlawan No. 113, Jombang, Jember",0,resolved,2025-04-25 09:51:04.694+00,2025-04-25 09:51:04.694+00,2022-10-05 06:21:00+00
|
||||||
|
CI-3509-2211-2022,CR-3509-0133-2022,CC-0047,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan ekstradisi terjadi pada Fri Oct 28 2022 21:17:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.698+00,2025-04-25 09:51:04.698+00,2022-10-28 14:17:00+00
|
||||||
|
CI-3509-2212-2022,CR-3509-0133-2022,CC-0021,c84ce263-ab46-4555-a44d-ec8482091dc9,"Insiden curat terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.702+00,2025-04-25 09:51:04.702+00,2022-10-09 03:41:00+00
|
||||||
|
CI-3509-2213-2022,CR-3509-0135-2022,CC-0034,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian pekerjakan anak di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.724+00,2025-04-25 09:51:04.724+00,2022-12-06 22:25:00+00
|
||||||
|
CI-3509-2214-2022,CR-3509-0135-2022,CC-0057,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian bbm illegal di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.728+00,2025-04-25 09:51:04.728+00,2022-12-30 17:33:00+00
|
||||||
|
CI-3509-2215-2022,CR-3509-0135-2022,CC-0017,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian penganiayaan berat di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.733+00,2025-04-25 09:51:04.733+00,2022-12-27 09:44:00+00
|
||||||
|
CI-3509-2216-2022,CR-3509-0135-2022,CC-0058,c84ce263-ab46-4555-a44d-ec8482091dc9,"Insiden niaga pupuk terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.737+00,2025-04-25 09:51:04.737+00,2022-12-20 13:08:00+00
|
||||||
|
CI-3509-2217-2023,CR-3509-0136-2023,CC-0065,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan korupsi terjadi pada Tue Jan 17 2023 02:38:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.76+00,2025-04-25 09:51:04.76+00,2023-01-16 19:38:00+00
|
||||||
|
CI-3509-2218-2023,CR-3509-0137-2023,CC-0046,c84ce263-ab46-4555-a44d-ec8482091dc9,"Insiden keimigrasian terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.778+00,2025-04-25 09:51:04.778+00,2023-02-04 23:29:00+00
|
||||||
|
CI-3509-2219-2023,CR-3509-0138-2023,CC-0018,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Insiden kelalaian akibatkan orang mati terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.797+00,2025-04-25 09:51:04.797+00,2023-03-08 13:08:00+00
|
||||||
|
CI-3509-2220-2023,CR-3509-0139-2023,CC-0024,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kejadian curanmor di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.815+00,2025-04-25 09:51:04.815+00,2023-04-15 02:50:00+00
|
||||||
|
CI-3509-2221-2023,CR-3509-0141-2023,CC-0066,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kasus konflik etnis Jalan Pantai No. 4, Jombang, Jember",0,resolved,2025-04-25 09:51:04.835+00,2025-04-25 09:51:04.835+00,2023-06-15 00:22:00+00
|
||||||
|
CI-3509-2222-2023,CR-3509-0142-2023,CC-0044,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kejadian penyelenggaraan pemilu di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.852+00,2025-04-25 09:51:04.852+00,2023-07-15 16:16:00+00
|
||||||
|
CI-3509-2223-2023,CR-3509-0143-2023,CC-0055,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Insiden illegal mining terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.879+00,2025-04-25 09:51:04.879+00,2023-08-15 17:11:00+00
|
||||||
|
CI-3509-2224-2023,CR-3509-0143-2023,CC-0059,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kejadian ite di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.884+00,2025-04-25 09:51:04.884+00,2023-08-04 19:36:00+00
|
||||||
|
CI-3509-2225-2023,CR-3509-0144-2023,CC-0063,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kasus perlindungan konsumen Jalan Pantai No. 4, Jombang, Jember",0,resolved,2025-04-25 09:51:04.902+00,2025-04-25 09:51:04.902+00,2023-09-30 02:05:00+00
|
||||||
|
CI-3509-2226-2023,CR-3509-0144-2023,CC-0022,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Insiden curingan terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.907+00,2025-04-25 09:51:04.907+00,2023-09-12 13:19:00+00
|
||||||
|
CI-3509-2227-2023,CR-3509-0144-2023,CC-0006,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kasus sumpah palsu Jalan Pantai No. 4, Jombang, Jember",0,resolved,2025-04-25 09:51:04.912+00,2025-04-25 09:51:04.912+00,2023-09-10 01:29:00+00
|
||||||
|
CI-3509-2228-2023,CR-3509-0145-2023,CC-0063,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Laporan perlindungan konsumen terjadi pada Sun Oct 01 2023 23:34:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.933+00,2025-04-25 09:51:04.933+00,2023-10-01 16:34:00+00
|
||||||
|
CI-3509-2229-2023,CR-3509-0145-2023,CC-0020,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Laporan pencurian biasa terjadi pada Mon Oct 23 2023 00:28:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.937+00,2025-04-25 09:51:04.937+00,2023-10-22 17:28:00+00
|
||||||
|
CI-3509-2230-2023,CR-3509-0145-2023,CC-0040,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Insiden perlindungan saksi – korban terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.941+00,2025-04-25 09:51:04.941+00,2023-10-23 21:54:00+00
|
||||||
|
CI-3509-2231-2023,CR-3509-0145-2023,CC-0058,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kasus niaga pupuk Jalan Pantai No. 4, Jombang, Jember",0,resolved,2025-04-25 09:51:04.945+00,2025-04-25 09:51:04.945+00,2023-10-06 20:26:00+00
|
||||||
|
CI-3509-2232-2023,CR-3509-0145-2023,CC-0054,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Insiden illegal logging terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.95+00,2025-04-25 09:51:04.95+00,2023-10-05 05:39:00+00
|
||||||
|
CI-3509-2233-2023,CR-3509-0145-2023,CC-0029,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kasus penipuan Jalan Pantai No. 4, Jombang, Jember",0,resolved,2025-04-25 09:51:04.954+00,2025-04-25 09:51:04.954+00,2023-10-07 02:18:00+00
|
||||||
|
CI-3509-2234-2023,CR-3509-0146-2023,CC-0009,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Laporan perzinahan terjadi pada Wed Nov 08 2023 20:06:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.973+00,2025-04-25 09:51:04.973+00,2023-11-08 13:06:00+00
|
||||||
|
CI-3509-2235-2023,CR-3509-0146-2023,CC-0009,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Insiden perzinahan terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.977+00,2025-04-25 09:51:04.977+00,2023-11-21 16:53:00+00
|
||||||
|
CI-3509-2236-2023,CR-3509-0146-2023,CC-0017,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Laporan penganiayaan berat terjadi pada Tue Nov 21 2023 03:12:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.981+00,2025-04-25 09:51:04.981+00,2023-11-20 20:12:00+00
|
||||||
|
CI-3509-2237-2023,CR-3509-0146-2023,CC-0049,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kejadian pidum lainnya di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.986+00,2025-04-25 09:51:04.986+00,2023-11-17 18:01:00+00
|
||||||
|
CI-3509-2238-2023,CR-3509-0146-2023,CC-0040,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Insiden perlindungan saksi – korban terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.99+00,2025-04-25 09:51:04.99+00,2023-11-10 23:52:00+00
|
||||||
|
CI-3509-2239-2023,CR-3509-0146-2023,CC-0014,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kejadian perbuatan tidak menyenangkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,unresolved,2025-04-25 09:51:04.995+00,2025-04-25 09:51:04.995+00,2023-11-14 17:31:00+00
|
||||||
|
CI-3509-2240-2023,CR-3509-0147-2023,CC-0053,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kejadian trans ekonomi crime di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:05.017+00,2025-04-25 09:51:05.017+00,2023-12-13 14:44:00+00
|
||||||
|
CI-3509-2241-2023,CR-3509-0147-2023,CC-0036,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Laporan peradilan anak terjadi pada Sat Dec 16 2023 11:16:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:05.021+00,2025-04-25 09:51:05.021+00,2023-12-16 04:16:00+00
|
||||||
|
CI-3509-2242-2023,CR-3509-0147-2023,CC-0038,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kejadian pkdrt di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:05.027+00,2025-04-25 09:51:05.027+00,2023-12-09 19:54:00+00
|
||||||
|
CI-3509-2243-2024,CR-3509-0148-2024,CC-0048,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kejadian lahgun senpi/handak/sajam di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:05.049+00,2025-04-25 09:51:05.049+00,2024-01-01 07:51:00+00
|
||||||
|
CI-3509-2244-2024,CR-3509-0149-2024,CC-0004,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kejadian kebakaran / meletus di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:05.073+00,2025-04-25 09:51:05.073+00,2024-02-15 13:38:00+00
|
||||||
|
CI-3509-2245-2024,CR-3509-0150-2024,CC-0005,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Member Suap dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:05.095+00,2025-04-25 09:51:05.095+00,2024-03-21 14:24:00+00
|
|
|
@ -0,0 +1,101 @@
|
||||||
|
id,district_id,created_at,level,method,month,number_of_crime,score,updated_at,year
|
||||||
|
CR-3509-0200-2023,350902,2025-04-25 09:50:50.697+00,low,kmeans,5,3,82,2025-04-25 09:50:50.697+00,2023
|
||||||
|
CR-3509-0201-2023,350902,2025-04-25 09:50:50.703+00,low,kmeans,6,3,82,2025-04-25 09:50:50.703+00,2023
|
||||||
|
CR-3509-0103-2020,350901,2025-04-25 09:50:50.055+00,low,kmeans,4,1,94,2025-04-25 09:50:50.055+00,2020
|
||||||
|
CR-3509-0100-2020,350901,2025-04-25 09:50:50.03+00,low,kmeans,1,0,100,2025-04-25 09:50:50.03+00,2020
|
||||||
|
CR-3509-0105-2020,350901,2025-04-25 09:50:50.071+00,low,kmeans,6,0,100,2025-04-25 09:50:50.071+00,2020
|
||||||
|
CR-3509-0102-2020,350901,2025-04-25 09:50:50.047+00,low,kmeans,3,1,94,2025-04-25 09:50:50.047+00,2020
|
||||||
|
CR-3509-0107-2020,350901,2025-04-25 09:50:50.085+00,low,kmeans,8,1,94,2025-04-25 09:50:50.085+00,2020
|
||||||
|
CR-3509-0108-2020,350901,2025-04-25 09:50:50.091+00,low,kmeans,9,4,75,2025-04-25 09:50:50.091+00,2020
|
||||||
|
CR-3509-0109-2020,350901,2025-04-25 09:50:50.098+00,low,kmeans,10,1,94,2025-04-25 09:50:50.098+00,2020
|
||||||
|
CR-3509-0101-2020,350901,2025-04-25 09:50:50.04+00,low,kmeans,2,3,82,2025-04-25 09:50:50.04+00,2020
|
||||||
|
CR-3509-0111-2020,350901,2025-04-25 09:50:50.111+00,low,kmeans,12,1,94,2025-04-25 09:50:50.111+00,2020
|
||||||
|
CR-3509-0112-2021,350901,2025-04-25 09:50:50.118+00,low,kmeans,1,4,75,2025-04-25 09:50:50.118+00,2021
|
||||||
|
CR-3509-0113-2021,350901,2025-04-25 09:50:50.124+00,low,kmeans,2,3,82,2025-04-25 09:50:50.124+00,2021
|
||||||
|
CR-3509-0106-2020,350901,2025-04-25 09:50:50.078+00,low,kmeans,7,3,82,2025-04-25 09:50:50.078+00,2020
|
||||||
|
CR-3509-0115-2021,350901,2025-04-25 09:50:50.136+00,low,kmeans,4,3,82,2025-04-25 09:50:50.136+00,2021
|
||||||
|
CR-3509-0116-2021,350901,2025-04-25 09:50:50.143+00,low,kmeans,5,3,82,2025-04-25 09:50:50.143+00,2021
|
||||||
|
CR-3509-0117-2021,350901,2025-04-25 09:50:50.151+00,low,kmeans,6,4,75,2025-04-25 09:50:50.151+00,2021
|
||||||
|
CR-3509-0118-2021,350901,2025-04-25 09:50:50.161+00,low,kmeans,7,1,94,2025-04-25 09:50:50.161+00,2021
|
||||||
|
CR-3509-0119-2021,350901,2025-04-25 09:50:50.17+00,low,kmeans,8,2,88,2025-04-25 09:50:50.17+00,2021
|
||||||
|
CR-3509-0120-2021,350901,2025-04-25 09:50:50.178+00,low,kmeans,9,1,94,2025-04-25 09:50:50.178+00,2021
|
||||||
|
CR-3509-0121-2021,350901,2025-04-25 09:50:50.185+00,low,kmeans,10,2,88,2025-04-25 09:50:50.185+00,2021
|
||||||
|
CR-3509-0104-2020,350901,2025-04-25 09:50:50.063+00,low,kmeans,5,1,94,2025-04-25 09:50:50.063+00,2020
|
||||||
|
CR-3509-0123-2021,350901,2025-04-25 09:50:50.199+00,low,kmeans,12,5,69,2025-04-25 09:50:50.199+00,2021
|
||||||
|
CR-3509-0124-2022,350901,2025-04-25 09:50:50.206+00,low,kmeans,1,4,75,2025-04-25 09:50:50.206+00,2022
|
||||||
|
CR-3509-0125-2022,350901,2025-04-25 09:50:50.212+00,low,kmeans,2,2,88,2025-04-25 09:50:50.212+00,2022
|
||||||
|
CR-3509-0126-2022,350901,2025-04-25 09:50:50.219+00,low,kmeans,3,1,94,2025-04-25 09:50:50.219+00,2022
|
||||||
|
CR-3509-0127-2022,350901,2025-04-25 09:50:50.229+00,low,kmeans,4,0,100,2025-04-25 09:50:50.229+00,2022
|
||||||
|
CR-3509-0128-2022,350901,2025-04-25 09:50:50.238+00,low,kmeans,5,0,100,2025-04-25 09:50:50.238+00,2022
|
||||||
|
CR-3509-0114-2021,350901,2025-04-25 09:50:50.13+00,low,kmeans,3,2,88,2025-04-25 09:50:50.13+00,2021
|
||||||
|
CR-3509-0130-2022,350901,2025-04-25 09:50:50.252+00,low,kmeans,7,1,94,2025-04-25 09:50:50.252+00,2022
|
||||||
|
CR-3509-0131-2022,350901,2025-04-25 09:50:50.258+00,low,kmeans,8,2,88,2025-04-25 09:50:50.258+00,2022
|
||||||
|
CR-3509-0132-2022,350901,2025-04-25 09:50:50.266+00,low,kmeans,9,3,82,2025-04-25 09:50:50.266+00,2022
|
||||||
|
CR-3509-0133-2022,350901,2025-04-25 09:50:50.272+00,low,kmeans,10,5,69,2025-04-25 09:50:50.272+00,2022
|
||||||
|
CR-3509-0134-2022,350901,2025-04-25 09:50:50.279+00,low,kmeans,11,0,100,2025-04-25 09:50:50.279+00,2022
|
||||||
|
CR-3509-0135-2022,350901,2025-04-25 09:50:50.286+00,low,kmeans,12,4,75,2025-04-25 09:50:50.286+00,2022
|
||||||
|
CR-3509-0136-2023,350901,2025-04-25 09:50:50.294+00,low,kmeans,1,1,94,2025-04-25 09:50:50.294+00,2023
|
||||||
|
CR-3509-0137-2023,350901,2025-04-25 09:50:50.302+00,low,kmeans,2,1,94,2025-04-25 09:50:50.302+00,2023
|
||||||
|
CR-3509-0138-2023,350901,2025-04-25 09:50:50.31+00,low,kmeans,3,1,94,2025-04-25 09:50:50.31+00,2023
|
||||||
|
CR-3509-0139-2023,350901,2025-04-25 09:50:50.316+00,low,kmeans,4,1,94,2025-04-25 09:50:50.316+00,2023
|
||||||
|
CR-3509-0140-2023,350901,2025-04-25 09:50:50.321+00,low,kmeans,5,0,100,2025-04-25 09:50:50.321+00,2023
|
||||||
|
CR-3509-0141-2023,350901,2025-04-25 09:50:50.327+00,low,kmeans,6,1,94,2025-04-25 09:50:50.327+00,2023
|
||||||
|
CR-3509-0142-2023,350901,2025-04-25 09:50:50.333+00,low,kmeans,7,1,94,2025-04-25 09:50:50.333+00,2023
|
||||||
|
CR-3509-0143-2023,350901,2025-04-25 09:50:50.339+00,low,kmeans,8,2,88,2025-04-25 09:50:50.339+00,2023
|
||||||
|
CR-3509-0144-2023,350901,2025-04-25 09:50:50.345+00,low,kmeans,9,3,82,2025-04-25 09:50:50.345+00,2023
|
||||||
|
CR-3509-0122-2021,350901,2025-04-25 09:50:50.192+00,low,kmeans,11,2,88,2025-04-25 09:50:50.192+00,2021
|
||||||
|
CR-3509-0110-2020,350901,2025-04-25 09:50:50.104+00,low,kmeans,11,0,100,2025-04-25 09:50:50.104+00,2020
|
||||||
|
CR-3509-0147-2023,350901,2025-04-25 09:50:50.365+00,low,kmeans,12,3,82,2025-04-25 09:50:50.365+00,2023
|
||||||
|
CR-3509-0148-2024,350901,2025-04-25 09:50:50.371+00,low,kmeans,1,1,94,2025-04-25 09:50:50.371+00,2024
|
||||||
|
CR-3509-0149-2024,350901,2025-04-25 09:50:50.377+00,low,kmeans,2,1,94,2025-04-25 09:50:50.377+00,2024
|
||||||
|
CR-3509-0150-2024,350901,2025-04-25 09:50:50.383+00,low,kmeans,3,4,75,2025-04-25 09:50:50.383+00,2024
|
||||||
|
CR-3509-0151-2024,350901,2025-04-25 09:50:50.389+00,low,kmeans,4,2,88,2025-04-25 09:50:50.389+00,2024
|
||||||
|
CR-3509-0152-2024,350901,2025-04-25 09:50:50.395+00,low,kmeans,5,2,88,2025-04-25 09:50:50.395+00,2024
|
||||||
|
CR-3509-0153-2024,350901,2025-04-25 09:50:50.402+00,low,kmeans,6,1,94,2025-04-25 09:50:50.402+00,2024
|
||||||
|
CR-3509-0154-2024,350901,2025-04-25 09:50:50.408+00,low,kmeans,7,2,88,2025-04-25 09:50:50.408+00,2024
|
||||||
|
CR-3509-0155-2024,350901,2025-04-25 09:50:50.414+00,low,kmeans,8,3,82,2025-04-25 09:50:50.414+00,2024
|
||||||
|
CR-3509-0156-2024,350901,2025-04-25 09:50:50.42+00,low,kmeans,9,2,88,2025-04-25 09:50:50.42+00,2024
|
||||||
|
CR-3509-0157-2024,350901,2025-04-25 09:50:50.426+00,low,kmeans,10,3,82,2025-04-25 09:50:50.426+00,2024
|
||||||
|
CR-3509-0158-2024,350901,2025-04-25 09:50:50.431+00,low,kmeans,11,0,100,2025-04-25 09:50:50.431+00,2024
|
||||||
|
CR-3509-0159-2024,350901,2025-04-25 09:50:50.438+00,low,kmeans,12,0,100,2025-04-25 09:50:50.438+00,2024
|
||||||
|
CR-3509-0129-2022,350901,2025-04-25 09:50:50.245+00,low,kmeans,6,1,94,2025-04-25 09:50:50.245+00,2022
|
||||||
|
CR-3509-0161-2020,350902,2025-04-25 09:50:50.454+00,low,kmeans,2,1,94,2025-04-25 09:50:50.454+00,2020
|
||||||
|
CR-3509-0162-2020,350902,2025-04-25 09:50:50.462+00,low,kmeans,3,1,94,2025-04-25 09:50:50.462+00,2020
|
||||||
|
CR-3509-0163-2020,350902,2025-04-25 09:50:50.472+00,low,kmeans,4,0,100,2025-04-25 09:50:50.472+00,2020
|
||||||
|
CR-3509-0164-2020,350902,2025-04-25 09:50:50.48+00,low,kmeans,5,0,100,2025-04-25 09:50:50.48+00,2020
|
||||||
|
CR-3509-0165-2020,350902,2025-04-25 09:50:50.485+00,low,kmeans,6,0,100,2025-04-25 09:50:50.485+00,2020
|
||||||
|
CR-3509-0166-2020,350902,2025-04-25 09:50:50.492+00,low,kmeans,7,1,94,2025-04-25 09:50:50.492+00,2020
|
||||||
|
CR-3509-0167-2020,350902,2025-04-25 09:50:50.498+00,low,kmeans,8,2,88,2025-04-25 09:50:50.498+00,2020
|
||||||
|
CR-3509-0168-2020,350902,2025-04-25 09:50:50.503+00,low,kmeans,9,0,100,2025-04-25 09:50:50.503+00,2020
|
||||||
|
CR-3509-0169-2020,350902,2025-04-25 09:50:50.51+00,low,kmeans,10,2,88,2025-04-25 09:50:50.51+00,2020
|
||||||
|
CR-3509-0170-2020,350902,2025-04-25 09:50:50.517+00,low,kmeans,11,0,100,2025-04-25 09:50:50.517+00,2020
|
||||||
|
CR-3509-0171-2020,350902,2025-04-25 09:50:50.523+00,low,kmeans,12,0,100,2025-04-25 09:50:50.523+00,2020
|
||||||
|
CR-3509-0172-2021,350902,2025-04-25 09:50:50.528+00,low,kmeans,1,2,88,2025-04-25 09:50:50.528+00,2021
|
||||||
|
CR-3509-0173-2021,350902,2025-04-25 09:50:50.541+00,low,kmeans,2,1,94,2025-04-25 09:50:50.541+00,2021
|
||||||
|
CR-3509-0174-2021,350902,2025-04-25 09:50:50.547+00,low,kmeans,3,2,88,2025-04-25 09:50:50.547+00,2021
|
||||||
|
CR-3509-0175-2021,350902,2025-04-25 09:50:50.553+00,low,kmeans,4,3,82,2025-04-25 09:50:50.553+00,2021
|
||||||
|
CR-3509-0176-2021,350902,2025-04-25 09:50:50.558+00,low,kmeans,5,1,94,2025-04-25 09:50:50.558+00,2021
|
||||||
|
CR-3509-0177-2021,350902,2025-04-25 09:50:50.564+00,low,kmeans,6,2,88,2025-04-25 09:50:50.564+00,2021
|
||||||
|
CR-3509-0178-2021,350902,2025-04-25 09:50:50.57+00,low,kmeans,7,1,94,2025-04-25 09:50:50.57+00,2021
|
||||||
|
CR-3509-0179-2021,350902,2025-04-25 09:50:50.576+00,low,kmeans,8,3,82,2025-04-25 09:50:50.576+00,2021
|
||||||
|
CR-3509-0180-2021,350902,2025-04-25 09:50:50.582+00,low,kmeans,9,2,88,2025-04-25 09:50:50.582+00,2021
|
||||||
|
CR-3509-0181-2021,350902,2025-04-25 09:50:50.588+00,low,kmeans,10,0,100,2025-04-25 09:50:50.588+00,2021
|
||||||
|
CR-3509-0182-2021,350902,2025-04-25 09:50:50.594+00,low,kmeans,11,1,94,2025-04-25 09:50:50.594+00,2021
|
||||||
|
CR-3509-0183-2021,350902,2025-04-25 09:50:50.6+00,low,kmeans,12,0,100,2025-04-25 09:50:50.6+00,2021
|
||||||
|
CR-3509-0184-2022,350902,2025-04-25 09:50:50.605+00,low,kmeans,1,0,100,2025-04-25 09:50:50.605+00,2022
|
||||||
|
CR-3509-0185-2022,350902,2025-04-25 09:50:50.61+00,low,kmeans,2,3,82,2025-04-25 09:50:50.61+00,2022
|
||||||
|
CR-3509-0186-2022,350902,2025-04-25 09:50:50.616+00,low,kmeans,3,0,100,2025-04-25 09:50:50.616+00,2022
|
||||||
|
CR-3509-0187-2022,350902,2025-04-25 09:50:50.621+00,low,kmeans,4,0,100,2025-04-25 09:50:50.621+00,2022
|
||||||
|
CR-3509-0188-2022,350902,2025-04-25 09:50:50.627+00,low,kmeans,5,3,82,2025-04-25 09:50:50.627+00,2022
|
||||||
|
CR-3509-0189-2022,350902,2025-04-25 09:50:50.633+00,low,kmeans,6,1,94,2025-04-25 09:50:50.633+00,2022
|
||||||
|
CR-3509-0190-2022,350902,2025-04-25 09:50:50.639+00,low,kmeans,7,1,94,2025-04-25 09:50:50.639+00,2022
|
||||||
|
CR-3509-0191-2022,350902,2025-04-25 09:50:50.645+00,low,kmeans,8,0,100,2025-04-25 09:50:50.645+00,2022
|
||||||
|
CR-3509-0192-2022,350902,2025-04-25 09:50:50.652+00,low,kmeans,9,2,88,2025-04-25 09:50:50.652+00,2022
|
||||||
|
CR-3509-0193-2022,350902,2025-04-25 09:50:50.657+00,low,kmeans,10,3,82,2025-04-25 09:50:50.657+00,2022
|
||||||
|
CR-3509-0194-2022,350902,2025-04-25 09:50:50.665+00,low,kmeans,11,3,82,2025-04-25 09:50:50.665+00,2022
|
||||||
|
CR-3509-0195-2022,350902,2025-04-25 09:50:50.671+00,low,kmeans,12,1,94,2025-04-25 09:50:50.671+00,2022
|
||||||
|
CR-3509-0196-2023,350902,2025-04-25 09:50:50.676+00,low,kmeans,1,2,88,2025-04-25 09:50:50.676+00,2023
|
||||||
|
CR-3509-0197-2023,350902,2025-04-25 09:50:50.682+00,low,kmeans,2,2,88,2025-04-25 09:50:50.682+00,2023
|
||||||
|
CR-3509-0198-2023,350902,2025-04-25 09:50:50.687+00,low,kmeans,3,0,100,2025-04-25 09:50:50.687+00,2023
|
||||||
|
CR-3509-0199-2023,350902,2025-04-25 09:50:50.692+00,low,kmeans,4,0,100,2025-04-25 09:50:50.692+00,2023
|
||||||
|
CR-3509-0202-2023,350902,2025-04-25 09:50:50.708+00,low,kmeans,7,1,94,2025-04-25 09:50:50.708+00,2023
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
id,name,created_at,updated_at
|
||||||
|
3509,Jember,2025-04-25 09:50:41.806+00,2025-04-25 09:50:41.806+00
|
|
|
@ -0,0 +1,68 @@
|
||||||
|
id,name,description,created_at,updated_at,type
|
||||||
|
CC-0001,Terhadap Ketertiban Umum,Kejahatan yang mengganggu ketertiban umum seperti unjuk rasa ilegal atau kerusuhan.,2025-04-25 09:50:40.832+00,2025-04-25 09:50:40.832+00,Pidana Umum
|
||||||
|
CC-0002,Membahayakan Kam Umum,"Tindakan yang membahayakan keamanan umum, termasuk penggunaan bahan peledak secara ilegal.",2025-04-25 09:50:40.841+00,2025-04-25 09:50:40.841+00,Pidana Umum
|
||||||
|
CC-0003,Pembakaran,Tindakan pembakaran yang disengaja terhadap properti atau bangunan.,2025-04-25 09:50:40.847+00,2025-04-25 09:50:40.847+00,Pidana Umum
|
||||||
|
CC-0004,Kebakaran / Meletus,Kejadian kebakaran atau ledakan yang menimbulkan kerusakan atau korban.,2025-04-25 09:50:40.854+00,2025-04-25 09:50:40.854+00,Pidana Umum
|
||||||
|
CC-0005,Member Suap,Memberikan suap kepada pejabat publik atau pihak lain untuk keuntungan pribadi.,2025-04-25 09:50:40.861+00,2025-04-25 09:50:40.861+00,Pidana Umum
|
||||||
|
CC-0006,Sumpah Palsu,Memberikan keterangan tidak benar di bawah sumpah dalam proses hukum.,2025-04-25 09:50:40.866+00,2025-04-25 09:50:40.866+00,Pidana Umum
|
||||||
|
CC-0007,Pemalsuan Materai,Pembuatan atau penggunaan materai palsu untuk dokumen resmi.,2025-04-25 09:50:40.871+00,2025-04-25 09:50:40.871+00,Pidana Umum
|
||||||
|
CC-0008,Pemalsuan Surat,Pemalsuan dokumen atau surat dengan tujuan menipu.,2025-04-25 09:50:40.876+00,2025-04-25 09:50:40.876+00,Pidana Umum
|
||||||
|
CC-0009,Perzinahan,Hubungan seksual antara orang yang salah satunya sudah terikat pernikahan dengan orang lain.,2025-04-25 09:50:40.881+00,2025-04-25 09:50:40.881+00,Pidana Umum
|
||||||
|
CC-0010,Perkosaan,Pemaksaan hubungan seksual tanpa persetujuan korban.,2025-04-25 09:50:40.887+00,2025-04-25 09:50:40.887+00,Pidana Umum
|
||||||
|
CC-0011,Perjudian,Kegiatan taruhan yang dilarang oleh hukum.,2025-04-25 09:50:40.893+00,2025-04-25 09:50:40.893+00,Pidana Umum
|
||||||
|
CC-0012,Penghinaan,Tindakan menghina atau merendahkan martabat orang lain secara lisan atau tulisan.,2025-04-25 09:50:40.897+00,2025-04-25 09:50:40.897+00,Pidana Umum
|
||||||
|
CC-0013,Penculikan,Pengambilan seseorang secara paksa atau tanpa izin untuk tujuan tertentu.,2025-04-25 09:50:40.902+00,2025-04-25 09:50:40.902+00,Pidana Umum
|
||||||
|
CC-0014,Perbuatan Tidak Menyenangkan,Tindakan yang menyebabkan ketidaknyamanan atau ketakutan pada orang lain.,2025-04-25 09:50:40.907+00,2025-04-25 09:50:40.907+00,Pidana Umum
|
||||||
|
CC-0015,Pembunuhan,Tindakan menghilangkan nyawa orang lain secara sengaja.,2025-04-25 09:50:40.912+00,2025-04-25 09:50:40.912+00,Pidana Umum
|
||||||
|
CC-0016,Penganiayaan Ringan,Tindakan kekerasan fisik ringan yang tidak menyebabkan luka berat.,2025-04-25 09:50:40.917+00,2025-04-25 09:50:40.917+00,Pidana Umum
|
||||||
|
CC-0017,Penganiayaan Berat,Kekerasan fisik yang menyebabkan luka berat pada korban.,2025-04-25 09:50:40.923+00,2025-04-25 09:50:40.923+00,Pidana Umum
|
||||||
|
CC-0018,Kelalaian Akibatkan Orang Mati,Kelalaian yang menyebabkan kematian seseorang.,2025-04-25 09:50:40.927+00,2025-04-25 09:50:40.927+00,Pidana Umum
|
||||||
|
CC-0019,Kelalaian Akibatkan Orang Luka,Kelalaian yang menyebabkan seseorang terluka.,2025-04-25 09:50:40.932+00,2025-04-25 09:50:40.932+00,Pidana Umum
|
||||||
|
CC-0020,Pencurian Biasa,Pencurian yang dilakukan tanpa kekerasan atau perencanaan khusus.,2025-04-25 09:50:40.937+00,2025-04-25 09:50:40.937+00,Pidana Umum
|
||||||
|
CC-0021,Curat,Pencurian dengan pemberatan seperti membobol rumah atau bangunan.,2025-04-25 09:50:40.943+00,2025-04-25 09:50:40.943+00,Pidana Umum
|
||||||
|
CC-0022,Curingan,Pencurian ringan terhadap barang-barang bernilai kecil.,2025-04-25 09:50:40.948+00,2025-04-25 09:50:40.948+00,Pidana Umum
|
||||||
|
CC-0023,Curas,Pencurian dengan kekerasan atau ancaman kekerasan.,2025-04-25 09:50:40.953+00,2025-04-25 09:50:40.953+00,Pidana Umum
|
||||||
|
CC-0024,Curanmor,Pencurian kendaraan bermotor.,2025-04-25 09:50:40.958+00,2025-04-25 09:50:40.958+00,Pidana Umum
|
||||||
|
CC-0025,Pengeroyokan,Tindakan kekerasan oleh beberapa orang terhadap satu atau lebih korban.,2025-04-25 09:50:40.963+00,2025-04-25 09:50:40.963+00,Pidana Umum
|
||||||
|
CC-0026,Premanisme,Tindakan intimidasi atau kekerasan oleh kelompok preman.,2025-04-25 09:50:40.968+00,2025-04-25 09:50:40.968+00,Pidana Umum
|
||||||
|
CC-0027,Pemerasan Dan Pengancaman,Memaksa orang lain menyerahkan sesuatu melalui ancaman.,2025-04-25 09:50:40.974+00,2025-04-25 09:50:40.974+00,Pidana Umum
|
||||||
|
CC-0028,Penggelapan,"Penguasaan barang milik orang lain yang dipercayakan, namun tidak dikembalikan.",2025-04-25 09:50:40.979+00,2025-04-25 09:50:40.979+00,Pidana Umum
|
||||||
|
CC-0029,Penipuan,Tindakan menipu untuk mendapatkan keuntungan pribadi.,2025-04-25 09:50:40.984+00,2025-04-25 09:50:40.984+00,Pidana Umum
|
||||||
|
CC-0030,Pengrusakan,Merusak barang milik orang lain secara sengaja.,2025-04-25 09:50:40.989+00,2025-04-25 09:50:40.989+00,Pidana Umum
|
||||||
|
CC-0031,Kenakalan Remaja,Perilaku menyimpang dari norma oleh anak remaja seperti tawuran atau balap liar.,2025-04-25 09:50:40.994+00,2025-04-25 09:50:40.994+00,Pidana Umum
|
||||||
|
CC-0032,Menerima Suap,Menerima imbalan untuk mempengaruhi keputusan atau tindakan.,2025-04-25 09:50:40.999+00,2025-04-25 09:50:40.999+00,Pidana Umum
|
||||||
|
CC-0033,Penadahan,"Membeli, menyimpan, atau menjual barang hasil kejahatan.",2025-04-25 09:50:41.005+00,2025-04-25 09:50:41.005+00,Pidana Umum
|
||||||
|
CC-0034,Pekerjakan Anak,Mempekerjakan anak di bawah umur dalam pekerjaan yang dilarang oleh hukum.,2025-04-25 09:50:41.011+00,2025-04-25 09:50:41.011+00,Pidana Umum
|
||||||
|
CC-0035,Agraria,Sengketa dan kejahatan terkait kepemilikan dan penggunaan lahan.,2025-04-25 09:50:41.016+00,2025-04-25 09:50:41.016+00,Pidana Umum
|
||||||
|
CC-0036,Peradilan Anak,Proses hukum yang melibatkan anak sebagai pelaku tindak pidana.,2025-04-25 09:50:41.02+00,2025-04-25 09:50:41.02+00,Pidana Umum
|
||||||
|
CC-0037,Perlindungan Anak,"Upaya perlindungan anak dari kekerasan, eksploitasi, dan penelantaran.",2025-04-25 09:50:41.026+00,2025-04-25 09:50:41.026+00,Pidana Umum
|
||||||
|
CC-0038,PKDRT,Tindak kekerasan dalam rumah tangga baik fisik maupun psikis.,2025-04-25 09:50:41.03+00,2025-04-25 09:50:41.03+00,Pidana Umum
|
||||||
|
CC-0039,Perlindungan TKI,Perlindungan hukum terhadap Tenaga Kerja Indonesia di luar negeri.,2025-04-25 09:50:41.035+00,2025-04-25 09:50:41.035+00,Pidana Umum
|
||||||
|
CC-0040,Perlindungan Saksi – Korban,Perlindungan bagi saksi atau korban kejahatan dalam proses hukum.,2025-04-25 09:50:41.04+00,2025-04-25 09:50:41.04+00,Pidana Umum
|
||||||
|
CC-0041,PTPPO,"Perdagangan orang, termasuk eksploitasi tenaga kerja dan seksual.",2025-04-25 09:50:41.045+00,2025-04-25 09:50:41.045+00,Pidana Umum
|
||||||
|
CC-0042,Pornografi,"Produksi, distribusi, atau kepemilikan materi pornografi yang melanggar hukum.",2025-04-25 09:50:41.05+00,2025-04-25 09:50:41.05+00,Pidana Umum
|
||||||
|
CC-0043,Sistem Peradilan Anak,Kerangka hukum dan institusi yang menangani kejahatan oleh anak.,2025-04-25 09:50:41.055+00,2025-04-25 09:50:41.055+00,Pidana Umum
|
||||||
|
CC-0044,Penyelenggaraan Pemilu,Kejahatan yang berkaitan dengan pelaksanaan pemilihan umum.,2025-04-25 09:50:41.068+00,2025-04-25 09:50:41.068+00,Pidana Umum
|
||||||
|
CC-0045,Pemerintah Daerah,Tindak pidana yang dilakukan atau melibatkan pejabat pemerintah daerah.,2025-04-25 09:50:41.075+00,2025-04-25 09:50:41.075+00,Pidana Umum
|
||||||
|
CC-0046,Keimigrasian,Kejahatan yang berkaitan dengan dokumen atau proses imigrasi.,2025-04-25 09:50:41.08+00,2025-04-25 09:50:41.08+00,Pidana Umum
|
||||||
|
CC-0047,Ekstradisi,Permintaan penyerahan pelaku kejahatan antar negara.,2025-04-25 09:50:41.088+00,2025-04-25 09:50:41.088+00,Pidana Umum
|
||||||
|
CC-0048,Lahgun Senpi/Handak/Sajam,"Penyalahgunaan senjata api, bahan peledak, atau senjata tajam.",2025-04-25 09:50:41.094+00,2025-04-25 09:50:41.094+00,Pidana Umum
|
||||||
|
CC-0049,Pidum Lainnya,Tindak pidana umum lainnya yang tidak termasuk dalam kategori tertentu.,2025-04-25 09:50:41.098+00,2025-04-25 09:50:41.098+00,Pidana Umum
|
||||||
|
CC-0050,Money Loudering,Pencucian uang hasil kejahatan agar tampak legal.,2025-04-25 09:50:41.104+00,2025-04-25 09:50:41.104+00,Pidana Tertentu
|
||||||
|
CC-0051,Trafficking In Person,Perdagangan manusia untuk eksploitasi tenaga kerja atau seksual.,2025-04-25 09:50:41.108+00,2025-04-25 09:50:41.108+00,Pidana Tertentu
|
||||||
|
CC-0052,Selundup Senpi,Penyelundupan senjata api secara ilegal.,2025-04-25 09:50:41.113+00,2025-04-25 09:50:41.113+00,Pidana Tertentu
|
||||||
|
CC-0053,Trans Ekonomi Crime,Kejahatan ekonomi lintas negara atau lintas batas hukum nasional.,2025-04-25 09:50:41.118+00,2025-04-25 09:50:41.118+00,Pidana Tertentu
|
||||||
|
CC-0054,Illegal Logging,Penebangan hutan secara ilegal tanpa izin resmi.,2025-04-25 09:50:41.125+00,2025-04-25 09:50:41.125+00,Pidana Tertentu
|
||||||
|
CC-0055,Illegal Mining,Penambangan tanpa izin yang melanggar hukum.,2025-04-25 09:50:41.131+00,2025-04-25 09:50:41.131+00,Pidana Tertentu
|
||||||
|
CC-0056,Illegal Fishing,Penangkapan ikan secara ilegal tanpa izin atau merusak lingkungan.,2025-04-25 09:50:41.136+00,2025-04-25 09:50:41.136+00,Pidana Tertentu
|
||||||
|
CC-0057,BBM Illegal,Distribusi bahan bakar minyak tanpa izin atau bersubsidi secara ilegal.,2025-04-25 09:50:41.141+00,2025-04-25 09:50:41.141+00,Pidana Tertentu
|
||||||
|
CC-0058,Niaga Pupuk,Penyalahgunaan distribusi atau niaga pupuk bersubsidi.,2025-04-25 09:50:41.147+00,2025-04-25 09:50:41.147+00,Pidana Tertentu
|
||||||
|
CC-0059,ITE,Kejahatan yang dilakukan melalui sistem elektronik dan internet.,2025-04-25 09:50:41.152+00,2025-04-25 09:50:41.152+00,Pidana Tertentu
|
||||||
|
CC-0060,Satwa,Tindak kejahatan terhadap satwa dilindungi dan perdagangan ilegal hewan.,2025-04-25 09:50:41.157+00,2025-04-25 09:50:41.157+00,Pidana Tertentu
|
||||||
|
CC-0061,Upal,Pemalsuan dan peredaran uang palsu.,2025-04-25 09:50:41.162+00,2025-04-25 09:50:41.162+00,Pidana Tertentu
|
||||||
|
CC-0062,Fidusia,"Kejahatan terkait jaminan fidusia, seperti penggelapan barang fidusia.",2025-04-25 09:50:41.167+00,2025-04-25 09:50:41.167+00,Pidana Tertentu
|
||||||
|
CC-0063,Perlindungan Konsumen,Pelanggaran hak konsumen atau penipuan dalam transaksi perdagangan.,2025-04-25 09:50:41.172+00,2025-04-25 09:50:41.172+00,Pidana Tertentu
|
||||||
|
CC-0064,Pidter Lainnya,Tindak pidana tertentu lainnya yang tidak diklasifikasikan secara spesifik.,2025-04-25 09:50:41.177+00,2025-04-25 09:50:41.177+00,Pidana Tertentu
|
||||||
|
CC-0065,Korupsi,Penyalahgunaan kekuasaan publik untuk keuntungan pribadi.,2025-04-25 09:50:41.183+00,2025-04-25 09:50:41.183+00,Korupsi
|
||||||
|
CC-0066,Konflik Etnis,Pertikaian antar kelompok etnis yang memicu kekerasan atau kerusuhan.,2025-04-25 09:50:41.188+00,2025-04-25 09:50:41.188+00,Sosial Budaya
|
||||||
|
CC-0067,Separatisme,Gerakan pemisahan wilayah dari negara untuk membentuk pemerintahan sendiri.,2025-04-25 09:50:41.193+00,2025-04-25 09:50:41.193+00,Sosial Budaya
|
|
|
@ -0,0 +1,101 @@
|
||||||
|
id,crime_id,crime_category_id,location_id,description,victim_count,status,created_at,updated_at,timestamp
|
||||||
|
CI-3509-2146-2020,CR-3509-0101-2020,CC-0046,c84ce263-ab46-4555-a44d-ec8482091dc9,"Keimigrasian dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:03.866+00,2025-04-25 09:51:03.866+00,2020-02-07 11:47:00+00
|
||||||
|
CI-3509-2147-2020,CR-3509-0101-2020,CC-0047,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan ekstradisi terjadi pada Thu Feb 20 2020 13:35:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:03.872+00,2025-04-25 09:51:03.872+00,2020-02-20 06:35:00+00
|
||||||
|
CI-3509-2148-2020,CR-3509-0101-2020,CC-0026,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian premanisme di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:03.878+00,2025-04-25 09:51:03.878+00,2020-02-04 00:30:00+00
|
||||||
|
CI-3509-2149-2020,CR-3509-0102-2020,CC-0031,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian kenakalan remaja di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:03.899+00,2025-04-25 09:51:03.899+00,2020-03-15 10:37:00+00
|
||||||
|
CI-3509-2150-2020,CR-3509-0103-2020,CC-0053,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian trans ekonomi crime di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:03.919+00,2025-04-25 09:51:03.919+00,2020-04-04 13:49:00+00
|
||||||
|
CI-3509-2151-2020,CR-3509-0104-2020,CC-0046,c84ce263-ab46-4555-a44d-ec8482091dc9,"Insiden keimigrasian terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:03.939+00,2025-04-25 09:51:03.939+00,2020-05-23 14:16:00+00
|
||||||
|
CI-3509-2152-2020,CR-3509-0106-2020,CC-0007,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian pemalsuan materai di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:03.965+00,2025-04-25 09:51:03.965+00,2020-07-02 01:40:00+00
|
||||||
|
CI-3509-2153-2020,CR-3509-0106-2020,CC-0009,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan perzinahan terjadi pada Mon Jul 20 2020 02:39:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:03.969+00,2025-04-25 09:51:03.969+00,2020-07-19 19:39:00+00
|
||||||
|
CI-3509-2154-2020,CR-3509-0106-2020,CC-0024,c84ce263-ab46-4555-a44d-ec8482091dc9,"Curanmor dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,unresolved,2025-04-25 09:51:03.975+00,2025-04-25 09:51:03.975+00,2020-06-30 20:32:00+00
|
||||||
|
CI-3509-2155-2020,CR-3509-0107-2020,CC-0033,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan penadahan terjadi pada Mon Aug 31 2020 17:23:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,unresolved,2025-04-25 09:51:04.001+00,2025-04-25 09:51:04.001+00,2020-08-31 10:23:00+00
|
||||||
|
CI-3509-2156-2020,CR-3509-0108-2020,CC-0035,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan agraria terjadi pada Sun Sep 27 2020 18:07:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.026+00,2025-04-25 09:51:04.026+00,2020-09-27 11:07:00+00
|
||||||
|
CI-3509-2157-2020,CR-3509-0108-2020,CC-0027,c84ce263-ab46-4555-a44d-ec8482091dc9,"Insiden pemerasan dan pengancaman terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.031+00,2025-04-25 09:51:04.031+00,2020-09-15 20:24:00+00
|
||||||
|
CI-3509-2158-2020,CR-3509-0108-2020,CC-0005,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian member suap di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.036+00,2025-04-25 09:51:04.036+00,2020-09-15 15:37:00+00
|
||||||
|
CI-3509-2159-2020,CR-3509-0108-2020,CC-0025,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kasus pengeroyokan Jalan Pahlawan No. 113, Jombang, Jember",0,resolved,2025-04-25 09:51:04.041+00,2025-04-25 09:51:04.041+00,2020-09-27 23:52:00+00
|
||||||
|
CI-3509-2160-2020,CR-3509-0109-2020,CC-0034,c84ce263-ab46-4555-a44d-ec8482091dc9,"Pekerjakan Anak dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,unresolved,2025-04-25 09:51:04.062+00,2025-04-25 09:51:04.062+00,2020-10-19 05:44:00+00
|
||||||
|
CI-3509-2161-2020,CR-3509-0111-2020,CC-0043,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian sistem peradilan anak di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.078+00,2025-04-25 09:51:04.078+00,2020-12-13 08:03:00+00
|
||||||
|
CI-3509-2162-2021,CR-3509-0112-2021,CC-0057,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan bbm illegal terjadi pada Tue Jan 05 2021 06:18:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.093+00,2025-04-25 09:51:04.093+00,2021-01-04 23:18:00+00
|
||||||
|
CI-3509-2163-2021,CR-3509-0112-2021,CC-0039,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian perlindungan tki di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.097+00,2025-04-25 09:51:04.097+00,2021-01-04 12:48:00+00
|
||||||
|
CI-3509-2164-2021,CR-3509-0112-2021,CC-0022,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian curingan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.101+00,2025-04-25 09:51:04.101+00,2021-01-06 09:04:00+00
|
||||||
|
CI-3509-2165-2021,CR-3509-0112-2021,CC-0020,c84ce263-ab46-4555-a44d-ec8482091dc9,"Pencurian Biasa dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.105+00,2025-04-25 09:51:04.105+00,2021-01-01 12:56:00+00
|
||||||
|
CI-3509-2166-2021,CR-3509-0113-2021,CC-0012,c84ce263-ab46-4555-a44d-ec8482091dc9,"Penghinaan dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.121+00,2025-04-25 09:51:04.121+00,2021-02-18 04:07:00+00
|
||||||
|
CI-3509-2167-2021,CR-3509-0113-2021,CC-0004,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian kebakaran / meletus di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.125+00,2025-04-25 09:51:04.125+00,2021-02-07 05:54:00+00
|
||||||
|
CI-3509-2168-2021,CR-3509-0113-2021,CC-0023,c84ce263-ab46-4555-a44d-ec8482091dc9,"Curas dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.129+00,2025-04-25 09:51:04.129+00,2021-02-26 02:19:00+00
|
||||||
|
CI-3509-2169-2021,CR-3509-0114-2021,CC-0015,c84ce263-ab46-4555-a44d-ec8482091dc9,"Insiden pembunuhan terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.145+00,2025-04-25 09:51:04.145+00,2021-03-12 05:55:00+00
|
||||||
|
CI-3509-2170-2021,CR-3509-0114-2021,CC-0040,c84ce263-ab46-4555-a44d-ec8482091dc9,"Perlindungan Saksi – Korban dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.149+00,2025-04-25 09:51:04.149+00,2021-03-04 16:19:00+00
|
||||||
|
CI-3509-2171-2021,CR-3509-0115-2021,CC-0028,c84ce263-ab46-4555-a44d-ec8482091dc9,"Penggelapan dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.164+00,2025-04-25 09:51:04.164+00,2021-04-19 01:58:00+00
|
||||||
|
CI-3509-2172-2021,CR-3509-0115-2021,CC-0051,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian trafficking in person di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.168+00,2025-04-25 09:51:04.168+00,2021-04-26 11:41:00+00
|
||||||
|
CI-3509-2173-2021,CR-3509-0115-2021,CC-0056,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kasus illegal fishing Jalan Pahlawan No. 113, Jombang, Jember",0,resolved,2025-04-25 09:51:04.172+00,2025-04-25 09:51:04.172+00,2021-04-15 13:23:00+00
|
||||||
|
CI-3509-2174-2021,CR-3509-0116-2021,CC-0050,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan money loudering terjadi pada Sun May 09 2021 15:17:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,unresolved,2025-04-25 09:51:04.187+00,2025-04-25 09:51:04.187+00,2021-05-09 08:17:00+00
|
||||||
|
CI-3509-2175-2021,CR-3509-0116-2021,CC-0022,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan curingan terjadi pada Fri May 14 2021 12:01:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,unresolved,2025-04-25 09:51:04.19+00,2025-04-25 09:51:04.19+00,2021-05-14 05:01:00+00
|
||||||
|
CI-3509-2176-2021,CR-3509-0116-2021,CC-0028,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian penggelapan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,unresolved,2025-04-25 09:51:04.194+00,2025-04-25 09:51:04.194+00,2021-05-09 19:46:00+00
|
||||||
|
CI-3509-2177-2021,CR-3509-0117-2021,CC-0028,c84ce263-ab46-4555-a44d-ec8482091dc9,"Insiden penggelapan terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.211+00,2025-04-25 09:51:04.211+00,2021-06-12 22:40:00+00
|
||||||
|
CI-3509-2178-2021,CR-3509-0117-2021,CC-0005,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian member suap di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.218+00,2025-04-25 09:51:04.218+00,2021-06-29 23:20:00+00
|
||||||
|
CI-3509-2179-2021,CR-3509-0117-2021,CC-0046,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan keimigrasian terjadi pada Thu Jun 24 2021 08:35:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.223+00,2025-04-25 09:51:04.223+00,2021-06-24 01:35:00+00
|
||||||
|
CI-3509-2180-2021,CR-3509-0117-2021,CC-0063,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian perlindungan konsumen di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,unresolved,2025-04-25 09:51:04.233+00,2025-04-25 09:51:04.233+00,2021-06-22 07:49:00+00
|
||||||
|
CI-3509-2181-2021,CR-3509-0118-2021,CC-0012,c84ce263-ab46-4555-a44d-ec8482091dc9,"Penghinaan dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.299+00,2025-04-25 09:51:04.299+00,2021-07-16 22:20:00+00
|
||||||
|
CI-3509-2182-2021,CR-3509-0119-2021,CC-0030,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan pengrusakan terjadi pada Sun Aug 01 2021 09:45:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.348+00,2025-04-25 09:51:04.348+00,2021-08-01 02:45:00+00
|
||||||
|
CI-3509-2183-2021,CR-3509-0119-2021,CC-0064,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan pidter lainnya terjadi pada Mon Aug 09 2021 02:10:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.353+00,2025-04-25 09:51:04.353+00,2021-08-08 19:10:00+00
|
||||||
|
CI-3509-2184-2021,CR-3509-0120-2021,CC-0001,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kasus terhadap ketertiban umum Jalan Pahlawan No. 113, Jombang, Jember",0,resolved,2025-04-25 09:51:04.384+00,2025-04-25 09:51:04.384+00,2021-09-15 17:20:00+00
|
||||||
|
CI-3509-2185-2021,CR-3509-0121-2021,CC-0011,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian perjudian di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.411+00,2025-04-25 09:51:04.411+00,2021-10-18 09:41:00+00
|
||||||
|
CI-3509-2186-2021,CR-3509-0121-2021,CC-0038,c84ce263-ab46-4555-a44d-ec8482091dc9,"Insiden pkdrt terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.417+00,2025-04-25 09:51:04.417+00,2021-10-29 09:00:00+00
|
||||||
|
CI-3509-2187-2021,CR-3509-0122-2021,CC-0064,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kasus pidter lainnya Jalan Pahlawan No. 113, Jombang, Jember",0,resolved,2025-04-25 09:51:04.444+00,2025-04-25 09:51:04.444+00,2021-11-27 09:50:00+00
|
||||||
|
CI-3509-2188-2021,CR-3509-0122-2021,CC-0008,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian pemalsuan surat di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.45+00,2025-04-25 09:51:04.45+00,2021-11-10 19:54:00+00
|
||||||
|
CI-3509-2189-2021,CR-3509-0123-2021,CC-0061,c84ce263-ab46-4555-a44d-ec8482091dc9,"Insiden upal terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.472+00,2025-04-25 09:51:04.472+00,2021-12-26 17:38:00+00
|
||||||
|
CI-3509-2190-2021,CR-3509-0123-2021,CC-0063,c84ce263-ab46-4555-a44d-ec8482091dc9,"Perlindungan Konsumen dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.476+00,2025-04-25 09:51:04.476+00,2021-12-22 23:26:00+00
|
||||||
|
CI-3509-2191-2021,CR-3509-0123-2021,CC-0024,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kasus curanmor Jalan Pahlawan No. 113, Jombang, Jember",0,resolved,2025-04-25 09:51:04.481+00,2025-04-25 09:51:04.481+00,2021-12-20 22:35:00+00
|
||||||
|
CI-3509-2192-2021,CR-3509-0123-2021,CC-0033,c84ce263-ab46-4555-a44d-ec8482091dc9,"Penadahan dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.485+00,2025-04-25 09:51:04.485+00,2021-12-04 14:57:00+00
|
||||||
|
CI-3509-2193-2021,CR-3509-0123-2021,CC-0017,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan penganiayaan berat terjadi pada Fri Dec 24 2021 02:10:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.49+00,2025-04-25 09:51:04.49+00,2021-12-23 19:10:00+00
|
||||||
|
CI-3509-2194-2022,CR-3509-0124-2022,CC-0035,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian agraria di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.51+00,2025-04-25 09:51:04.51+00,2022-01-14 19:42:00+00
|
||||||
|
CI-3509-2195-2022,CR-3509-0124-2022,CC-0025,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan pengeroyokan terjadi pada Sat Jan 08 2022 08:33:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.514+00,2025-04-25 09:51:04.514+00,2022-01-08 01:33:00+00
|
||||||
|
CI-3509-2196-2022,CR-3509-0124-2022,CC-0043,c84ce263-ab46-4555-a44d-ec8482091dc9,"Insiden sistem peradilan anak terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,unresolved,2025-04-25 09:51:04.518+00,2025-04-25 09:51:04.518+00,2022-01-10 23:12:00+00
|
||||||
|
CI-3509-2197-2022,CR-3509-0124-2022,CC-0018,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian kelalaian akibatkan orang mati di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,unresolved,2025-04-25 09:51:04.522+00,2025-04-25 09:51:04.522+00,2022-01-16 00:39:00+00
|
||||||
|
CI-3509-2198-2022,CR-3509-0125-2022,CC-0067,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian separatisme di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.544+00,2025-04-25 09:51:04.544+00,2022-02-07 21:04:00+00
|
||||||
|
CI-3509-2199-2022,CR-3509-0125-2022,CC-0058,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kasus niaga pupuk Jalan Pahlawan No. 113, Jombang, Jember",0,resolved,2025-04-25 09:51:04.55+00,2025-04-25 09:51:04.55+00,2022-02-12 13:37:00+00
|
||||||
|
CI-3509-2200-2022,CR-3509-0126-2022,CC-0034,c84ce263-ab46-4555-a44d-ec8482091dc9,"Pekerjakan Anak dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,unresolved,2025-04-25 09:51:04.572+00,2025-04-25 09:51:04.572+00,2022-03-28 13:42:00+00
|
||||||
|
CI-3509-2201-2022,CR-3509-0129-2022,CC-0006,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan sumpah palsu terjadi pada Mon Jun 20 2022 05:25:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.59+00,2025-04-25 09:51:04.59+00,2022-06-19 22:25:00+00
|
||||||
|
CI-3509-2202-2022,CR-3509-0130-2022,CC-0048,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kasus lahgun senpi/handak/sajam Jalan Pahlawan No. 113, Jombang, Jember",0,resolved,2025-04-25 09:51:04.609+00,2025-04-25 09:51:04.609+00,2022-07-27 05:22:00+00
|
||||||
|
CI-3509-2203-2022,CR-3509-0131-2022,CC-0014,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian perbuatan tidak menyenangkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.629+00,2025-04-25 09:51:04.629+00,2022-08-24 17:17:00+00
|
||||||
|
CI-3509-2204-2022,CR-3509-0131-2022,CC-0003,c84ce263-ab46-4555-a44d-ec8482091dc9,"Pembakaran dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.634+00,2025-04-25 09:51:04.634+00,2022-08-09 19:59:00+00
|
||||||
|
CI-3509-2205-2022,CR-3509-0132-2022,CC-0008,c84ce263-ab46-4555-a44d-ec8482091dc9,"Pemalsuan Surat dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.652+00,2025-04-25 09:51:04.652+00,2022-09-24 14:37:00+00
|
||||||
|
CI-3509-2206-2022,CR-3509-0132-2022,CC-0058,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kasus niaga pupuk Jalan Pahlawan No. 113, Jombang, Jember",0,resolved,2025-04-25 09:51:04.659+00,2025-04-25 09:51:04.659+00,2022-09-02 17:50:00+00
|
||||||
|
CI-3509-2207-2022,CR-3509-0132-2022,CC-0006,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan sumpah palsu terjadi pada Fri Sep 23 2022 19:08:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.665+00,2025-04-25 09:51:04.665+00,2022-09-23 12:08:00+00
|
||||||
|
CI-3509-2208-2022,CR-3509-0133-2022,CC-0067,c84ce263-ab46-4555-a44d-ec8482091dc9,"Separatisme dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.684+00,2025-04-25 09:51:04.684+00,2022-10-26 15:39:00+00
|
||||||
|
CI-3509-2209-2022,CR-3509-0133-2022,CC-0066,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan konflik etnis terjadi pada Wed Oct 19 2022 23:26:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.689+00,2025-04-25 09:51:04.689+00,2022-10-19 16:26:00+00
|
||||||
|
CI-3509-2210-2022,CR-3509-0133-2022,CC-0041,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kasus ptppo Jalan Pahlawan No. 113, Jombang, Jember",0,resolved,2025-04-25 09:51:04.694+00,2025-04-25 09:51:04.694+00,2022-10-05 06:21:00+00
|
||||||
|
CI-3509-2211-2022,CR-3509-0133-2022,CC-0047,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan ekstradisi terjadi pada Fri Oct 28 2022 21:17:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.698+00,2025-04-25 09:51:04.698+00,2022-10-28 14:17:00+00
|
||||||
|
CI-3509-2212-2022,CR-3509-0133-2022,CC-0021,c84ce263-ab46-4555-a44d-ec8482091dc9,"Insiden curat terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.702+00,2025-04-25 09:51:04.702+00,2022-10-09 03:41:00+00
|
||||||
|
CI-3509-2213-2022,CR-3509-0135-2022,CC-0034,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian pekerjakan anak di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.724+00,2025-04-25 09:51:04.724+00,2022-12-06 22:25:00+00
|
||||||
|
CI-3509-2214-2022,CR-3509-0135-2022,CC-0057,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian bbm illegal di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.728+00,2025-04-25 09:51:04.728+00,2022-12-30 17:33:00+00
|
||||||
|
CI-3509-2215-2022,CR-3509-0135-2022,CC-0017,c84ce263-ab46-4555-a44d-ec8482091dc9,"Kejadian penganiayaan berat di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.733+00,2025-04-25 09:51:04.733+00,2022-12-27 09:44:00+00
|
||||||
|
CI-3509-2216-2022,CR-3509-0135-2022,CC-0058,c84ce263-ab46-4555-a44d-ec8482091dc9,"Insiden niaga pupuk terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.737+00,2025-04-25 09:51:04.737+00,2022-12-20 13:08:00+00
|
||||||
|
CI-3509-2217-2023,CR-3509-0136-2023,CC-0065,c84ce263-ab46-4555-a44d-ec8482091dc9,"Laporan korupsi terjadi pada Tue Jan 17 2023 02:38:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.76+00,2025-04-25 09:51:04.76+00,2023-01-16 19:38:00+00
|
||||||
|
CI-3509-2218-2023,CR-3509-0137-2023,CC-0046,c84ce263-ab46-4555-a44d-ec8482091dc9,"Insiden keimigrasian terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.778+00,2025-04-25 09:51:04.778+00,2023-02-04 23:29:00+00
|
||||||
|
CI-3509-2219-2023,CR-3509-0138-2023,CC-0018,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Insiden kelalaian akibatkan orang mati terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.797+00,2025-04-25 09:51:04.797+00,2023-03-08 13:08:00+00
|
||||||
|
CI-3509-2220-2023,CR-3509-0139-2023,CC-0024,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kejadian curanmor di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.815+00,2025-04-25 09:51:04.815+00,2023-04-15 02:50:00+00
|
||||||
|
CI-3509-2221-2023,CR-3509-0141-2023,CC-0066,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kasus konflik etnis Jalan Pantai No. 4, Jombang, Jember",0,resolved,2025-04-25 09:51:04.835+00,2025-04-25 09:51:04.835+00,2023-06-15 00:22:00+00
|
||||||
|
CI-3509-2222-2023,CR-3509-0142-2023,CC-0044,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kejadian penyelenggaraan pemilu di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.852+00,2025-04-25 09:51:04.852+00,2023-07-15 16:16:00+00
|
||||||
|
CI-3509-2223-2023,CR-3509-0143-2023,CC-0055,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Insiden illegal mining terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.879+00,2025-04-25 09:51:04.879+00,2023-08-15 17:11:00+00
|
||||||
|
CI-3509-2224-2023,CR-3509-0143-2023,CC-0059,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kejadian ite di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.884+00,2025-04-25 09:51:04.884+00,2023-08-04 19:36:00+00
|
||||||
|
CI-3509-2225-2023,CR-3509-0144-2023,CC-0063,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kasus perlindungan konsumen Jalan Pantai No. 4, Jombang, Jember",0,resolved,2025-04-25 09:51:04.902+00,2025-04-25 09:51:04.902+00,2023-09-30 02:05:00+00
|
||||||
|
CI-3509-2226-2023,CR-3509-0144-2023,CC-0022,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Insiden curingan terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.907+00,2025-04-25 09:51:04.907+00,2023-09-12 13:19:00+00
|
||||||
|
CI-3509-2227-2023,CR-3509-0144-2023,CC-0006,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kasus sumpah palsu Jalan Pantai No. 4, Jombang, Jember",0,resolved,2025-04-25 09:51:04.912+00,2025-04-25 09:51:04.912+00,2023-09-10 01:29:00+00
|
||||||
|
CI-3509-2228-2023,CR-3509-0145-2023,CC-0063,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Laporan perlindungan konsumen terjadi pada Sun Oct 01 2023 23:34:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.933+00,2025-04-25 09:51:04.933+00,2023-10-01 16:34:00+00
|
||||||
|
CI-3509-2229-2023,CR-3509-0145-2023,CC-0020,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Laporan pencurian biasa terjadi pada Mon Oct 23 2023 00:28:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.937+00,2025-04-25 09:51:04.937+00,2023-10-22 17:28:00+00
|
||||||
|
CI-3509-2230-2023,CR-3509-0145-2023,CC-0040,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Insiden perlindungan saksi – korban terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.941+00,2025-04-25 09:51:04.941+00,2023-10-23 21:54:00+00
|
||||||
|
CI-3509-2231-2023,CR-3509-0145-2023,CC-0058,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kasus niaga pupuk Jalan Pantai No. 4, Jombang, Jember",0,resolved,2025-04-25 09:51:04.945+00,2025-04-25 09:51:04.945+00,2023-10-06 20:26:00+00
|
||||||
|
CI-3509-2232-2023,CR-3509-0145-2023,CC-0054,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Insiden illegal logging terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.95+00,2025-04-25 09:51:04.95+00,2023-10-05 05:39:00+00
|
||||||
|
CI-3509-2233-2023,CR-3509-0145-2023,CC-0029,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kasus penipuan Jalan Pantai No. 4, Jombang, Jember",0,resolved,2025-04-25 09:51:04.954+00,2025-04-25 09:51:04.954+00,2023-10-07 02:18:00+00
|
||||||
|
CI-3509-2234-2023,CR-3509-0146-2023,CC-0009,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Laporan perzinahan terjadi pada Wed Nov 08 2023 20:06:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.973+00,2025-04-25 09:51:04.973+00,2023-11-08 13:06:00+00
|
||||||
|
CI-3509-2235-2023,CR-3509-0146-2023,CC-0009,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Insiden perzinahan terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.977+00,2025-04-25 09:51:04.977+00,2023-11-21 16:53:00+00
|
||||||
|
CI-3509-2236-2023,CR-3509-0146-2023,CC-0017,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Laporan penganiayaan berat terjadi pada Tue Nov 21 2023 03:12:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.981+00,2025-04-25 09:51:04.981+00,2023-11-20 20:12:00+00
|
||||||
|
CI-3509-2237-2023,CR-3509-0146-2023,CC-0049,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kejadian pidum lainnya di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.986+00,2025-04-25 09:51:04.986+00,2023-11-17 18:01:00+00
|
||||||
|
CI-3509-2238-2023,CR-3509-0146-2023,CC-0040,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Insiden perlindungan saksi – korban terjadi di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:04.99+00,2025-04-25 09:51:04.99+00,2023-11-10 23:52:00+00
|
||||||
|
CI-3509-2239-2023,CR-3509-0146-2023,CC-0014,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kejadian perbuatan tidak menyenangkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,unresolved,2025-04-25 09:51:04.995+00,2025-04-25 09:51:04.995+00,2023-11-14 17:31:00+00
|
||||||
|
CI-3509-2240-2023,CR-3509-0147-2023,CC-0053,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kejadian trans ekonomi crime di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:05.017+00,2025-04-25 09:51:05.017+00,2023-12-13 14:44:00+00
|
||||||
|
CI-3509-2241-2023,CR-3509-0147-2023,CC-0036,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Laporan peradilan anak terjadi pada Sat Dec 16 2023 11:16:00 GMT+0700 (Western Indonesia Time) di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:05.021+00,2025-04-25 09:51:05.021+00,2023-12-16 04:16:00+00
|
||||||
|
CI-3509-2242-2023,CR-3509-0147-2023,CC-0038,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kejadian pkdrt di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:05.027+00,2025-04-25 09:51:05.027+00,2023-12-09 19:54:00+00
|
||||||
|
CI-3509-2243-2024,CR-3509-0148-2024,CC-0048,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kejadian lahgun senpi/handak/sajam di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:05.049+00,2025-04-25 09:51:05.049+00,2024-01-01 07:51:00+00
|
||||||
|
CI-3509-2244-2024,CR-3509-0149-2024,CC-0004,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Kejadian kebakaran / meletus di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:05.073+00,2025-04-25 09:51:05.073+00,2024-02-15 13:38:00+00
|
||||||
|
CI-3509-2245-2024,CR-3509-0150-2024,CC-0005,9b51cde0-2bbf-4539-9bf2-443e20d3ab91,"Member Suap dilaporkan di daerah Jombang,di sekitar Jombang,di wilayah Jombang,di jalan utama Jombang,di perumahan Jombang,di pasar Jombang,di perbatasan Jombang",0,resolved,2025-04-25 09:51:05.095+00,2025-04-25 09:51:05.095+00,2024-03-21 14:24:00+00
|
|
|
@ -0,0 +1,101 @@
|
||||||
|
id,district_id,created_at,level,method,month,number_of_crime,score,updated_at,year
|
||||||
|
CR-3509-0200-2023,350902,2025-04-25 09:50:50.697+00,low,kmeans,5,3,82,2025-04-25 09:50:50.697+00,2023
|
||||||
|
CR-3509-0201-2023,350902,2025-04-25 09:50:50.703+00,low,kmeans,6,3,82,2025-04-25 09:50:50.703+00,2023
|
||||||
|
CR-3509-0103-2020,350901,2025-04-25 09:50:50.055+00,low,kmeans,4,1,94,2025-04-25 09:50:50.055+00,2020
|
||||||
|
CR-3509-0100-2020,350901,2025-04-25 09:50:50.03+00,low,kmeans,1,0,100,2025-04-25 09:50:50.03+00,2020
|
||||||
|
CR-3509-0105-2020,350901,2025-04-25 09:50:50.071+00,low,kmeans,6,0,100,2025-04-25 09:50:50.071+00,2020
|
||||||
|
CR-3509-0102-2020,350901,2025-04-25 09:50:50.047+00,low,kmeans,3,1,94,2025-04-25 09:50:50.047+00,2020
|
||||||
|
CR-3509-0107-2020,350901,2025-04-25 09:50:50.085+00,low,kmeans,8,1,94,2025-04-25 09:50:50.085+00,2020
|
||||||
|
CR-3509-0108-2020,350901,2025-04-25 09:50:50.091+00,low,kmeans,9,4,75,2025-04-25 09:50:50.091+00,2020
|
||||||
|
CR-3509-0109-2020,350901,2025-04-25 09:50:50.098+00,low,kmeans,10,1,94,2025-04-25 09:50:50.098+00,2020
|
||||||
|
CR-3509-0101-2020,350901,2025-04-25 09:50:50.04+00,low,kmeans,2,3,82,2025-04-25 09:50:50.04+00,2020
|
||||||
|
CR-3509-0111-2020,350901,2025-04-25 09:50:50.111+00,low,kmeans,12,1,94,2025-04-25 09:50:50.111+00,2020
|
||||||
|
CR-3509-0112-2021,350901,2025-04-25 09:50:50.118+00,low,kmeans,1,4,75,2025-04-25 09:50:50.118+00,2021
|
||||||
|
CR-3509-0113-2021,350901,2025-04-25 09:50:50.124+00,low,kmeans,2,3,82,2025-04-25 09:50:50.124+00,2021
|
||||||
|
CR-3509-0106-2020,350901,2025-04-25 09:50:50.078+00,low,kmeans,7,3,82,2025-04-25 09:50:50.078+00,2020
|
||||||
|
CR-3509-0115-2021,350901,2025-04-25 09:50:50.136+00,low,kmeans,4,3,82,2025-04-25 09:50:50.136+00,2021
|
||||||
|
CR-3509-0116-2021,350901,2025-04-25 09:50:50.143+00,low,kmeans,5,3,82,2025-04-25 09:50:50.143+00,2021
|
||||||
|
CR-3509-0117-2021,350901,2025-04-25 09:50:50.151+00,low,kmeans,6,4,75,2025-04-25 09:50:50.151+00,2021
|
||||||
|
CR-3509-0118-2021,350901,2025-04-25 09:50:50.161+00,low,kmeans,7,1,94,2025-04-25 09:50:50.161+00,2021
|
||||||
|
CR-3509-0119-2021,350901,2025-04-25 09:50:50.17+00,low,kmeans,8,2,88,2025-04-25 09:50:50.17+00,2021
|
||||||
|
CR-3509-0120-2021,350901,2025-04-25 09:50:50.178+00,low,kmeans,9,1,94,2025-04-25 09:50:50.178+00,2021
|
||||||
|
CR-3509-0121-2021,350901,2025-04-25 09:50:50.185+00,low,kmeans,10,2,88,2025-04-25 09:50:50.185+00,2021
|
||||||
|
CR-3509-0104-2020,350901,2025-04-25 09:50:50.063+00,low,kmeans,5,1,94,2025-04-25 09:50:50.063+00,2020
|
||||||
|
CR-3509-0123-2021,350901,2025-04-25 09:50:50.199+00,low,kmeans,12,5,69,2025-04-25 09:50:50.199+00,2021
|
||||||
|
CR-3509-0124-2022,350901,2025-04-25 09:50:50.206+00,low,kmeans,1,4,75,2025-04-25 09:50:50.206+00,2022
|
||||||
|
CR-3509-0125-2022,350901,2025-04-25 09:50:50.212+00,low,kmeans,2,2,88,2025-04-25 09:50:50.212+00,2022
|
||||||
|
CR-3509-0126-2022,350901,2025-04-25 09:50:50.219+00,low,kmeans,3,1,94,2025-04-25 09:50:50.219+00,2022
|
||||||
|
CR-3509-0127-2022,350901,2025-04-25 09:50:50.229+00,low,kmeans,4,0,100,2025-04-25 09:50:50.229+00,2022
|
||||||
|
CR-3509-0128-2022,350901,2025-04-25 09:50:50.238+00,low,kmeans,5,0,100,2025-04-25 09:50:50.238+00,2022
|
||||||
|
CR-3509-0114-2021,350901,2025-04-25 09:50:50.13+00,low,kmeans,3,2,88,2025-04-25 09:50:50.13+00,2021
|
||||||
|
CR-3509-0130-2022,350901,2025-04-25 09:50:50.252+00,low,kmeans,7,1,94,2025-04-25 09:50:50.252+00,2022
|
||||||
|
CR-3509-0131-2022,350901,2025-04-25 09:50:50.258+00,low,kmeans,8,2,88,2025-04-25 09:50:50.258+00,2022
|
||||||
|
CR-3509-0132-2022,350901,2025-04-25 09:50:50.266+00,low,kmeans,9,3,82,2025-04-25 09:50:50.266+00,2022
|
||||||
|
CR-3509-0133-2022,350901,2025-04-25 09:50:50.272+00,low,kmeans,10,5,69,2025-04-25 09:50:50.272+00,2022
|
||||||
|
CR-3509-0134-2022,350901,2025-04-25 09:50:50.279+00,low,kmeans,11,0,100,2025-04-25 09:50:50.279+00,2022
|
||||||
|
CR-3509-0135-2022,350901,2025-04-25 09:50:50.286+00,low,kmeans,12,4,75,2025-04-25 09:50:50.286+00,2022
|
||||||
|
CR-3509-0136-2023,350901,2025-04-25 09:50:50.294+00,low,kmeans,1,1,94,2025-04-25 09:50:50.294+00,2023
|
||||||
|
CR-3509-0137-2023,350901,2025-04-25 09:50:50.302+00,low,kmeans,2,1,94,2025-04-25 09:50:50.302+00,2023
|
||||||
|
CR-3509-0138-2023,350901,2025-04-25 09:50:50.31+00,low,kmeans,3,1,94,2025-04-25 09:50:50.31+00,2023
|
||||||
|
CR-3509-0139-2023,350901,2025-04-25 09:50:50.316+00,low,kmeans,4,1,94,2025-04-25 09:50:50.316+00,2023
|
||||||
|
CR-3509-0140-2023,350901,2025-04-25 09:50:50.321+00,low,kmeans,5,0,100,2025-04-25 09:50:50.321+00,2023
|
||||||
|
CR-3509-0141-2023,350901,2025-04-25 09:50:50.327+00,low,kmeans,6,1,94,2025-04-25 09:50:50.327+00,2023
|
||||||
|
CR-3509-0142-2023,350901,2025-04-25 09:50:50.333+00,low,kmeans,7,1,94,2025-04-25 09:50:50.333+00,2023
|
||||||
|
CR-3509-0143-2023,350901,2025-04-25 09:50:50.339+00,low,kmeans,8,2,88,2025-04-25 09:50:50.339+00,2023
|
||||||
|
CR-3509-0144-2023,350901,2025-04-25 09:50:50.345+00,low,kmeans,9,3,82,2025-04-25 09:50:50.345+00,2023
|
||||||
|
CR-3509-0122-2021,350901,2025-04-25 09:50:50.192+00,low,kmeans,11,2,88,2025-04-25 09:50:50.192+00,2021
|
||||||
|
CR-3509-0110-2020,350901,2025-04-25 09:50:50.104+00,low,kmeans,11,0,100,2025-04-25 09:50:50.104+00,2020
|
||||||
|
CR-3509-0147-2023,350901,2025-04-25 09:50:50.365+00,low,kmeans,12,3,82,2025-04-25 09:50:50.365+00,2023
|
||||||
|
CR-3509-0148-2024,350901,2025-04-25 09:50:50.371+00,low,kmeans,1,1,94,2025-04-25 09:50:50.371+00,2024
|
||||||
|
CR-3509-0149-2024,350901,2025-04-25 09:50:50.377+00,low,kmeans,2,1,94,2025-04-25 09:50:50.377+00,2024
|
||||||
|
CR-3509-0150-2024,350901,2025-04-25 09:50:50.383+00,low,kmeans,3,4,75,2025-04-25 09:50:50.383+00,2024
|
||||||
|
CR-3509-0151-2024,350901,2025-04-25 09:50:50.389+00,low,kmeans,4,2,88,2025-04-25 09:50:50.389+00,2024
|
||||||
|
CR-3509-0152-2024,350901,2025-04-25 09:50:50.395+00,low,kmeans,5,2,88,2025-04-25 09:50:50.395+00,2024
|
||||||
|
CR-3509-0153-2024,350901,2025-04-25 09:50:50.402+00,low,kmeans,6,1,94,2025-04-25 09:50:50.402+00,2024
|
||||||
|
CR-3509-0154-2024,350901,2025-04-25 09:50:50.408+00,low,kmeans,7,2,88,2025-04-25 09:50:50.408+00,2024
|
||||||
|
CR-3509-0155-2024,350901,2025-04-25 09:50:50.414+00,low,kmeans,8,3,82,2025-04-25 09:50:50.414+00,2024
|
||||||
|
CR-3509-0156-2024,350901,2025-04-25 09:50:50.42+00,low,kmeans,9,2,88,2025-04-25 09:50:50.42+00,2024
|
||||||
|
CR-3509-0157-2024,350901,2025-04-25 09:50:50.426+00,low,kmeans,10,3,82,2025-04-25 09:50:50.426+00,2024
|
||||||
|
CR-3509-0158-2024,350901,2025-04-25 09:50:50.431+00,low,kmeans,11,0,100,2025-04-25 09:50:50.431+00,2024
|
||||||
|
CR-3509-0159-2024,350901,2025-04-25 09:50:50.438+00,low,kmeans,12,0,100,2025-04-25 09:50:50.438+00,2024
|
||||||
|
CR-3509-0129-2022,350901,2025-04-25 09:50:50.245+00,low,kmeans,6,1,94,2025-04-25 09:50:50.245+00,2022
|
||||||
|
CR-3509-0161-2020,350902,2025-04-25 09:50:50.454+00,low,kmeans,2,1,94,2025-04-25 09:50:50.454+00,2020
|
||||||
|
CR-3509-0162-2020,350902,2025-04-25 09:50:50.462+00,low,kmeans,3,1,94,2025-04-25 09:50:50.462+00,2020
|
||||||
|
CR-3509-0163-2020,350902,2025-04-25 09:50:50.472+00,low,kmeans,4,0,100,2025-04-25 09:50:50.472+00,2020
|
||||||
|
CR-3509-0164-2020,350902,2025-04-25 09:50:50.48+00,low,kmeans,5,0,100,2025-04-25 09:50:50.48+00,2020
|
||||||
|
CR-3509-0165-2020,350902,2025-04-25 09:50:50.485+00,low,kmeans,6,0,100,2025-04-25 09:50:50.485+00,2020
|
||||||
|
CR-3509-0166-2020,350902,2025-04-25 09:50:50.492+00,low,kmeans,7,1,94,2025-04-25 09:50:50.492+00,2020
|
||||||
|
CR-3509-0167-2020,350902,2025-04-25 09:50:50.498+00,low,kmeans,8,2,88,2025-04-25 09:50:50.498+00,2020
|
||||||
|
CR-3509-0168-2020,350902,2025-04-25 09:50:50.503+00,low,kmeans,9,0,100,2025-04-25 09:50:50.503+00,2020
|
||||||
|
CR-3509-0169-2020,350902,2025-04-25 09:50:50.51+00,low,kmeans,10,2,88,2025-04-25 09:50:50.51+00,2020
|
||||||
|
CR-3509-0170-2020,350902,2025-04-25 09:50:50.517+00,low,kmeans,11,0,100,2025-04-25 09:50:50.517+00,2020
|
||||||
|
CR-3509-0171-2020,350902,2025-04-25 09:50:50.523+00,low,kmeans,12,0,100,2025-04-25 09:50:50.523+00,2020
|
||||||
|
CR-3509-0172-2021,350902,2025-04-25 09:50:50.528+00,low,kmeans,1,2,88,2025-04-25 09:50:50.528+00,2021
|
||||||
|
CR-3509-0173-2021,350902,2025-04-25 09:50:50.541+00,low,kmeans,2,1,94,2025-04-25 09:50:50.541+00,2021
|
||||||
|
CR-3509-0174-2021,350902,2025-04-25 09:50:50.547+00,low,kmeans,3,2,88,2025-04-25 09:50:50.547+00,2021
|
||||||
|
CR-3509-0175-2021,350902,2025-04-25 09:50:50.553+00,low,kmeans,4,3,82,2025-04-25 09:50:50.553+00,2021
|
||||||
|
CR-3509-0176-2021,350902,2025-04-25 09:50:50.558+00,low,kmeans,5,1,94,2025-04-25 09:50:50.558+00,2021
|
||||||
|
CR-3509-0177-2021,350902,2025-04-25 09:50:50.564+00,low,kmeans,6,2,88,2025-04-25 09:50:50.564+00,2021
|
||||||
|
CR-3509-0178-2021,350902,2025-04-25 09:50:50.57+00,low,kmeans,7,1,94,2025-04-25 09:50:50.57+00,2021
|
||||||
|
CR-3509-0179-2021,350902,2025-04-25 09:50:50.576+00,low,kmeans,8,3,82,2025-04-25 09:50:50.576+00,2021
|
||||||
|
CR-3509-0180-2021,350902,2025-04-25 09:50:50.582+00,low,kmeans,9,2,88,2025-04-25 09:50:50.582+00,2021
|
||||||
|
CR-3509-0181-2021,350902,2025-04-25 09:50:50.588+00,low,kmeans,10,0,100,2025-04-25 09:50:50.588+00,2021
|
||||||
|
CR-3509-0182-2021,350902,2025-04-25 09:50:50.594+00,low,kmeans,11,1,94,2025-04-25 09:50:50.594+00,2021
|
||||||
|
CR-3509-0183-2021,350902,2025-04-25 09:50:50.6+00,low,kmeans,12,0,100,2025-04-25 09:50:50.6+00,2021
|
||||||
|
CR-3509-0184-2022,350902,2025-04-25 09:50:50.605+00,low,kmeans,1,0,100,2025-04-25 09:50:50.605+00,2022
|
||||||
|
CR-3509-0185-2022,350902,2025-04-25 09:50:50.61+00,low,kmeans,2,3,82,2025-04-25 09:50:50.61+00,2022
|
||||||
|
CR-3509-0186-2022,350902,2025-04-25 09:50:50.616+00,low,kmeans,3,0,100,2025-04-25 09:50:50.616+00,2022
|
||||||
|
CR-3509-0187-2022,350902,2025-04-25 09:50:50.621+00,low,kmeans,4,0,100,2025-04-25 09:50:50.621+00,2022
|
||||||
|
CR-3509-0188-2022,350902,2025-04-25 09:50:50.627+00,low,kmeans,5,3,82,2025-04-25 09:50:50.627+00,2022
|
||||||
|
CR-3509-0189-2022,350902,2025-04-25 09:50:50.633+00,low,kmeans,6,1,94,2025-04-25 09:50:50.633+00,2022
|
||||||
|
CR-3509-0190-2022,350902,2025-04-25 09:50:50.639+00,low,kmeans,7,1,94,2025-04-25 09:50:50.639+00,2022
|
||||||
|
CR-3509-0191-2022,350902,2025-04-25 09:50:50.645+00,low,kmeans,8,0,100,2025-04-25 09:50:50.645+00,2022
|
||||||
|
CR-3509-0192-2022,350902,2025-04-25 09:50:50.652+00,low,kmeans,9,2,88,2025-04-25 09:50:50.652+00,2022
|
||||||
|
CR-3509-0193-2022,350902,2025-04-25 09:50:50.657+00,low,kmeans,10,3,82,2025-04-25 09:50:50.657+00,2022
|
||||||
|
CR-3509-0194-2022,350902,2025-04-25 09:50:50.665+00,low,kmeans,11,3,82,2025-04-25 09:50:50.665+00,2022
|
||||||
|
CR-3509-0195-2022,350902,2025-04-25 09:50:50.671+00,low,kmeans,12,1,94,2025-04-25 09:50:50.671+00,2022
|
||||||
|
CR-3509-0196-2023,350902,2025-04-25 09:50:50.676+00,low,kmeans,1,2,88,2025-04-25 09:50:50.676+00,2023
|
||||||
|
CR-3509-0197-2023,350902,2025-04-25 09:50:50.682+00,low,kmeans,2,2,88,2025-04-25 09:50:50.682+00,2023
|
||||||
|
CR-3509-0198-2023,350902,2025-04-25 09:50:50.687+00,low,kmeans,3,0,100,2025-04-25 09:50:50.687+00,2023
|
||||||
|
CR-3509-0199-2023,350902,2025-04-25 09:50:50.692+00,low,kmeans,4,0,100,2025-04-25 09:50:50.692+00,2023
|
||||||
|
CR-3509-0202-2023,350902,2025-04-25 09:50:50.708+00,low,kmeans,7,1,94,2025-04-25 09:50:50.708+00,2023
|
|
|
@ -0,0 +1,101 @@
|
||||||
|
id,district_id,population,number_of_unemployed,population_density,year,created_at,updated_at
|
||||||
|
1d219cfc-dd58-465a-9f07-5774278f4ee2,350901,50003,19330,899.820046787835,2020,2025-04-25 09:50:49.063+00,2025-04-25 09:50:49.063+00
|
||||||
|
2913b4f2-ebda-4f86-ab12-29c875eb89a3,350901,57045,11882,1026.54309879431,2021,2025-04-25 09:50:49.071+00,2025-04-25 09:50:49.071+00
|
||||||
|
03e043ad-63e2-49da-8c44-7ad74a43fb0b,350901,56728,12175,1020.83858196869,2022,2025-04-25 09:50:49.078+00,2025-04-25 09:50:49.078+00
|
||||||
|
6623267b-0d7f-4800-bb3c-972433926751,350901,56439,12313,1015.63793413712,2023,2025-04-25 09:50:49.086+00,2025-04-25 09:50:49.086+00
|
||||||
|
f597f085-c3c4-43ef-8b23-342047e4023c,350901,56229,13113,1011.85891668166,2024,2025-04-25 09:50:49.094+00,2025-04-25 09:50:49.094+00
|
||||||
|
b096a385-42ce-49a2-b583-9f5b19e3a86e,350902,65173,24947,1067.88464689497,2020,2025-04-25 09:50:49.179+00,2025-04-25 09:50:49.179+00
|
||||||
|
9194a0c4-7ffc-4692-a6c0-455577f3bab1,350902,72353,16835,1185.5317057185,2021,2025-04-25 09:50:49.186+00,2025-04-25 09:50:49.186+00
|
||||||
|
1635c6a4-2680-4b5c-95c5-1bd9ec393928,350902,72247,17382,1183.79485498935,2022,2025-04-25 09:50:49.194+00,2025-04-25 09:50:49.194+00
|
||||||
|
39c67204-cbf6-47c9-ba75-2919c064b9e3,350902,72067,17639,1180.84548582664,2023,2025-04-25 09:50:49.201+00,2025-04-25 09:50:49.201+00
|
||||||
|
8cca6a65-9210-4531-bf46-c4863c180461,350902,71327,18351,1168.72030149107,2024,2025-04-25 09:50:49.208+00,2025-04-25 09:50:49.208+00
|
||||||
|
1ec8b300-e2f5-43d0-bfc5-8a4b629e41c1,350903,99416,43691,628.856980201151,2020,2025-04-25 09:50:49.703+00,2025-04-25 09:50:49.703+00
|
||||||
|
cc980565-1f5d-4c6c-bd8a-86c17afe8baa,350903,117893,29167,745.73344297552,2021,2025-04-25 09:50:49.712+00,2025-04-25 09:50:49.712+00
|
||||||
|
e89058ce-f0e6-4a9a-8a9c-32bee9875e72,350903,118635,29955,750.426971977987,2022,2025-04-25 09:50:49.719+00,2025-04-25 09:50:49.719+00
|
||||||
|
d85bace4-8621-409c-9947-89cb3818f2b7,350903,114774,30422,726.004174837118,2023,2025-04-25 09:50:49.725+00,2025-04-25 09:50:49.725+00
|
||||||
|
3b0eb17a-38ff-4973-a911-e3346ab49ce8,350903,115692,32314,731.810993737744,2024,2025-04-25 09:50:49.732+00,2025-04-25 09:50:49.732+00
|
||||||
|
50aa45dd-ed16-4694-940d-0784ea7eaae2,350904,68212,26753,731.339122976305,2020,2025-04-25 09:50:48.927+00,2025-04-25 09:50:48.927+00
|
||||||
|
ff038c80-8084-4926-a78e-5d9fdbe02ef0,350904,90208,21458,967.170580036453,2021,2025-04-25 09:50:48.934+00,2025-04-25 09:50:48.934+00
|
||||||
|
fef3c36e-4c43-457a-81e5-159447e93b38,350904,89746,21998,962.217218827061,2022,2025-04-25 09:50:48.942+00,2025-04-25 09:50:48.942+00
|
||||||
|
8c32a7da-d4a0-4a8a-a01b-7f6a79552f79,350904,88481,22308,948.654444087059,2023,2025-04-25 09:50:48.95+00,2025-04-25 09:50:48.95+00
|
||||||
|
fd055d66-d1e7-4f10-a4ad-085052f0390f,350904,89412,2354,958.636217433258,2024,2025-04-25 09:50:48.958+00,2025-04-25 09:50:48.958+00
|
||||||
|
d5685568-6219-43a9-b990-c7f490656d25,350905,73055,26753,1013.24549237171,2020,2025-04-25 09:50:49.869+00,2025-04-25 09:50:49.869+00
|
||||||
|
d58a9a94-8cbf-4ffa-ab19-1296eb056b66,350905,8029,19566,111.359223300971,2021,2025-04-25 09:50:49.876+00,2025-04-25 09:50:49.876+00
|
||||||
|
b053bcd9-bf6c-4c5b-8589-f986bd17d8af,350905,81485,20130,1130.16643550624,2022,2025-04-25 09:50:49.883+00,2025-04-25 09:50:49.883+00
|
||||||
|
bff98f86-1f4a-4ce3-baae-7dfc129680ee,350905,79769,20308,1106.36615811373,2023,2025-04-25 09:50:49.892+00,2025-04-25 09:50:49.892+00
|
||||||
|
e38eebb4-eeb2-49cf-9e57-84fbddf58a26,350905,79769,20922,1106.36615811373,2024,2025-04-25 09:50:49.9+00,2025-04-25 09:50:49.9+00
|
||||||
|
8b22ec9b-09da-41be-a7d3-82af7a76406c,350906,86591,33057,433.084925477643,2020,2025-04-25 09:50:49.804+00,2025-04-25 09:50:49.804+00
|
||||||
|
13833589-bd23-4cf7-a2d4-0280f71d84b5,350906,95089,24369,475.587676302891,2021,2025-04-25 09:50:49.811+00,2025-04-25 09:50:49.811+00
|
||||||
|
9ac422be-1e5f-4c7d-94db-2d3023a5daa9,350906,93256,24865,466.419925977793,2022,2025-04-25 09:50:49.818+00,2025-04-25 09:50:49.818+00
|
||||||
|
df895709-8d2f-405e-abee-70b44b13603c,350906,93275,25114,466.514954486346,2023,2025-04-25 09:50:49.825+00,2025-04-25 09:50:49.825+00
|
||||||
|
834d09c5-ffad-4866-bfe1-f04882650dd0,350906,93921,26572,469.745923777133,2024,2025-04-25 09:50:49.831+00,2025-04-25 09:50:49.831+00
|
||||||
|
cd3af39f-5d12-4783-9ea7-cb6b03c5ef00,350907,43475,18956,914.108494533221,2020,2025-04-25 09:50:49.535+00,2025-04-25 09:50:49.535+00
|
||||||
|
47e5d005-b8dd-4ff6-8aa2-c8f8a1a8893e,350907,50440,13464,1060.5550883095,2021,2025-04-25 09:50:49.543+00,2025-04-25 09:50:49.543+00
|
||||||
|
a51496c5-8c77-46ce-a362-daeecaf96a3f,350907,6118,13790,128.637510513036,2022,2025-04-25 09:50:49.551+00,2025-04-25 09:50:49.551+00
|
||||||
|
87947f33-0f9f-4241-980f-62c07b6978fc,350907,50114,13901,1053.70058873002,2023,2025-04-25 09:50:49.582+00,2025-04-25 09:50:49.582+00
|
||||||
|
f4271000-0e59-4e4a-958a-2446661f2a6c,350907,50049,14605,1052.3338940286,2024,2025-04-25 09:50:49.59+00,2025-04-25 09:50:49.59+00
|
||||||
|
ad699af1-6a8b-44b9-abf4-d9ef0060b905,350908,114506,26753,715.394227164813,2020,2025-04-25 09:50:49.457+00,2025-04-25 09:50:49.457+00
|
||||||
|
93cc090f-ebb9-4ccc-9680-ac42f21d1e58,350908,123763,29383,773.228789204048,2021,2025-04-25 09:50:49.465+00,2025-04-25 09:50:49.465+00
|
||||||
|
151f5d1b-c819-4600-9e84-4f4ddaf60258,350908,125672,29779,785.155566662502,2022,2025-04-25 09:50:49.472+00,2025-04-25 09:50:49.472+00
|
||||||
|
0398725a-0df8-4592-a031-532da1043e6e,350908,124692,29434,779.032862676496,2023,2025-04-25 09:50:49.48+00,2025-04-25 09:50:49.48+00
|
||||||
|
fe65c181-1f63-4f6e-b555-f9ca7d38e3f1,350908,125496,31256,784.055979007872,2024,2025-04-25 09:50:49.487+00,2025-04-25 09:50:49.487+00
|
||||||
|
f0e23da2-9b7a-46b8-9b2b-74c6a4a224af,350909,113905,48666,714.003635679809,2020,2025-04-25 09:50:48.875+00,2025-04-25 09:50:48.875+00
|
||||||
|
20019ecd-8fd2-4dd1-a27c-7d0a74f4e1d7,350909,126389,30849,792.258509371278,2021,2025-04-25 09:50:48.884+00,2025-04-25 09:50:48.884+00
|
||||||
|
99ba83ea-54ad-4eb9-af24-95d5488b180a,350909,126443,31669,792.597003698364,2022,2025-04-25 09:50:48.891+00,2025-04-25 09:50:48.891+00
|
||||||
|
e05df5f0-9b69-4f0f-8d80-1f64af51eff7,350909,12633,32253,79.188867297687,2023,2025-04-25 09:50:48.899+00,2025-04-25 09:50:48.899+00
|
||||||
|
2db783bf-8a26-49a8-bc8e-9a2550a254cd,350909,127888,34202,801.654861154642,2024,2025-04-25 09:50:48.918+00,2025-04-25 09:50:48.918+00
|
||||||
|
33ad15c4-9189-4653-9215-2fe9195c87ed,350910,77005,33387,1540.1,2020,2025-04-25 09:50:48.83+00,2025-04-25 09:50:48.83+00
|
||||||
|
131bc9b7-d3a1-4c73-8c8c-07ce112e3d28,350910,83327,20818,1666.54,2021,2025-04-25 09:50:48.839+00,2025-04-25 09:50:48.839+00
|
||||||
|
495a9b5f-eda0-4c47-98a8-650704dc0461,350910,87185,21530,1743.7,2022,2025-04-25 09:50:48.848+00,2025-04-25 09:50:48.848+00
|
||||||
|
43b1d345-dbd0-4c4f-9c04-a6c2503a5bad,350910,83712,21854,1674.24,2023,2025-04-25 09:50:48.857+00,2025-04-25 09:50:48.857+00
|
||||||
|
49287203-63a5-472b-b561-ecda5f9353f8,350910,8424,23429,168.48,2024,2025-04-25 09:50:48.866+00,2025-04-25 09:50:48.866+00
|
||||||
|
bc132da9-e6af-41f7-b4d2-bb8f76f58c92,350911,114695,58087,890.904147894982,2020,2025-04-25 09:50:49.906+00,2025-04-25 09:50:49.906+00
|
||||||
|
7ef63192-02e8-4480-8a7a-ca2dc6930024,350911,126564,28679,983.097716327482,2021,2025-04-25 09:50:49.912+00,2025-04-25 09:50:49.912+00
|
||||||
|
c053c83e-101b-48bd-8787-75c4425c0169,350911,124833,29761,969.652011806742,2022,2025-04-25 09:50:49.919+00,2025-04-25 09:50:49.919+00
|
||||||
|
e7e32f57-0e84-457a-90d2-8929af0bf9fc,350911,88481,30382,687.284449277614,2023,2025-04-25 09:50:49.927+00,2025-04-25 09:50:49.927+00
|
||||||
|
ba27f1f6-a7ab-4d1b-818b-d4f8ba749168,350911,128426,32441,997.560975609756,2024,2025-04-25 09:50:49.934+00,2025-04-25 09:50:49.934+00
|
||||||
|
368beb1a-c8f9-4285-9f29-9d006d0b271a,350912,110417,41217,945.6748886605,2020,2025-04-25 09:50:48.75+00,2025-04-25 09:50:48.75+00
|
||||||
|
79d477db-5de0-4ef4-9fad-00278ae61946,350912,118403,27291,1014.07159986297,2021,2025-04-25 09:50:48.758+00,2025-04-25 09:50:48.758+00
|
||||||
|
eeaddc10-dfc3-4117-9fb1-4d4c4798a644,350912,120188,28089,1029.35936964714,2022,2025-04-25 09:50:48.767+00,2025-04-25 09:50:48.767+00
|
||||||
|
e138cfb6-306e-4fa3-a096-5a428cef1a29,350912,120114,28381,1028.72559095581,2023,2025-04-25 09:50:48.775+00,2025-04-25 09:50:48.775+00
|
||||||
|
c59dca5b-f72f-4627-9ea9-a0cf4258a48b,350912,12066,30116,103.340184994861,2024,2025-04-25 09:50:48.783+00,2025-04-25 09:50:48.783+00
|
||||||
|
a5d0f1ba-e447-4db9-870e-cf30ee492048,350913,79931,32079,1469.04980702077,2020,2025-04-25 09:50:49.494+00,2025-04-25 09:50:49.494+00
|
||||||
|
189a668e-1771-4984-bf96-fbdfa0b96b88,350913,86834,21902,1595.91986767138,2021,2025-04-25 09:50:49.502+00,2025-04-25 09:50:49.502+00
|
||||||
|
f5701eab-855d-4975-9adc-cc347fa35b42,350913,85594,22662,1573.12993934938,2022,2025-04-25 09:50:49.51+00,2025-04-25 09:50:49.51+00
|
||||||
|
c3e0403f-b67b-4faa-8701-63856e7f0325,350913,88231,23058,1621.59529498254,2023,2025-04-25 09:50:49.518+00,2025-04-25 09:50:49.518+00
|
||||||
|
476d5617-005a-4df7-8ab1-e70ab3a36544,350913,88426,24466,1625.17919500092,2024,2025-04-25 09:50:49.526+00,2025-04-25 09:50:49.526+00
|
||||||
|
8db760d8-85f1-489a-b1e9-2200f3d3b619,350914,62149,23182,341.816081839182,2020,2025-04-25 09:50:49.336+00,2025-04-25 09:50:49.336+00
|
||||||
|
232aea5a-bc47-4d63-a216-9a3e03c8e701,350914,66276,17639,364.514354856452,2021,2025-04-25 09:50:49.342+00,2025-04-25 09:50:49.342+00
|
||||||
|
45a9c816-7160-473f-8e3a-85f51af1d753,350914,65979,18176,362.880871191288,2022,2025-04-25 09:50:49.349+00,2025-04-25 09:50:49.349+00
|
||||||
|
5001c148-b882-4b0c-bf23-79cd9840f91c,350914,66894,18493,367.913320866791,2023,2025-04-25 09:50:49.355+00,2025-04-25 09:50:49.355+00
|
||||||
|
abaffed3-721d-426b-899c-2a070bbbc71a,350914,66933,19529,368.127818721813,2024,2025-04-25 09:50:49.36+00,2025-04-25 09:50:49.36+00
|
||||||
|
88d4a3a3-8c7e-4714-9f37-172bdd5807da,350915,37950,14170,834.799824021118,2020,2025-04-25 09:50:49.632+00,2025-04-25 09:50:49.632+00
|
||||||
|
a216a978-f84f-425b-87a6-4cb489a26e51,350915,41161,10324,905.43334799824,2021,2025-04-25 09:50:49.639+00,2025-04-25 09:50:49.639+00
|
||||||
|
1db84dc8-e3bd-4d1b-8564-10636fa9bdda,350915,41903,10671,921.755389353278,2022,2025-04-25 09:50:49.646+00,2025-04-25 09:50:49.646+00
|
||||||
|
2183f50b-ff34-4de5-b2f3-fd577e2c78c8,350915,41879,10810,921.227452705675,2023,2025-04-25 09:50:49.654+00,2025-04-25 09:50:49.654+00
|
||||||
|
0290bd74-b851-48bc-9be1-6be2380aa302,350915,42416,11728,933.040035195776,2024,2025-04-25 09:50:49.663+00,2025-04-25 09:50:49.663+00
|
||||||
|
3c15bd46-8e7e-47b8-a5da-c96ba93d5efe,350916,81318,33323,1450.03566333809,2020,2025-04-25 09:50:49.017+00,2025-04-25 09:50:49.017+00
|
||||||
|
75f7857e-3265-4a36-a614-481fdc98f3b4,350916,89726,21541,1599.96433666191,2021,2025-04-25 09:50:49.026+00,2025-04-25 09:50:49.026+00
|
||||||
|
5d729596-1cab-429c-a56c-3b64a4f6732b,350916,90054,21860,1605.81312410842,2022,2025-04-25 09:50:49.033+00,2025-04-25 09:50:49.033+00
|
||||||
|
052aac88-2de1-4ebf-a5cc-3f3e34cae4a0,350916,90493,22033,1613.64122681883,2023,2025-04-25 09:50:49.039+00,2025-04-25 09:50:49.039+00
|
||||||
|
59f82ed8-3bde-4fd8-8798-a5c08c169b59,350916,91175,23458,1625.80242510699,2024,2025-04-25 09:50:49.054+00,2025-04-25 09:50:49.054+00
|
||||||
|
fa832124-0a98-4ffc-84fd-9a2d424a6806,350917,78179,27417,1301.03178565485,2020,2025-04-25 09:50:48.712+00,2025-04-25 09:50:48.712+00
|
||||||
|
3f28454a-64d4-4042-87d2-e3669c22d486,350917,83942,22040,1396.93792644367,2021,2025-04-25 09:50:48.72+00,2025-04-25 09:50:48.72+00
|
||||||
|
ade06f6c-4965-41ba-8359-18b107344158,350917,82046,22831,1365.38525545016,2022,2025-04-25 09:50:48.727+00,2025-04-25 09:50:48.727+00
|
||||||
|
90c86aba-7ad8-4b81-a145-2239fbd97111,350917,84819,19559,1411.53270094858,2023,2025-04-25 09:50:48.735+00,2025-04-25 09:50:48.735+00
|
||||||
|
8d094a89-3311-48c6-b88c-9332e750b555,350917,85662,24488,1425.56165751373,2024,2025-04-25 09:50:48.742+00,2025-04-25 09:50:48.742+00
|
||||||
|
b296a76a-2828-4ecf-a2a8-1d93ce0df582,350918,70663,25251,131.610512003874,2020,2025-04-25 09:50:49.837+00,2025-04-25 09:50:49.837+00
|
||||||
|
32784e12-56ca-48b8-9672-69e095f4dcfb,350918,78926,20200,147.000428377195,2021,2025-04-25 09:50:49.843+00,2025-04-25 09:50:49.843+00
|
||||||
|
5ac118dc-6371-435a-bfb9-212127909f72,350918,79765,20794,148.563073885754,2022,2025-04-25 09:50:49.849+00,2025-04-25 09:50:49.849+00
|
||||||
|
b9df7376-7ef9-4095-9fe7-4f27afe95e9d,350918,80936,12956,150.744072563372,2023,2025-04-25 09:50:49.856+00,2025-04-25 09:50:49.856+00
|
||||||
|
872870d5-ad95-4c22-960c-ed1afa2a3833,350918,81515,22144,151.822465590136,2024,2025-04-25 09:50:49.863+00,2025-04-25 09:50:49.863+00
|
||||||
|
1a9f782f-038d-4a0a-a628-1a972c8559d1,350919,117516,46284,4588.67629832097,2020,2025-04-25 09:50:49.139+00,2025-04-25 09:50:49.139+00
|
||||||
|
1c8d11dd-7a17-47c5-84e3-e3b410032fe6,350919,124669,34628,4867.98125732136,2021,2025-04-25 09:50:49.147+00,2025-04-25 09:50:49.147+00
|
||||||
|
86b54e32-7686-4a59-9d1f-b92498f82baa,350919,118062,35850,4609.99609527528,2022,2025-04-25 09:50:49.156+00,2025-04-25 09:50:49.156+00
|
||||||
|
6179d58a-8cea-40b8-8e2a-f4f6c5e7aac0,350919,126473,36312,4938.42249121437,2023,2025-04-25 09:50:49.164+00,2025-04-25 09:50:49.164+00
|
||||||
|
f7e10e04-1674-4e40-bd48-e9a2bdf8d7b8,350919,127156,38003,4965.09176103085,2024,2025-04-25 09:50:49.172+00,2025-04-25 09:50:49.172+00
|
||||||
|
7e421710-3ff8-4305-a3c2-8493ebeb504e,350920,94471,39097,2526.63813853972,2020,2025-04-25 09:50:49.38+00,2025-04-25 09:50:49.38+00
|
||||||
|
aed74399-a16a-4598-8e89-9ff5b06ba08f,350920,101831,28039,2723.48221449585,2021,2025-04-25 09:50:49.399+00,2025-04-25 09:50:49.399+00
|
||||||
|
147ca626-1ded-4282-a5eb-cba0437603f0,350920,102173,28949,2732.62904519925,2022,2025-04-25 09:50:49.418+00,2025-04-25 09:50:49.418+00
|
||||||
|
31ee8bc1-5118-4e97-a85d-ab686beaea48,350920,102388,29341,2738.37924578764,2023,2025-04-25 09:50:49.436+00,2025-04-25 09:50:49.436+00
|
||||||
|
88947736-f5c7-450d-9ca4-d3b878f7600e,350920,103048,30648,2756.03102433806,2024,2025-04-25 09:50:49.446+00,2025-04-25 09:50:49.446+00
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
id,city_id,name,created_at,updated_at
|
||||||
|
350901,3509,Jombang,2025-04-25 09:50:43.937+00,2025-04-25 09:50:43.937+00
|
||||||
|
350902,3509,Kencong,2025-04-25 09:50:44.414+00,2025-04-25 09:50:44.414+00
|
||||||
|
350903,3509,Sumberbaru,2025-04-25 09:50:44.55+00,2025-04-25 09:50:44.55+00
|
||||||
|
350904,3509,Gumukmas,2025-04-25 09:50:44.053+00,2025-04-25 09:50:44.053+00
|
||||||
|
350905,3509,Umbulsari,2025-04-25 09:50:44.177+00,2025-04-25 09:50:44.177+00
|
||||||
|
350906,3509,Tanggul,2025-04-25 09:50:43.629+00,2025-04-25 09:50:43.629+00
|
||||||
|
350907,3509,Semboro,2025-04-25 09:50:43.778+00,2025-04-25 09:50:43.778+00
|
||||||
|
350908,3509,Puger,2025-04-25 09:50:42.993+00,2025-04-25 09:50:42.993+00
|
||||||
|
350909,3509,Bangsalsari,2025-04-25 09:50:43.425+00,2025-04-25 09:50:43.425+00
|
||||||
|
350910,3509,Balung,2025-04-25 09:50:45.931+00,2025-04-25 09:50:45.931+00
|
||||||
|
350911,3509,Wuluhan,2025-04-25 09:50:45.538+00,2025-04-25 09:50:45.538+00
|
||||||
|
350912,3509,Ambulu,2025-04-25 09:50:45.768+00,2025-04-25 09:50:45.768+00
|
||||||
|
350913,3509,Rambipuji,2025-04-25 09:50:46.345+00,2025-04-25 09:50:46.345+00
|
||||||
|
350914,3509,Panti,2025-04-25 09:50:46.504+00,2025-04-25 09:50:46.504+00
|
||||||
|
350915,3509,Sukorambi,2025-04-25 09:50:46.049+00,2025-04-25 09:50:46.049+00
|
||||||
|
350916,3509,Jenggawah,2025-04-25 09:50:46.221+00,2025-04-25 09:50:46.221+00
|
||||||
|
350917,3509,Ajung,2025-04-25 09:50:44.858+00,2025-04-25 09:50:44.858+00
|
||||||
|
350918,3509,Tempurejo,2025-04-25 09:50:44.981+00,2025-04-25 09:50:44.981+00
|
||||||
|
350919,3509,Kaliwates,2025-04-25 09:50:44.718+00,2025-04-25 09:50:44.718+00
|
||||||
|
350920,3509,Patrang,2025-04-25 09:50:47.247+00,2025-04-25 09:50:47.247+00
|
||||||
|
350921,3509,Sumbersari,2025-04-25 09:50:47.485+00,2025-04-25 09:50:47.485+00
|
||||||
|
350922,3509,Arjasa,2025-04-25 09:50:46.996+00,2025-04-25 09:50:46.996+00
|
||||||
|
350923,3509,Mumbulsari,2025-04-25 09:50:47.11+00,2025-04-25 09:50:47.11+00
|
||||||
|
350924,3509,Pakusari,2025-04-25 09:50:48.006+00,2025-04-25 09:50:48.006+00
|
||||||
|
350925,3509,Jelbuk,2025-04-25 09:50:48.142+00,2025-04-25 09:50:48.142+00
|
||||||
|
350926,3509,Mayang,2025-04-25 09:50:47.611+00,2025-04-25 09:50:47.611+00
|
||||||
|
350927,3509,Kalisat,2025-04-25 09:50:47.868+00,2025-04-25 09:50:47.868+00
|
||||||
|
350928,3509,Ledokombo,2025-04-25 09:50:46.659+00,2025-04-25 09:50:46.659+00
|
||||||
|
350929,3509,Sukowono,2025-04-25 09:50:46.811+00,2025-04-25 09:50:46.811+00
|
||||||
|
350930,3509,Silo,2025-04-25 09:50:41.814+00,2025-04-25 09:50:41.814+00
|
||||||
|
350931,3509,Sumberjambe,2025-04-25 09:50:42.638+00,2025-04-25 09:50:42.638+00
|
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,101 @@
|
||||||
|
id,district_id,event_id,address,type,latitude,longitude,land_area,polygon,geometry,created_at,updated_at,location
|
||||||
|
003eb24f-c5a4-4786-b9c4-674933d8dcd1,350923,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Cendrawasih No. 90, Mumbulsari, Jember",crime,-8.24623334542963,113.727043306854,,,,2025-04-25 09:51:39.883496+00,2025-04-25 09:51:39.883496+00,0101000020E6100000C16DA6E0876E5C40229C0B4C127E20C0
|
||||||
|
00594c68-9f08-4fb5-b30a-df66366da315,350902,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Pantai No. 31, Kencong, Jember",crime,-8.30468850701728,113.350942739454,,,,2025-04-25 09:51:05.808345+00,2025-04-25 09:51:05.808345+00,0101000020E6100000652E89D875565C406A36CA21009C20C0
|
||||||
|
00652814-27fa-4d60-b20a-44e8a3445b96,350906,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Merdeka No. 69, Tanggul, Jember",crime,-8.07855642812924,113.482448342254,,,,2025-04-25 09:51:12.448753+00,2025-04-25 09:51:12.448753+00,0101000020E610000066FF026FE05E5C404F69538C382820C0
|
||||||
|
00746bc5-2543-4409-8a69-7e33dcab9190,350919,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Pantai No. 124, Kaliwates, Jember",crime,-8.17454087560611,113.68818015864,,,,2025-04-25 09:51:33.647352+00,2025-04-25 09:51:33.647352+00,0101000020E61000004BC7CA240B6C5C404016F16B5D5920C0
|
||||||
|
0076b4ae-9c76-4971-b42b-14ac2d16c124,350913,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Pahlawan No. 68, Rambipuji, Jember",crime,-8.23305936146641,113.597476404575,,,,2025-04-25 09:51:23.315419+00,2025-04-25 09:51:23.315419+00,0101000020E61000000F72AC0D3D665C40BC0C7F8E537720C0
|
||||||
|
00ed211f-569a-4b4c-aecf-5fe3acaabbe0,350928,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Srikandi No. 138, Ledokombo, Jember",crime,-8.13524454697441,113.907378548984,,,,2025-04-25 09:51:47.079893+00,2025-04-25 09:51:47.079893+00,0101000020E6100000873E7A7D127A5C40526FF4C53E4520C0
|
||||||
|
0102b298-4564-4013-9461-b872fc570426,350912,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Cendrawasih No. 146, Ambulu, Jember",crime,-8.40313882474277,113.579114250048,,,,2025-04-25 09:51:22.773255+00,2025-04-25 09:51:22.773255+00,0101000020E61000009C26373510655C404309483668CE20C0
|
||||||
|
0104dcde-9deb-4ace-947d-d90e94f6b0ce,350911,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Cendrawasih No. 93, Wuluhan, Jember",crime,-8.38957627556696,113.531395654569,,,,2025-04-25 09:51:19.565472+00,2025-04-25 09:51:19.565472+00,0101000020E61000002F67EB6202625C4016B7A58A76C720C0
|
||||||
|
011093fa-fec2-4f79-a703-4af3fe97e324,350904,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Abdurrahman Saleh No. 82, Gumukmas, Jember",crime,-8.3539597141622,113.40118966592,,,,2025-04-25 09:51:08.78558+00,2025-04-25 09:51:08.78558+00,0101000020E6100000A6A76B17AD595C4038DB28353AB520C0
|
||||||
|
01273256-c742-4f3b-95c9-8a8ca244d8d2,350923,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Abdurrahman Saleh No. 36, Mumbulsari, Jember",crime,-8.26414607129812,113.733350823105,,,,2025-04-25 09:51:39.061973+00,2025-04-25 09:51:39.061973+00,0101000020E6100000C76E4A38EF6E5C40452F63273E8720C0
|
||||||
|
0135882c-fd9c-4984-ae90-0a83c8d28ab5,350905,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Taman Siswa No. 188, Umbulsari, Jember",crime,-8.25181887640499,113.444060318345,,,,2025-04-25 09:51:10.434467+00,2025-04-25 09:51:10.434467+00,0101000020E61000008B2FF87B6B5C5C408F595D67EE8020C0
|
||||||
|
01518157-8131-4342-b591-dc68edea6e26,350918,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Raya Sumberbaru No. 13, Tempurejo, Jember",crime,-8.4978282340182,113.74221357053,,,,2025-04-25 09:51:31.660645+00,2025-04-25 09:51:31.660645+00,0101000020E6100000B904596D806F5C406A44A057E3FE20C0
|
||||||
|
01621b30-cdcf-494d-a52a-60e66dd8801e,350922,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Abdurrahman Saleh No. 128, Arjasa, Jember",crime,-8.09410673930554,113.726747579181,,,,2025-04-25 09:51:38.507932+00,2025-04-25 09:51:38.507932+00,0101000020E6100000ED414708836E5C400F4D2FC22E3020C0
|
||||||
|
01810cd2-2090-4c20-b0ea-674d6e8ba5ae,350924,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Taman Siswa No. 41, Pakusari, Jember",crime,-8.1571057187003,113.761665831728,,,,2025-04-25 09:51:41.213351+00,2025-04-25 09:51:41.213351+00,0101000020E61000002B700B22BF705C402DAA2729705020C0
|
||||||
|
019e492d-f31f-4ff0-88d9-cab91bcf98b7,350916,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Merdeka No. 33, Jenggawah, Jember",crime,-8.28431574822244,113.627388232724,,,,2025-04-25 09:51:29.442481+00,2025-04-25 09:51:29.442481+00,0101000020E61000007B5CF92027685C40D0B470D5919120C0
|
||||||
|
01bd9c61-510e-4384-acbf-bc7af255b4b6,350924,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Abdurrahman Saleh No. 197, Pakusari, Jember",crime,-8.13681277820575,113.772096911953,,,,2025-04-25 09:51:41.469041+00,2025-04-25 09:51:41.469041+00,0101000020E6100000878B2A096A715C401E2310530C4620C0
|
||||||
|
01c66c16-d6d0-4c7c-8da4-dfcd6eec3ad5,350903,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Merdeka No. 68, Sumberbaru, Jember",crime,-8.07507118591498,113.413715686883,,,,2025-04-25 09:51:07.347367+00,2025-04-25 09:51:07.347367+00,0101000020E610000060405C517A5A5C40EBC000BB6F2620C0
|
||||||
|
02139ce8-4fe9-494e-8e35-802b55c8e2ff,350927,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Pahlawan No. 55, Kalisat, Jember",crime,-8.11145045334096,113.813307353696,,,,2025-04-25 09:51:44.089923+00,2025-04-25 09:51:44.089923+00,0101000020E61000002F6E493A0D745C409572A808103920C0
|
||||||
|
02243967-f4a9-4f79-844a-cca42af3c798,350922,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Taman Siswa No. 163, Arjasa, Jember",crime,-8.09576543252214,113.72881700927,,,,2025-04-25 09:51:38.542021+00,2025-04-25 09:51:38.542021+00,0101000020E610000058E518F0A46E5C402D8AB12A083120C0
|
||||||
|
031c692f-b7fe-4908-9174-c123cc687e69,350910,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Sumbermujur No. 181, Balung, Jember",crime,-8.25875892451833,113.531564737778,,,,2025-04-25 09:51:18.020818+00,2025-04-25 09:51:18.020818+00,0101000020E6100000881D1B2805625C406EB5BC0C7C8420C0
|
||||||
|
0351e73d-c6d0-4a0b-a110-2185f9cb0839,350901,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Sumbermujur No. 46, Jombang, Jember",crime,-8.21321805390303,113.344454964606,,,,2025-04-25 09:51:05.191226+00,2025-04-25 09:51:05.191226+00,0101000020E610000069FBD58C0B565C4050DCB0EA2A6D20C0
|
||||||
|
03635801-e07c-4504-934e-3e75960bc194,350923,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Taman Siswa No. 116, Mumbulsari, Jember",crime,-8.24731962911623,113.72014601168,,,,2025-04-25 09:51:39.852345+00,2025-04-25 09:51:39.852345+00,0101000020E6100000A8204CDF166E5C40146DADADA07E20C0
|
||||||
|
0366ee29-55fb-43b4-8131-b291deb559d5,350918,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Taman Siswa No. 132, Tempurejo, Jember",crime,-8.48936828472355,113.738616595711,,,,2025-04-25 09:51:31.074783+00,2025-04-25 09:51:31.074783+00,0101000020E610000024B78A7E456F5C40AE2CD57A8EFA20C0
|
||||||
|
0371b4c8-0158-44c4-932f-bc4e6da13aa1,350913,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Pantai No. 163, Rambipuji, Jember",crime,-8.22233035787018,113.589354717525,,,,2025-04-25 09:51:24.516818+00,2025-04-25 09:51:24.516818+00,0101000020E6100000B660D9FCB7655C40BAEBDF48D57120C0
|
||||||
|
03a9f136-28bd-4afc-8f4e-a1298004dad6,350931,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Pantai No. 97, Sumberjambe, Jember",crime,-8.06955686021418,113.907448627599,,,,2025-04-25 09:51:50.578977+00,2025-04-25 09:51:50.578977+00,0101000020E6100000BB9568A3137A5C402AAAEFF49C2320C0
|
||||||
|
03e63153-db70-4218-87d7-4f8b17d3b6ac,350926,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Abdurrahman Saleh No. 148, Mayang, Jember",crime,-8.20536040699864,113.797389362861,,,,2025-04-25 09:51:43.650154+00,2025-04-25 09:51:43.650154+00,0101000020E6100000C2EA646D08735C40A1E7CFFF246920C0
|
||||||
|
03ed0999-3ccd-4241-a1bd-aa049f299010,350931,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Pantai No. 48, Sumberjambe, Jember",crime,-8.08893111014521,113.923863133931,,,,2025-04-25 09:51:50.353942+00,2025-04-25 09:51:50.353942+00,0101000020E6100000C18DD692207B5C406257E360882D20C0
|
||||||
|
03fe3225-0972-49af-a6d9-bb1cf0cb1cdf,350903,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Srikandi No. 2, Sumberbaru, Jember",crime,-8.08938341024501,113.413739589988,,,,2025-04-25 09:51:07.98594+00,2025-04-25 09:51:07.98594+00,0101000020E6100000A6039EB57A5A5C40529D8FA9C32D20C0
|
||||||
|
042d04ed-96e5-4c04-9a2b-01ec0350c7f8,350908,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Sumbermujur No. 105, Puger, Jember",crime,-8.44732002050751,113.369058062498,,,,2025-04-25 09:51:14.467448+00,2025-04-25 09:51:14.467448+00,0101000020E61000004630B5A59E575C4002DA352107E520C0
|
||||||
|
04684809-0527-48db-9ad7-d61908d9d3a7,350915,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Taman Siswa No. 149, Sukorambi, Jember",crime,-8.15129757813108,113.635054665507,,,,2025-04-25 09:51:27.150567+00,2025-04-25 09:51:27.150567+00,0101000020E610000085E152BCA4685C40EE124CE0764D20C0
|
||||||
|
048d67ec-95ae-4808-beeb-db4d50ead80c,350921,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Srikandi No. 40, Sumbersari, Jember",crime,-8.17608212503561,113.721276928187,,,,2025-04-25 09:51:37.48549+00,2025-04-25 09:51:37.48549+00,0101000020E6100000167BB466296E5C4054E0B06F275A20C0
|
||||||
|
048f2b45-8913-4582-9a91-4941c9cf8eda,350916,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Pahlawan No. 192, Jenggawah, Jember",crime,-8.29382419633974,113.637320620912,,,,2025-04-25 09:51:28.526464+00,2025-04-25 09:51:28.526464+00,0101000020E610000096F86DDCC9685C40F61A0420709620C0
|
||||||
|
04c64230-975c-41e6-86cb-1269eccd26cc,350923,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Merdeka No. 123, Mumbulsari, Jember",crime,-8.26609507983594,113.721130692733,,,,2025-04-25 09:51:39.471499+00,2025-04-25 09:51:39.471499+00,0101000020E61000008B5B5901276E5C40350B439D3D8820C0
|
||||||
|
053ab04c-b75a-41f0-9469-cc0057d2a65b,350906,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Pahlawan No. 152, Tanggul, Jember",crime,-8.0771715134316,113.490797043375,,,,2025-04-25 09:51:11.090905+00,2025-04-25 09:51:11.090905+00,0101000020E61000002C910038695F5C403ABE4C06832720C0
|
||||||
|
0551aeea-03fe-4c7e-9d1e-4d6d1b7968db,350901,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Pantai No. 136, Jombang, Jember",crime,-8.23688130314163,113.36963912129,,,,2025-04-25 09:51:04.08697+00,2025-04-25 09:51:04.08697+00,0101000020E6100000F250D82AA8575C40E70D9481487920C0
|
||||||
|
05f6b707-b1c0-4e90-9ab1-9e3a4960de7c,350929,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Cendrawasih No. 37, Sukowono, Jember",crime,-8.06822241319413,113.846197794239,,,,2025-04-25 09:51:48.621819+00,2025-04-25 09:51:48.621819+00,0101000020E6100000240DCB1A28765C40C30B530CEE2220C0
|
||||||
|
06758e0e-83ab-435a-bb99-afc1d1b06d6f,350926,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Taman Siswa No. 2, Mayang, Jember",crime,-8.20773510252045,113.781823143294,,,,2025-04-25 09:51:43.790191+00,2025-04-25 09:51:43.790191+00,0101000020E6100000F5ECEF6309725C40F11C5F415C6A20C0
|
||||||
|
06ee3370-4a22-4893-82f3-40cc0f017369,350919,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Sumbermujur No. 146, Kaliwates, Jember",crime,-8.1952200589335,113.667972387472,,,,2025-04-25 09:51:33.173223+00,2025-04-25 09:51:33.173223+00,0101000020E6100000ABB4410FC06A5C40024931E2F36320C0
|
||||||
|
0746fa19-9a1a-4e31-8926-25d47ed51b4f,350921,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Cendrawasih No. 22, Sumbersari, Jember",crime,-8.16717028154394,113.709593269749,,,,2025-04-25 09:51:37.07641+00,2025-04-25 09:51:37.07641+00,0101000020E610000014C2E3F9696D5C404B30D857975520C0
|
||||||
|
0750f2ab-ccc7-46c7-a948-38e73a1e4696,350910,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Abdurrahman Saleh No. 13, Balung, Jember",crime,-8.26839130143538,113.53970342356,,,,2025-04-25 09:51:19.257003+00,2025-04-25 09:51:19.257003+00,0101000020E6100000976E3A808A625C404664AC956A8920C0
|
||||||
|
076469ad-6fdf-48bd-8184-7efeb35612f0,350923,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Pantai No. 68, Mumbulsari, Jember",crime,-8.26709331721619,113.744632439777,,,,2025-04-25 09:51:39.317983+00,2025-04-25 09:51:39.317983+00,0101000020E61000008D18D20EA86F5C40F0D88C74C08820C0
|
||||||
|
0792bd72-a63d-47d0-bc48-27035cffa133,350929,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Raya Sumberbaru No. 45, Sukowono, Jember",crime,-8.07964576414392,113.827277474226,,,,2025-04-25 09:51:48.496078+00,2025-04-25 09:51:48.496078+00,0101000020E61000003F21381DF2745C40B2866054C72820C0
|
||||||
|
07d1da83-edf9-41ca-bcc1-ecca2c3c99f7,350912,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Taman Siswa No. 8, Ambulu, Jember",crime,-8.39845918046314,113.585813699767,,,,2025-04-25 09:51:21.212162+00,2025-04-25 09:51:21.212162+00,0101000020E6100000FB82BEF87D655C40A2C279D702CC20C0
|
||||||
|
07de83fd-fd80-4b37-aa69-b2cf9493b2ad,350906,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Srikandi No. 189, Tanggul, Jember",crime,-8.06473030409286,113.512256103262,,,,2025-04-25 09:51:11.333361+00,2025-04-25 09:51:11.333361+00,0101000020E610000001ACD2CDC8605C4025479654242120C0
|
||||||
|
07ed5e87-b2b5-4557-b4be-df517afdc1fb,350919,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Abdurrahman Saleh No. 26, Kaliwates, Jember",crime,-8.18513361078281,113.682323729848,,,,2025-04-25 09:51:32.583252+00,2025-04-25 09:51:32.583252+00,0101000020E6100000EC3E2631AB6B5C40B56727D5C95E20C0
|
||||||
|
07f6d0e2-29e7-45d2-a743-08e89ffed115,350912,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Raya Sumberbaru No. 68, Ambulu, Jember",crime,-8.39386094992687,113.59180027478,,,,2025-04-25 09:51:21.624562+00,2025-04-25 09:51:21.624562+00,0101000020E6100000697C420EE0655C40FC367624A8C920C0
|
||||||
|
08081093-14aa-4957-941a-20a5c28a3a4c,350903,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Cendrawasih No. 1, Sumberbaru, Jember",crime,-8.07437733981727,113.380330452602,,,,2025-04-25 09:51:07.529503+00,2025-04-25 09:51:07.529503+00,0101000020E61000003AE6895557585C40442864C9142620C0
|
||||||
|
0849c70c-dc50-4135-8504-3fb8ecb5e99c,350901,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Pahlawan No. 134, Jombang, Jember",crime,-8.22217234520669,113.366474698212,,,,2025-04-25 09:51:04.769713+00,2025-04-25 09:51:04.769713+00,0101000020E610000054E84A5274575C400C7AD992C07120C0
|
||||||
|
0861687e-0541-4d5e-9c13-3ae1bd37b519,350930,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Pantai No. 65, Silo, Jember",crime,-8.23342111287586,113.885944593931,,,,2025-04-25 09:51:49.219033+00,2025-04-25 09:51:49.219033+00,0101000020E61000000140F450B3785C40D8FEDBF8827720C0
|
||||||
|
08a166d6-ea9c-4781-b869-cfd3916f587f,350929,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Srikandi No. 7, Sukowono, Jember",crime,-8.05092532974107,113.83021279367,,,,2025-04-25 09:51:48.304447+00,2025-04-25 09:51:48.304447+00,0101000020E61000002262D73422755C40438D83E2121A20C0
|
||||||
|
08cb417e-d8ef-4ecb-bde5-fadb0369251b,350922,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Srikandi No. 188, Arjasa, Jember",crime,-8.10289968457109,113.720792359993,,,,2025-04-25 09:51:37.64774+00,2025-04-25 09:51:37.64774+00,0101000020E610000021584776216E5C40CC007844AF3420C0
|
||||||
|
08ff70af-6da2-4e6c-b3a9-488314727820,350925,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Cendrawasih No. 147, Jelbuk, Jember",crime,-8.04993829559965,113.739560160679,,,,2025-04-25 09:51:41.750386+00,2025-04-25 09:51:41.750386+00,0101000020E610000098E223F4546F5C4041D62483911920C0
|
||||||
|
0907b389-116d-4de0-8bd0-85fb76b695f5,350931,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Raya Sumberbaru No. 134, Sumberjambe, Jember",crime,-8.06083853526138,113.911795129185,,,,2025-04-25 09:51:51.626893+00,2025-04-25 09:51:51.626893+00,0101000020E61000001420F5D95A7A5C407C917E3A261F20C0
|
||||||
|
0930b6de-cdc6-4f9a-ba27-283125258bb3,350911,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Pantai No. 107, Wuluhan, Jember",crime,-8.39133751370878,113.525319850246,,,,2025-04-25 09:51:20.632708+00,2025-04-25 09:51:20.632708+00,0101000020E61000009F2F26D79E615C408427FE635DC820C0
|
||||||
|
09342876-7da0-4cd6-97ce-e93e2af53798,350904,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Merdeka No. 182, Gumukmas, Jember",crime,-8.34067205710639,113.420736939248,,,,2025-04-25 09:51:08.911418+00,2025-04-25 09:51:08.911418+00,0101000020E61000006392A05AED5A5C40B3DD5F916CAE20C0
|
||||||
|
097673fc-6bde-4818-a42c-2a02b5670a3e,350918,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Sumbermujur No. 1, Tempurejo, Jember",crime,-8.50319831224755,113.739526917516,,,,2025-04-25 09:51:31.929468+00,2025-04-25 09:51:31.929468+00,0101000020E6100000AC4FB568546F5C40E0028D35A30121C0
|
||||||
|
09c970ea-2d2f-415d-9348-d0063868fa80,350921,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Merdeka No. 80, Sumbersari, Jember",crime,-8.17066533451253,113.734510932479,,,,2025-04-25 09:51:37.185182+00,2025-04-25 09:51:37.185182+00,0101000020E61000007063243A026F5C409F955C72615720C0
|
||||||
|
09cc2c67-4f30-402e-84c2-65c0a30ae812,350925,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Raya Sumberbaru No. 122, Jelbuk, Jember",crime,-8.0591651051993,113.724645291978,,,,2025-04-25 09:51:42.74701+00,2025-04-25 09:51:42.74701+00,0101000020E6100000AC8FA596606E5C4071CA7FE34A1E20C0
|
||||||
|
09eb9d80-5efe-447b-9a4d-b6e01e4638c9,350920,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Sumbermujur No. 23, Patrang, Jember",crime,-8.11675573849532,113.711737145208,,,,2025-04-25 09:51:35.668855+00,2025-04-25 09:51:35.668855+00,0101000020E6100000F480F4198D6D5C405EEA7C68C73B20C0
|
||||||
|
09f5dff4-5cdc-463b-874e-0fce02196e60,350906,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Pantai No. 152, Tanggul, Jember",crime,-8.0653230641211,113.513109323677,,,,2025-04-25 09:51:11.691412+00,2025-04-25 09:51:11.691412+00,0101000020E6100000E01D7DC8D6605C4039265006722120C0
|
||||||
|
0a7daa68-83d3-43c9-80e5-fe5984db6b95,350908,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Srikandi No. 194, Puger, Jember",crime,-8.44799054946883,113.346550636469,,,,2025-04-25 09:51:14.869973+00,2025-04-25 09:51:14.869973+00,0101000020E61000009482B8E22D565C407BC56D045FE520C0
|
||||||
|
0aadd452-edd3-40cb-ba7a-b10f72aabef9,350905,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Pantai No. 99, Umbulsari, Jember",crime,-8.24992610984172,113.443768306989,,,,2025-04-25 09:51:09.577738+00,2025-04-25 09:51:09.577738+00,0101000020E61000002D612FB3665C5C40945FA850F67F20C0
|
||||||
|
0aaed61a-7cce-43b4-aa00-b483e9d72caa,350931,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Sumbermujur No. 93, Sumberjambe, Jember",crime,-8.08875723187252,113.925229315103,,,,2025-04-25 09:51:50.819787+00,2025-04-25 09:51:50.819787+00,0101000020E6100000DC6A04F5367B5C40195A8096712D20C0
|
||||||
|
0ad49c4d-84b9-49d9-b303-f880f508dcac,350921,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Cendrawasih No. 50, Sumbersari, Jember",crime,-8.18957146923082,113.733291061194,,,,2025-04-25 09:51:36.376837+00,2025-04-25 09:51:36.376837+00,0101000020E6100000C191A13DEE6E5C40BB33F9820F6120C0
|
||||||
|
0aedd976-bd6f-4c17-9208-78fbbbcc711d,350924,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Srikandi No. 62, Pakusari, Jember",crime,-8.13512778132012,113.773125803165,,,,2025-04-25 09:51:40.222516+00,2025-04-25 09:51:40.222516+00,0101000020E61000006212A6E47A715C40161AF3772F4520C0
|
||||||
|
0b34ef1f-59dc-47cd-b641-200b0292ebaa,350916,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Abdurrahman Saleh No. 172, Jenggawah, Jember",crime,-8.28847893084682,113.649738454047,,,,2025-04-25 09:51:28.693044+00,2025-04-25 09:51:28.693044+00,0101000020E61000006CC5985095695C40ED24AB82B39320C0
|
||||||
|
0b5c2d05-f1b2-40b8-a5e7-f70fa7a9cb49,350927,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Taman Siswa No. 80, Kalisat, Jember",crime,-8.12526737718244,113.798805959025,,,,2025-04-25 09:51:45.230184+00,2025-04-25 09:51:45.230184+00,0101000020E61000004E7707A31F735C402F82B00B234020C0
|
||||||
|
0b827168-b2c4-49f2-8e5e-8a72c34df03f,350916,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Sumbermujur No. 140, Jenggawah, Jember",crime,-8.27582421141006,113.639723783121,,,,2025-04-25 09:51:29.752001+00,2025-04-25 09:51:29.752001+00,0101000020E610000090BE053CF1685C4006E7BED4388D20C0
|
||||||
|
0c057d24-9bbe-4a2e-9437-9b8a15595a0e,350931,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Raya Sumberbaru No. 155, Sumberjambe, Jember",crime,-8.08434964830952,113.921895027673,,,,2025-04-25 09:51:50.884976+00,2025-04-25 09:51:50.884976+00,0101000020E6100000C48C0054007B5C4044D689E02F2B20C0
|
||||||
|
0c0af255-9c18-4bd3-94dd-c2759b560b32,350915,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Taman Siswa No. 32, Sukorambi, Jember",crime,-8.15246224796411,113.656328308577,,,,2025-04-25 09:51:27.751521+00,2025-04-25 09:51:27.751521+00,0101000020E6100000CE317348016A5C40CEC221880F4E20C0
|
||||||
|
0c2d0076-431e-44af-bbd9-b873ec3b0dc7,350903,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Taman Siswa No. 47, Sumberbaru, Jember",crime,-8.06507612159946,113.392417707469,,,,2025-04-25 09:51:07.87042+00,2025-04-25 09:51:07.87042+00,0101000020E6100000EEFC285F1D595C40580A4CA8512120C0
|
||||||
|
0c9acc0d-feb8-40cb-9e3f-45c525d4806c,350911,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Cendrawasih No. 50, Wuluhan, Jember",crime,-8.42279840990249,113.517505393881,,,,2025-04-25 09:51:21.044931+00,2025-04-25 09:51:21.044931+00,0101000020E6100000328EF1CE1E615C40FBA97E0879D820C0
|
||||||
|
0c9e98a8-bfec-4bfe-9757-8524a950e7c6,350913,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Pahlawan No. 59, Rambipuji, Jember",crime,-8.22871595920617,113.600218122269,,,,2025-04-25 09:51:24.867649+00,2025-04-25 09:51:24.867649+00,0101000020E6100000476745F969665C403EBA19421A7520C0
|
||||||
|
0ca47969-f17e-4009-a1ac-d48c334898d4,350905,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Taman Siswa No. 121, Umbulsari, Jember",crime,-8.22591084873434,113.466713955891,,,,2025-04-25 09:51:09.527458+00,2025-04-25 09:51:09.527458+00,0101000020E6100000CD4836A4DE5D5C4050403696AA7320C0
|
||||||
|
0caa1b4a-58d6-4e92-a5e3-fc51d760c24e,350921,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Abdurrahman Saleh No. 11, Sumbersari, Jember",crime,-8.16576867737347,113.715139866827,,,,2025-04-25 09:51:36.015531+00,2025-04-25 09:51:36.015531+00,0101000020E6100000AC0501DAC46D5C405B0AD0A1DF5420C0
|
||||||
|
0d5c7ba6-b9d4-4964-b39f-769e038d4877,350908,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Pahlawan No. 47, Puger, Jember",crime,-8.46273207727499,113.360916038151,,,,2025-04-25 09:51:14.954875+00,2025-04-25 09:51:14.954875+00,0101000020E61000005D1D953F19575C4097690538EBEC20C0
|
||||||
|
0d9055e2-4eaf-4a98-b85f-1ea392ff0ce7,350928,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Abdurrahman Saleh No. 30, Ledokombo, Jember",crime,-8.13911591792728,113.897789686848,,,,2025-04-25 09:51:46.619977+00,2025-04-25 09:51:46.619977+00,0101000020E61000009AECDF6275795C408FB39B333A4720C0
|
||||||
|
0db5893f-5601-49a1-a1c7-5e90f48b0619,350903,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Pahlawan No. 9, Sumberbaru, Jember",crime,-8.07049674824421,113.388916395894,,,,2025-04-25 09:51:07.181996+00,2025-04-25 09:51:07.181996+00,0101000020E6100000764F9801E4585C40CE5D5826182420C0
|
||||||
|
0db85684-bc41-4f21-842b-24e5a38410a6,350903,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Sumbermujur No. 123, Sumberbaru, Jember",crime,-8.08696633635588,113.413035238948,,,,2025-04-25 09:51:07.914835+00,2025-04-25 09:51:07.914835+00,0101000020E610000001D85A2B6F5A5C40BF0005DA862C20C0
|
||||||
|
0dc8cc7d-c99e-49a7-8def-e96e6ab238c8,350917,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Sumbermujur No. 186, Ajung, Jember",crime,-8.2476795041701,113.668652701024,,,,2025-04-25 09:51:30.586549+00,2025-04-25 09:51:30.586549+00,0101000020E61000000AD2B234CB6A5C40A19914D9CF7E20C0
|
||||||
|
0ddd0977-0f87-4e5e-9385-3a1d751ced0b,350909,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Taman Siswa No. 3, Bangsalsari, Jember",crime,-8.16471679507532,113.567151570497,,,,2025-04-25 09:51:16.368112+00,2025-04-25 09:51:16.368112+00,0101000020E61000003ECA19364C645C409EE67FC2555420C0
|
||||||
|
0df50faf-4085-463d-9048-2f43523cd4ad,350924,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Abdurrahman Saleh No. 84, Pakusari, Jember",crime,-8.15967990345831,113.762851651885,,,,2025-04-25 09:51:40.123935+00,2025-04-25 09:51:40.123935+00,0101000020E6100000D022BC8FD2705C40215D7690C15120C0
|
||||||
|
0e2430e6-779f-4f76-87e0-4a35b8fa23aa,350926,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Sumbermujur No. 51, Mayang, Jember",crime,-8.18897630846072,113.804751210525,,,,2025-04-25 09:51:43.0236+00,2025-04-25 09:51:43.0236+00,0101000020E6100000CFA7380B81735C407C1DB180C16020C0
|
||||||
|
0eb420a8-be64-4b3c-b221-f627b55ae9fb,350902,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Pahlawan No. 93, Kencong, Jember",crime,-8.28152775908486,113.364136544502,,,,2025-04-25 09:51:05.590612+00,2025-04-25 09:51:05.590612+00,0101000020E6100000727A5D034E575C400B5F0C68249020C0
|
||||||
|
0eb4b093-2796-4a63-b940-adce53f95e2d,350909,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Raya Sumberbaru No. 117, Bangsalsari, Jember",crime,-8.15186912362081,113.535970315844,,,,2025-04-25 09:51:16.040859+00,2025-04-25 09:51:16.040859+00,0101000020E6100000648B70564D625C4079722ECAC14D20C0
|
||||||
|
0ecb92b8-6b53-4c37-8d10-840e84110694,350927,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Cendrawasih No. 23, Kalisat, Jember",crime,-8.10372518546255,113.807920004645,,,,2025-04-25 09:51:45.936975+00,2025-04-25 09:51:45.936975+00,0101000020E6100000F56E1BF6B4735C4099AAAE771B3520C0
|
||||||
|
0eede9f2-111e-4b33-ba9d-6600854ccbcc,350905,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Pahlawan No. 145, Umbulsari, Jember",crime,-8.25759546980724,113.461006464174,,,,2025-04-25 09:51:10.252397+00,2025-04-25 09:51:10.252397+00,0101000020E6100000CBB74121815D5C40F8D6AC8DE38320C0
|
||||||
|
0f37bad2-2685-4bd1-b0fb-c6b9bf4a98b1,350912,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Taman Siswa No. 115, Ambulu, Jember",crime,-8.3965093695633,113.58205235405,,,,2025-04-25 09:51:22.239794+00,2025-04-25 09:51:22.239794+00,0101000020E6100000304D845840655C40F3A9AD4603CB20C0
|
||||||
|
0f3b6fc5-efb8-445b-a4b5-f9fd132ad5fc,350905,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Taman Siswa No. 195, Umbulsari, Jember",crime,-8.228645620914,113.469519620611,,,,2025-04-25 09:51:10.113669+00,2025-04-25 09:51:10.113669+00,0101000020E6100000BBD6059C0C5E5C400466F009117520C0
|
||||||
|
0f9688cc-022f-4df6-a9ba-67eb34f36955,350923,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Cendrawasih No. 179, Mumbulsari, Jember",crime,-8.27293720373748,113.721378732192,,,,2025-04-25 09:51:39.966509+00,2025-04-25 09:51:39.966509+00,0101000020E6100000FDB2B3112B6E5C400ED4D76CBE8B20C0
|
||||||
|
0fae9964-2409-40d1-80bf-61e38661608a,350928,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Sumbermujur No. 30, Ledokombo, Jember",crime,-8.13891385644276,113.882578746663,,,,2025-04-25 09:51:46.223512+00,2025-04-25 09:51:46.223512+00,0101000020E61000000844912B7C785C4009C48CB71F4720C0
|
||||||
|
0fca4aee-2db5-4632-baab-e8688790ccde,350929,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Sumbermujur No. 43, Sukowono, Jember",crime,-8.07281441217177,113.845276019025,,,,2025-04-25 09:51:47.371119+00,2025-04-25 09:51:47.371119+00,0101000020E61000007A73960019765C4012E93DEE472520C0
|
||||||
|
0ff00eef-5468-4e43-bf02-1190c3f9d77f,350923,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Sumbermujur No. 63, Mumbulsari, Jember",crime,-8.26672679164738,113.722142166045,,,,2025-04-25 09:51:39.030522+00,2025-04-25 09:51:39.030522+00,0101000020E61000006D8EC693376E5C405C2FFE69908820C0
|
||||||
|
10048dbe-1cd2-4364-89fa-2264c7ce8abf,350912,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Pahlawan No. 3, Ambulu, Jember",crime,-8.40289739732387,113.614721702246,,,,2025-04-25 09:51:21.23387+00,2025-04-25 09:51:21.23387+00,0101000020E610000062D2B19957675C40914C529148CE20C0
|
||||||
|
102d353c-b9f2-4965-a5ac-4ce3a066c40e,350912,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Taman Siswa No. 31, Ambulu, Jember",crime,-8.4053015116192,113.606565958707,,,,2025-04-25 09:51:21.283941+00,2025-04-25 09:51:21.283941+00,0101000020E6100000C6E006FAD1665C40FFD802AE83CF20C0
|
||||||
|
104389d6-9e14-4726-a1e7-1c678f05855a,350910,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Sumbermujur No. 22, Balung, Jember",crime,-8.26875994606006,113.520433894185,,,,2025-04-25 09:51:17.817125+00,2025-04-25 09:51:17.817125+00,0101000020E610000049D0F6C94E615C40F79A55E79A8920C0
|
||||||
|
1061fc5e-2376-4787-ba1c-375b8865d8a2,350903,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Merdeka No. 176, Sumberbaru, Jember",crime,-8.07228437444312,113.403446551683,,,,2025-04-25 09:51:08.087965+00,2025-04-25 09:51:08.087965+00,0101000020E6100000704A7C11D2595C40737D2075022520C0
|
||||||
|
109a5224-ffba-4588-a72f-4f7dbdf5c824,350908,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Cendrawasih No. 125, Puger, Jember",crime,-8.44205626083117,113.385761906092,,,,2025-04-25 09:51:15.417189+00,2025-04-25 09:51:15.417189+00,0101000020E610000040ADB452B0585C401986BE3255E220C0
|
||||||
|
10a1b8b8-73b0-47e1-8ccb-77b1f1ea214b,350906,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Merdeka No. 122, Tanggul, Jember",crime,-8.06162177885912,113.496176248532,,,,2025-04-25 09:51:12.402482+00,2025-04-25 09:51:12.402482+00,0101000020E6100000B61F065AC15F5C40B0D7C9E38C1F20C0
|
||||||
|
10aa474b-dcb1-4447-be4a-406c4e94290e,350916,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,"Jalan Pantai No. 131, Jenggawah, Jember",crime,-8.2727928647821,113.642202161564,,,,2025-04-25 09:51:28.624585+00,2025-04-25 09:51:28.624585+00,0101000020E6100000AF5518D719695C4080A4A181AB8B20C0
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
id,name,description,created_at,updated_at
|
||||||
|
0a461f02-c617-4d18-8af5-e83fa0662fd1,staff,Staff with limited administrative access.,2025-04-25 09:50:40.104+00,2025-04-25 09:50:40.104+00
|
||||||
|
70248517-2344-43d5-867e-ad543cd3e5f0,viewer,Read-only access to the data.,2025-04-25 09:50:40.104+00,2025-04-25 09:50:40.104+00
|
||||||
|
f6d27bf8-29ab-4b0e-8045-232761a8762b,admin,Administrator with full access to all features.,2025-04-25 09:50:40.104+00,2025-04-25 09:50:40.104+00
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
id,user_id,event_id,status,created_at
|
||||||
|
1c239c3d-a4d4-4116-bf2d-b7a0e357ec78,dafad08c-3eac-4b53-ae35-5b6428699dac,b48b6941-7c14-4dbe-92d9-eb831e9bee4f,completed,2025-04-25 09:50:49.964+00
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
code_unit,district_id,name,description,type,created_at,updated_at,address,land_area,latitude,longitude,location,phone
|
||||||
|
UT-0068,350920,Polres Jember,Unit Jember is categorized as POLRES and operates in the Jember area.,polres,2025-04-25 09:50:48.324169+00,2025-04-25 09:50:48.324169+00,"Jl. R.A. Kartini No.17, Sawahan Cantian, Kepatihan, Kec. Patrang, Kabupaten Jember, Jawa Timur 68137",,-8.17092173103588,113.705480518207,0101000020E6100000826AC297266D5C401BF3990D835720C0,331484285
|
||||||
|
UT-0069,350930,Polsek Silo,Unit Silo is categorized as POLSEK and operates in the Silo area.,polsek,2025-04-25 09:50:48.339495+00,2025-04-25 09:50:48.339495+00,"Krajan, Sumberjati, Kec. Silo, Kabupaten Jember, Jawa Timur 68184",,-8.18621408051639,113.876536568063,0101000020E61000000965D52C19785C40C6BEB373575F20C0,0331521010
|
||||||
|
UT-0070,350931,Polsek Sumberjambe,Unit Sumberjambe is categorized as POLSEK and operates in the Sumberjambe area.,polsek,2025-04-25 09:50:48.350404+00,2025-04-25 09:50:48.350404+00,"Jl. PB. Sudirman No.81, Pasar, Sumberjambe, Kec. Sumberjambe, Kabupaten Jember, Jawa Timur 68195",,-8.06755724887193,113.900112147976,0101000020E61000008392FB6F9B795C407D061DDD962220C0,0331566268
|
||||||
|
UT-0071,350908,Polsek Puger,Unit Puger is categorized as POLSEK and operates in the Puger area.,polsek,2025-04-25 09:50:48.361883+00,2025-04-25 09:50:48.361883+00,"Jl. Achmad Yani 57 Puger, Umbulsari, Kabupaten Jember, Jawa Timur 68164",,-8.36649460219204,113.472968652148,0101000020E610000091404F1E455E5C409326352EA5BB20C0,0336721119
|
||||||
|
UT-0072,350909,Polsek Bangsalsari,Unit Bangsalsari is categorized as POLSEK and operates in the Bangsalsari area.,polsek,2025-04-25 09:50:48.372513+00,2025-04-25 09:50:48.372513+00,"Jl. Jenderal Ahmad Yani No.16, Kalisatan, Bangsalsari, Kec. Bangsalsari, Kabupaten Jember, Jawa Timur 68154",,-8.20090108010506,113.533809861966,0101000020E610000048DBD6F029625C408B90A181DC6620C0,0331711401
|
||||||
|
UT-0073,350906,Polsek Tanggul,Unit Tanggul is categorized as POLSEK and operates in the Tanggul area.,polsek,2025-04-25 09:50:48.383372+00,2025-04-25 09:50:48.383372+00,"Jl. Urip Sumoharjo N0.50 Tanggul 68155, Tanggul Wetan, Tanggul, Jawa Timur 68155",,-8.16605008923455,113.461150444827,0101000020E610000057C4277D835D5C4043856D84045520C0,0336441110
|
||||||
|
UT-0074,350907,Polsek Semboro,Unit Semboro is categorized as POLSEK and operates in the Semboro area.,polsek,2025-04-25 09:50:48.398359+00,2025-04-25 09:50:48.398359+00,"Jl. Telomoyo Dusun Semboro pasar, Desa Semboro, Jember, Jawa Timur 68157",,-8.20624211097906,113.434807048468,0101000020E6100000624FF1E0D35B5C40176DE390986920C0,0336444200
|
||||||
|
UT-0075,350901,Polsek Jombang,Unit Jombang is categorized as POLSEK and operates in the Jombang area.,polsek,2025-04-25 09:50:48.409818+00,2025-04-25 09:50:48.409818+00,"Jl. KH. Dewantara No. 88 Jombang, Jember, Jawa Timur 68168",,-8.24593809398526,113.32178564847,0101000020E61000000D20D52298545C40B8030D99EB7D20C0,0336321100
|
||||||
|
UT-0076,350904,Polsek Gumukmas,Unit Gumukmas is categorized as POLSEK and operates in the Gumukmas area.,polsek,2025-04-25 09:50:48.430304+00,2025-04-25 09:50:48.430304+00,"Jl. Achmad Yani 89 Gumukmas, Gumukmas, Jember, Jawa Timur 68165",,-8.31508705124681,113.412968673611,0101000020E6100000A2DB28146E5A5C400AFF081753A120C0,0336321391
|
||||||
|
UT-0077,350905,Polsek Umbulsari,Unit Umbulsari is categorized as POLSEK and operates in the Umbulsari area.,polsek,2025-04-25 09:50:48.440321+00,2025-04-25 09:50:48.440321+00,"Jl. Budi Utomo No.16, Mumbulsari, Kabupaten Jember, Jawa Timur 68174",,-8.25285408976718,113.742212552164,0101000020E6100000688E1369806F5C40766B5C17768120C0,0331793262
|
||||||
|
UT-0078,350902,Polsek Kencong,Unit Kencong is categorized as POLSEK and operates in the Kencong area.,polsek,2025-04-25 09:50:48.450759+00,2025-04-25 09:50:48.450759+00,"Jl. Diponegoro, No. 35, Kencong, Jember 68167",,-8.27979445346788,113.376640361946,0101000020E6100000593A2DE01A585C40547EF637418F20C0,0336321210
|
||||||
|
UT-0079,350903,Polsek Sumberbaru,Unit Sumberbaru is categorized as POLSEK and operates in the Sumberbaru area.,polsek,2025-04-25 09:50:48.460413+00,2025-04-25 09:50:48.460413+00,"Jl. Panglima Besar Sudirman, No. 3, Sumberbaru, Jember, Jawa Timur 68173",,-8.11925572743138,113.393836763804,0101000020E61000000B201D9F34595C40605B32160F3D20C0,0336324210
|
||||||
|
UT-0080,350919,Polsek Kaliwates,Unit Kaliwates is categorized as POLSEK and operates in the Kaliwates area.,polsek,2025-04-25 09:50:48.471137+00,2025-04-25 09:50:48.471137+00,"Jl. Hayam Wuruk No.153 Kelurahan Sempusari Kecamatan Kaliwates Kabupaten Jember, Jawa Timur",,-8.18652464693621,113.672500846567,0101000020E610000068A2FD400A6B5C405AFA9428805F20C0,0331484026
|
||||||
|
UT-0081,350917,Polsek Ajung,Unit Ajung is categorized as POLSEK and operates in the Ajung area.,polsek,2025-04-25 09:50:48.494595+00,2025-04-25 09:50:48.494595+00,"Ajung Kulon, Ajung, Kec. Ajung, Kabupaten Jember, Jawa Timur 68175",,-8.2150168595693,113.668072771751,0101000020E610000031814CB4C16A5C40A6E097B0166E20C0,
|
||||||
|
UT-0082,350918,Polsek Tempurejo,Unit Tempurejo is categorized as POLSEK and operates in the Tempurejo area.,polsek,2025-04-25 09:50:48.506991+00,2025-04-25 09:50:48.506991+00,"Jl. KH. Abdurrahman, Tempurejo, Jember, Jawa Timur 68173",,-8.30059219585402,113.688580419645,0101000020E6100000A4C29BB3116C5C406E406538E79920C0,0331757410
|
||||||
|
UT-0083,350911,Polsek Wuluhan,Unit Wuluhan is categorized as POLSEK and operates in the Wuluhan area.,polsek,2025-04-25 09:50:48.517485+00,2025-04-25 09:50:48.517485+00,"Jl. Ambulu, Wuluhan, Kabupaten Jember, Jawa Timur 68162",,-8.3383560226923,113.551827877284,0101000020E61000002D7DDF2551635C4073BC27003DAD20C0,0336881003
|
||||||
|
UT-0084,350912,Polsek Ambulu,Unit Ambulu is categorized as POLSEK and operates in the Ambulu area.,polsek,2025-04-25 09:50:48.52774+00,2025-04-25 09:50:48.52774+00,"Jl. Raya Suyitman, Ambulu, Jember, Jawa Timur 68172",,-8.34407980922306,113.607319127041,0101000020E610000016380B51DE665C4068A78F3A2BB020C0,0336881007
|
||||||
|
UT-0085,350910,Polsek Balung,Unit Balung is categorized as POLSEK and operates in the Balung area.,polsek,2025-04-25 09:50:48.547664+00,2025-04-25 09:50:48.547664+00,"Jl. Rambipuji-Balung, Jember, Jawa Timur 68152",,-8.26971853953942,113.540654661932,0101000020E610000062DB02169A625C40B5E4648C188A20C0,0331621210
|
||||||
|
UT-0086,350915,Polsek Sukorambi,Unit Sukorambi is categorized as POLSEK and operates in the Sukorambi area.,polsek,2025-04-25 09:50:48.557825+00,2025-04-25 09:50:48.557825+00,"Jl. Mujahir No. 5, Sukorambi, Jember Lor, Patrang, Jember, Jawa Timur 68118",,-8.16993031106472,113.660558688969,0101000020E6100000798DF397466A5C40813E111B015720C0,0331489523
|
||||||
|
UT-0087,350916,Polsek Jenggawah,Unit Jenggawah is categorized as POLSEK and operates in the Jenggawah area.,polsek,2025-04-25 09:50:48.568726+00,2025-04-25 09:50:48.568726+00,"Jl. Kawi No. 23 Jenggawah, Kab. Jember, Propinsi Jawa Timur 68171",,-8.25679112069159,113.652220670714,0101000020E61000007A9FC4FBBD695C40118C32207A8320C0,0331757330
|
||||||
|
UT-0088,350913,Polsek Rambipuji,Unit Rambipuji is categorized as POLSEK and operates in the Rambipuji area.,polsek,2025-04-25 09:50:48.579236+00,2025-04-25 09:50:48.579236+00,"Jl. Dharmawangsa 47 Rambipuji, Curahancar, Rambipuji, Kec. Rambipuji, Kabupaten Jember, Jawa Timur 68152",,-8.20428708115188,113.613282348477,0101000020E61000000F7B9B0440675C40D315F950986820C0,0331711430
|
||||||
|
UT-0089,350914,Polsek Panti,Unit Panti is categorized as POLSEK and operates in the Panti area.,polsek,2025-04-25 09:50:48.589492+00,2025-04-25 09:50:48.589492+00,"Jalan Panglima Besar Sudirman 19 Desa Panti Kecamatan Panti, Jember Jawa Timur 68153",,-8.17194959166762,113.620224563318,0101000020E61000001CE85DC2B1675C40C48BE1C6095820C0,0331711330
|
||||||
|
UT-0090,350928,Polsek Ledokombo,Unit Ledokombo is categorized as POLSEK and operates in the Ledokombo area.,polsek,2025-04-25 09:50:48.599367+00,2025-04-25 09:50:48.599367+00,"Jl. Bungur Ledokombo No.114, Pasar, Ledokombo, Kec. Ledokombo, Kabupaten Jember, Jawa Timur 68196",,-8.135526826985,113.873701409345,0101000020E6100000C7E650B9EA775C403043B3C5634520C0,0331591011
|
||||||
|
UT-0091,350929,Polsek Sukowono,Unit Sukowono is categorized as POLSEK and operates in the Sukowono area.,polsek,2025-04-25 09:50:48.609812+00,2025-04-25 09:50:48.609812+00,"Jl. Chairil Anwar, Krajan, Cumedak, Jember, Kabupaten Jember, Jawa Timur 64194",,-8.05107980376388,113.835062850321,0101000020E6100000ED0E74AB71755C40CE4DCD21271A20C0,0331566210
|
||||||
|
UT-0092,350922,Polsek Arjasa,Unit Arjasa is categorized as POLSEK and operates in the Arjasa area.,polsek,2025-04-25 09:50:48.619042+00,2025-04-25 09:50:48.619042+00,"Jl. Supriadi No.101, Krajan Selatan, Patemon, Kec. Pakusari, Kabupaten Jember, Jawa Timur 68191",,-8.12219680795897,113.747316126802,0101000020E6100000D5180507D46F5C40FFB77B94903E20C0,0331540116
|
||||||
|
UT-0093,350923,Polsek Mumbulsari,Unit Mumbulsari is categorized as POLSEK and operates in the Mumbulsari area.,polsek,2025-04-25 09:50:48.628891+00,2025-04-25 09:50:48.628891+00,"Jl. Budi Utomo No.16, Mumbulsari, Kabupaten Jember, Jawa Timur 68174",,-8.25285408976718,113.742212552164,0101000020E6100000688E1369806F5C40766B5C17768120C0,0331793262
|
||||||
|
UT-0094,350920,Polsek Patrang,Unit Patrang is categorized as POLSEK and operates in the Patrang area.,polsek,2025-04-25 09:50:48.638919+00,2025-04-25 09:50:48.638919+00,"Jl. R.A. Kartini No.17, Sawahan Cantian, Kepatihan, Kec. Patrang, Kabupaten Jember, Jawa Timur 68137",,-8.17092173103588,113.705480518207,0101000020E6100000826AC297266D5C401BF3990D835720C0,331484285
|
||||||
|
UT-0095,350921,Polsek Sumbersari,Unit Sumbersari is categorized as POLSEK and operates in the Sumbersari area.,polsek,2025-04-25 09:50:48.648649+00,2025-04-25 09:50:48.648649+00,"Jl. MT Haryono, Sumbersari, Kabupaten Jember, Jawa Timur 68124",,-8.18329630406613,113.74236702752,0101000020E6100000F034FEF0826F5C4027E25E03D95D20C0,0331330647
|
||||||
|
UT-0096,350926,Polsek Mayang,Unit Mayang is categorized as POLSEK and operates in the Mayang area.,polsek,2025-04-25 09:50:48.658439+00,2025-04-25 09:50:48.658439+00,"Jl. Banyuwangi, Mayang, Majang, Jawa Timur 68182",,-8.17735615314344,113.799562031274,0101000020E61000007DDC39062C735C40ABFDFA6CCE5A20C0,0331591512
|
||||||
|
UT-0097,350927,Polsek Kalisat,Unit Kalisat is categorized as POLSEK and operates in the Kalisat area.,polsek,2025-04-25 09:50:48.668414+00,2025-04-25 09:50:48.668414+00,"Jl. DR. Wahidin, Krajan II, Kalisat, Kec. Kalisat, Kabupaten Jember, Jawa Timur 68161",,-8.12827971055135,113.812388432633,0101000020E6100000AD730D2CFE735C40E61DD3E0AD4120C0,0331591110
|
||||||
|
UT-0098,350924,Polsek Pakusari,Unit Pakusari is categorized as POLSEK and operates in the Pakusari area.,polsek,2025-04-25 09:50:48.679684+00,2025-04-25 09:50:48.679684+00,"Jl. Supriadi No.101, Krajan Selatan, Patemon, Kec. Pakusari, Kabupaten Jember, Jawa Timur 68191",,-8.12219680795897,113.747316126802,0101000020E6100000D5180507D46F5C40FFB77B94903E20C0,0331540116
|
||||||
|
UT-0099,350925,Polsek Jelbuk,Unit Jelbuk is categorized as POLSEK and operates in the Jelbuk area.,polsek,2025-04-25 09:50:48.69245+00,2025-04-25 09:50:48.69245+00,"Leces II, Sukojember, Kec. Jelbuk, Kabupaten Jember, Jawa Timur 68192",,-8.0688670910945,113.764847627086,0101000020E61000007C307643F3705C40060B208C422320C0,0331540110
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
id,roles_id,email,phone,encrypted_password,invited_at,confirmed_at,email_confirmed_at,recovery_sent_at,last_sign_in_at,app_metadata,user_metadata,created_at,updated_at,banned_until,is_anonymous
|
||||||
|
4c40d9bd-955e-4f69-88f2-039788d84f8a,f6d27bf8-29ab-4b0e-8045-232761a8762b,admin@gmail.com,,,,2025-04-25 10:27:01+00,2025-04-25 10:27:07+00,,2025-04-25 10:27:13+00,,,2025-04-25 10:17:03.569297+00,2025-04-25 10:17:03.569297+00,,false
|
||||||
|
dafad08c-3eac-4b53-ae35-5b6428699dac,f6d27bf8-29ab-4b0e-8045-232761a8762b,admin@sigap.id,,sigap123,,2025-04-25 09:50:49.942+00,2025-04-25 09:50:49.942+00,,,,,2025-04-25 09:50:49.947+00,2025-04-25 09:50:49.947+00,,false
|
|
|
@ -9,8 +9,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.30",
|
"kode_kec": "350930",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Silo",
|
"kecamatan": "Silo",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -3540,8 +3540,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.31",
|
"kode_kec": "350931",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Sumberjambe",
|
"kecamatan": "Sumberjambe",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -5892,8 +5892,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.08",
|
"kode_kec": "350908",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Puger",
|
"kecamatan": "Puger",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -11166,8 +11166,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.09",
|
"kode_kec": "350909",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Bangsalsari",
|
"kecamatan": "Bangsalsari",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -13783,8 +13783,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.06",
|
"kode_kec": "350906",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Tanggul",
|
"kecamatan": "Tanggul",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -16060,8 +16060,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.07",
|
"kode_kec": "350907",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Semboro",
|
"kecamatan": "Semboro",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -17744,8 +17744,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.01",
|
"kode_kec": "350901",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Jombang",
|
"kecamatan": "Jombang",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -18830,8 +18830,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.04",
|
"kode_kec": "350904",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Gumukmas",
|
"kecamatan": "Gumukmas",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -20105,8 +20105,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.05",
|
"kode_kec": "350905",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Umbulsari",
|
"kecamatan": "Umbulsari",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -21694,8 +21694,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.02",
|
"kode_kec": "350902",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Kencong",
|
"kecamatan": "Kencong",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -22886,8 +22886,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.03",
|
"kode_kec": "350903",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Sumberbaru",
|
"kecamatan": "Sumberbaru",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -25493,8 +25493,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.19",
|
"kode_kec": "350919",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Kaliwates",
|
"kecamatan": "Kaliwates",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -26591,8 +26591,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.17",
|
"kode_kec": "350917",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Ajung",
|
"kecamatan": "Ajung",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -28222,8 +28222,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.18",
|
"kode_kec": "350918",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Tempurejo",
|
"kecamatan": "Tempurejo",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -45251,8 +45251,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.11",
|
"kode_kec": "350911",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Wuluhan",
|
"kecamatan": "Wuluhan",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -50176,8 +50176,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.12",
|
"kode_kec": "350912",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Ambulu",
|
"kecamatan": "Ambulu",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -52374,8 +52374,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.10",
|
"kode_kec": "350910",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Balung",
|
"kecamatan": "Balung",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -53489,8 +53489,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.15",
|
"kode_kec": "350915",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Sukorambi",
|
"kecamatan": "Sukorambi",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -55240,8 +55240,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.16",
|
"kode_kec": "350916",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Jenggawah",
|
"kecamatan": "Jenggawah",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -56639,8 +56639,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.13",
|
"kode_kec": "350913",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Rambipuji",
|
"kecamatan": "Rambipuji",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -58034,8 +58034,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.14",
|
"kode_kec": "350914",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Panti",
|
"kecamatan": "Panti",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -60250,8 +60250,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.28",
|
"kode_kec": "350928",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Ledokombo",
|
"kecamatan": "Ledokombo",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -63055,8 +63055,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.29",
|
"kode_kec": "350929",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Sukowono",
|
"kecamatan": "Sukowono",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -65260,8 +65260,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.22",
|
"kode_kec": "350922",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Arjasa",
|
"kecamatan": "Arjasa",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -66469,8 +66469,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.23",
|
"kode_kec": "350923",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Mumbulsari",
|
"kecamatan": "Mumbulsari",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -67893,8 +67893,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.20",
|
"kode_kec": "350920",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Patrang",
|
"kecamatan": "Patrang",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -68978,8 +68978,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.21",
|
"kode_kec": "350921",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Sumbersari",
|
"kecamatan": "Sumbersari",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -70027,8 +70027,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.26",
|
"kode_kec": "350926",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Mayang",
|
"kecamatan": "Mayang",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -71989,8 +71989,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.27",
|
"kode_kec": "350927",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Kalisat",
|
"kecamatan": "Kalisat",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -73913,8 +73913,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.24",
|
"kode_kec": "350924",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Pakusari",
|
"kecamatan": "Pakusari",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
@ -75172,8 +75172,8 @@
|
||||||
{
|
{
|
||||||
"type": "Feature",
|
"type": "Feature",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kode_kec": "35.09.25",
|
"kode_kec": "350925",
|
||||||
"kode_kk": "35.09",
|
"kode_kk": "3509",
|
||||||
"kode_prov": "35",
|
"kode_prov": "35",
|
||||||
"kecamatan": "Jelbuk",
|
"kecamatan": "Jelbuk",
|
||||||
"kab_kota": "Jember",
|
"kab_kota": "Jember",
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -309,3 +309,4 @@ export const crimeCategoriesData = [
|
||||||
'Gerakan pemisahan wilayah dari negara untuk membentuk pemerintahan sendiri.',
|
'Gerakan pemisahan wilayah dari negara untuk membentuk pemerintahan sendiri.',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -1,262 +0,0 @@
|
||||||
export const districtsName = [
|
|
||||||
'Ajung',
|
|
||||||
'Ambulu',
|
|
||||||
'Arjasa',
|
|
||||||
'Balung',
|
|
||||||
'Bangsalsari',
|
|
||||||
'Gumukmas',
|
|
||||||
'Jelbuk',
|
|
||||||
'Jenggawah',
|
|
||||||
'Jombang',
|
|
||||||
'Kalisat',
|
|
||||||
'Kaliwates',
|
|
||||||
'Kencong',
|
|
||||||
'Ledokombo',
|
|
||||||
'Mayang',
|
|
||||||
'Mumbulsari',
|
|
||||||
'Pakusari',
|
|
||||||
'Panti',
|
|
||||||
'Patrang',
|
|
||||||
'Puger',
|
|
||||||
'Rambipuji',
|
|
||||||
'Semboro',
|
|
||||||
'Silo',
|
|
||||||
'Sukorambi',
|
|
||||||
'Sukowono',
|
|
||||||
'Sumberbaru',
|
|
||||||
'Sumberjambe',
|
|
||||||
'Sumbersari',
|
|
||||||
'Tanggul',
|
|
||||||
'Tempurejo',
|
|
||||||
'Umbulsari',
|
|
||||||
'Wuluhan',
|
|
||||||
];
|
|
||||||
|
|
||||||
const tas = {
|
|
||||||
type: 'FeatureCollection',
|
|
||||||
features: [
|
|
||||||
{
|
|
||||||
type: 'Feature',
|
|
||||||
id: 'dXJuOm1ieHBsYzpINEpNWnc',
|
|
||||||
geometry: { type: 'Point', coordinates: [113.71102, -8.168297] },
|
|
||||||
properties: {
|
|
||||||
mapbox_id: 'dXJuOm1ieHBsYzpINEpNWnc',
|
|
||||||
feature_type: 'neighborhood',
|
|
||||||
full_address:
|
|
||||||
'Sumbersari, 68121, Sumbersari, Jember, East Java, Indonesia',
|
|
||||||
name: 'Sumbersari',
|
|
||||||
name_preferred: 'Sumbersari',
|
|
||||||
coordinates: { longitude: 113.71102, latitude: -8.168297 },
|
|
||||||
place_formatted: '68121, Sumbersari, Jember, East Java, Indonesia',
|
|
||||||
bbox: [113.704642, -8.183543, 113.732346, -8.157071],
|
|
||||||
context: {
|
|
||||||
postcode: { mapbox_id: 'dXJuOm1ieHBsYzpBdFFPWnc', name: '68121' },
|
|
||||||
locality: {
|
|
||||||
mapbox_id: 'dXJuOm1ieHBsYzpBcjZxWnc',
|
|
||||||
name: 'Sumbersari',
|
|
||||||
wikidata_id: 'Q7777272',
|
|
||||||
},
|
|
||||||
place: {
|
|
||||||
mapbox_id: 'dXJuOm1ieHBsYzpFdWhu',
|
|
||||||
name: 'Jember',
|
|
||||||
wikidata_id: 'Q11080',
|
|
||||||
},
|
|
||||||
region: {
|
|
||||||
mapbox_id: 'dXJuOm1ieHBsYzpBY1Ju',
|
|
||||||
name: 'East Java',
|
|
||||||
wikidata_id: 'Q3586',
|
|
||||||
region_code: 'JI',
|
|
||||||
region_code_full: 'ID-JI',
|
|
||||||
},
|
|
||||||
country: {
|
|
||||||
mapbox_id: 'dXJuOm1ieHBsYzpJbWM',
|
|
||||||
name: 'Indonesia',
|
|
||||||
wikidata_id: 'Q252',
|
|
||||||
country_code: 'ID',
|
|
||||||
country_code_alpha_3: 'IDN',
|
|
||||||
},
|
|
||||||
neighborhood: {
|
|
||||||
mapbox_id: 'dXJuOm1ieHBsYzpINEpNWnc',
|
|
||||||
name: 'Sumbersari',
|
|
||||||
wikidata_id: 'Q13097475',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'Feature',
|
|
||||||
id: 'dXJuOm1ieHBsYzpBdFFPWnc',
|
|
||||||
geometry: { type: 'Point', coordinates: [113.711022, -8.168297] },
|
|
||||||
properties: {
|
|
||||||
mapbox_id: 'dXJuOm1ieHBsYzpBdFFPWnc',
|
|
||||||
feature_type: 'postcode',
|
|
||||||
full_address: '68121, Jember, East Java, Indonesia',
|
|
||||||
name: '68121',
|
|
||||||
name_preferred: '68121',
|
|
||||||
coordinates: { longitude: 113.711022, latitude: -8.168297 },
|
|
||||||
place_formatted: 'Jember, East Java, Indonesia',
|
|
||||||
bbox: [113.704642, -8.183543, 113.732346, -8.157071],
|
|
||||||
context: {
|
|
||||||
locality: {
|
|
||||||
mapbox_id: 'dXJuOm1ieHBsYzpBcjZxWnc',
|
|
||||||
name: 'Sumbersari',
|
|
||||||
wikidata_id: 'Q7777272',
|
|
||||||
},
|
|
||||||
place: {
|
|
||||||
mapbox_id: 'dXJuOm1ieHBsYzpFdWhu',
|
|
||||||
name: 'Jember',
|
|
||||||
wikidata_id: 'Q11080',
|
|
||||||
},
|
|
||||||
region: {
|
|
||||||
mapbox_id: 'dXJuOm1ieHBsYzpBY1Ju',
|
|
||||||
name: 'East Java',
|
|
||||||
wikidata_id: 'Q3586',
|
|
||||||
region_code: 'JI',
|
|
||||||
region_code_full: 'ID-JI',
|
|
||||||
},
|
|
||||||
country: {
|
|
||||||
mapbox_id: 'dXJuOm1ieHBsYzpJbWM',
|
|
||||||
name: 'Indonesia',
|
|
||||||
wikidata_id: 'Q252',
|
|
||||||
country_code: 'ID',
|
|
||||||
country_code_alpha_3: 'IDN',
|
|
||||||
},
|
|
||||||
postcode: { mapbox_id: 'dXJuOm1ieHBsYzpBdFFPWnc', name: '68121' },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'Feature',
|
|
||||||
id: 'dXJuOm1ieHBsYzpBcjZxWnc',
|
|
||||||
geometry: { type: 'Point', coordinates: [113.71979, -8.17341] },
|
|
||||||
properties: {
|
|
||||||
mapbox_id: 'dXJuOm1ieHBsYzpBcjZxWnc',
|
|
||||||
feature_type: 'locality',
|
|
||||||
full_address: 'Sumbersari, Jember, East Java, Indonesia',
|
|
||||||
name: 'Sumbersari',
|
|
||||||
name_preferred: 'Sumbersari',
|
|
||||||
coordinates: { longitude: 113.71979, latitude: -8.17341 },
|
|
||||||
place_formatted: 'Jember, East Java, Indonesia',
|
|
||||||
bbox: [113.683722, -8.217454, 113.759958, -8.134822],
|
|
||||||
context: {
|
|
||||||
place: {
|
|
||||||
mapbox_id: 'dXJuOm1ieHBsYzpFdWhu',
|
|
||||||
name: 'Jember',
|
|
||||||
wikidata_id: 'Q11080',
|
|
||||||
},
|
|
||||||
region: {
|
|
||||||
mapbox_id: 'dXJuOm1ieHBsYzpBY1Ju',
|
|
||||||
name: 'East Java',
|
|
||||||
wikidata_id: 'Q3586',
|
|
||||||
region_code: 'JI',
|
|
||||||
region_code_full: 'ID-JI',
|
|
||||||
},
|
|
||||||
country: {
|
|
||||||
mapbox_id: 'dXJuOm1ieHBsYzpJbWM',
|
|
||||||
name: 'Indonesia',
|
|
||||||
wikidata_id: 'Q252',
|
|
||||||
country_code: 'ID',
|
|
||||||
country_code_alpha_3: 'IDN',
|
|
||||||
},
|
|
||||||
locality: {
|
|
||||||
mapbox_id: 'dXJuOm1ieHBsYzpBcjZxWnc',
|
|
||||||
name: 'Sumbersari',
|
|
||||||
wikidata_id: 'Q7777272',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'Feature',
|
|
||||||
id: 'dXJuOm1ieHBsYzpFdWhu',
|
|
||||||
geometry: { type: 'Point', coordinates: [113.69943, -8.172329] },
|
|
||||||
properties: {
|
|
||||||
mapbox_id: 'dXJuOm1ieHBsYzpFdWhu',
|
|
||||||
feature_type: 'place',
|
|
||||||
full_address: 'Jember, East Java, Indonesia',
|
|
||||||
name: 'Jember',
|
|
||||||
name_preferred: 'Jember',
|
|
||||||
coordinates: { longitude: 113.69943, latitude: -8.172329 },
|
|
||||||
place_formatted: 'East Java, Indonesia',
|
|
||||||
bbox: [113.236783, -8.588224, 114.043419, -7.968273],
|
|
||||||
context: {
|
|
||||||
region: {
|
|
||||||
mapbox_id: 'dXJuOm1ieHBsYzpBY1Ju',
|
|
||||||
name: 'East Java',
|
|
||||||
wikidata_id: 'Q3586',
|
|
||||||
region_code: 'JI',
|
|
||||||
region_code_full: 'ID-JI',
|
|
||||||
},
|
|
||||||
country: {
|
|
||||||
mapbox_id: 'dXJuOm1ieHBsYzpJbWM',
|
|
||||||
name: 'Indonesia',
|
|
||||||
wikidata_id: 'Q252',
|
|
||||||
country_code: 'ID',
|
|
||||||
country_code_alpha_3: 'IDN',
|
|
||||||
},
|
|
||||||
place: {
|
|
||||||
mapbox_id: 'dXJuOm1ieHBsYzpFdWhu',
|
|
||||||
name: 'Jember',
|
|
||||||
wikidata_id: 'Q11080',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'Feature',
|
|
||||||
id: 'dXJuOm1ieHBsYzpBY1Ju',
|
|
||||||
geometry: { type: 'Point', coordinates: [112.737827, -7.245972] },
|
|
||||||
properties: {
|
|
||||||
mapbox_id: 'dXJuOm1ieHBsYzpBY1Ju',
|
|
||||||
feature_type: 'region',
|
|
||||||
full_address: 'East Java, Indonesia',
|
|
||||||
name: 'East Java',
|
|
||||||
name_preferred: 'East Java',
|
|
||||||
coordinates: { longitude: 112.737827, latitude: -7.245972 },
|
|
||||||
place_formatted: 'Indonesia',
|
|
||||||
bbox: [110.880459, -8.878306, 116.357127, -4.945778],
|
|
||||||
context: {
|
|
||||||
country: {
|
|
||||||
mapbox_id: 'dXJuOm1ieHBsYzpJbWM',
|
|
||||||
name: 'Indonesia',
|
|
||||||
wikidata_id: 'Q252',
|
|
||||||
country_code: 'ID',
|
|
||||||
country_code_alpha_3: 'IDN',
|
|
||||||
},
|
|
||||||
region: {
|
|
||||||
mapbox_id: 'dXJuOm1ieHBsYzpBY1Ju',
|
|
||||||
name: 'East Java',
|
|
||||||
region_code: 'JI',
|
|
||||||
region_code_full: 'ID-JI',
|
|
||||||
wikidata_id: 'Q3586',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'Feature',
|
|
||||||
id: 'dXJuOm1ieHBsYzpJbWM',
|
|
||||||
geometry: { type: 'Point', coordinates: [106.827216, -6.175554] },
|
|
||||||
properties: {
|
|
||||||
mapbox_id: 'dXJuOm1ieHBsYzpJbWM',
|
|
||||||
feature_type: 'country',
|
|
||||||
full_address: 'Indonesia',
|
|
||||||
name: 'Indonesia',
|
|
||||||
name_preferred: 'Indonesia',
|
|
||||||
coordinates: { longitude: 106.827216, latitude: -6.175554 },
|
|
||||||
bbox: [94.915567, -11.092338, 141.022151, 6.160877],
|
|
||||||
context: {
|
|
||||||
country: {
|
|
||||||
mapbox_id: 'dXJuOm1ieHBsYzpJbWM',
|
|
||||||
name: 'Indonesia',
|
|
||||||
country_code: 'ID',
|
|
||||||
country_code_alpha_3: 'IDN',
|
|
||||||
wikidata_id: 'Q252',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
attribution:
|
|
||||||
'NOTICE: © 2025 Mapbox and its suppliers. All rights reserved. Use of this data is subject to the Mapbox Terms of Service (https://www.mapbox.com/about/maps/). This response and the information it contains may not be retained.',
|
|
||||||
};
|
|
|
@ -0,0 +1,505 @@
|
||||||
|
{
|
||||||
|
"json": [
|
||||||
|
{
|
||||||
|
"id": "CR-3509-0148-2024",
|
||||||
|
"distrcit_id": "350901",
|
||||||
|
"district_name": "Jombang",
|
||||||
|
"number_of_crime": 1,
|
||||||
|
"level": "low",
|
||||||
|
"score": 94,
|
||||||
|
"month": 1,
|
||||||
|
"year": 2024,
|
||||||
|
"geographics": [
|
||||||
|
{
|
||||||
|
"address": "Ngampelrejo, 68168, Jombang, Jember, East Java, Indonesia",
|
||||||
|
"land_area": 53.89,
|
||||||
|
"year": 2024
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"demographics": [
|
||||||
|
{
|
||||||
|
"number_of_unemployed": 13113,
|
||||||
|
"population": 56229,
|
||||||
|
"population_density": 1011.858916681663,
|
||||||
|
"year": 2024
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"incidents": [
|
||||||
|
{
|
||||||
|
"id": "CI-3509-2243-2024",
|
||||||
|
"timestamp": "2024-01-17T02:43:00.000Z",
|
||||||
|
"description": "Laporan kenakalan remaja terjadi pada Wed Jan 17 2024 09:43:00 GMT+0700 (Western Indonesia Time) di jalan utama Jombang",
|
||||||
|
"status": "resolved",
|
||||||
|
"category": "Kenakalan Remaja",
|
||||||
|
"type": "Pidana Umum",
|
||||||
|
"address": "Jalan Raya Sumberbaru No. 1, Jombang, Jember",
|
||||||
|
"latitude": -8.207667404400098,
|
||||||
|
"longitude": 113.3497229500003
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CR-3509-0149-2024",
|
||||||
|
"distrcit_id": "350901",
|
||||||
|
"district_name": "Jombang",
|
||||||
|
"number_of_crime": 1,
|
||||||
|
"level": "low",
|
||||||
|
"score": 94,
|
||||||
|
"month": 2,
|
||||||
|
"year": 2024,
|
||||||
|
"geographics": [
|
||||||
|
{
|
||||||
|
"address": "Ngampelrejo, 68168, Jombang, Jember, East Java, Indonesia",
|
||||||
|
"land_area": 53.89,
|
||||||
|
"year": 2024
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"demographics": [
|
||||||
|
{
|
||||||
|
"number_of_unemployed": 13113,
|
||||||
|
"population": 56229,
|
||||||
|
"population_density": 1011.858916681663,
|
||||||
|
"year": 2024
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"incidents": [
|
||||||
|
{
|
||||||
|
"id": "CI-3509-2244-2024",
|
||||||
|
"timestamp": "2024-02-26T16:31:00.000Z",
|
||||||
|
"description": "Kejadian perlindungan anak di perbatasan Jombang",
|
||||||
|
"status": "resolved",
|
||||||
|
"category": "Perlindungan Anak",
|
||||||
|
"type": "Pidana Umum",
|
||||||
|
"address": "Jalan Raya Sumberbaru No. 1, Jombang, Jember",
|
||||||
|
"latitude": -8.207667404400098,
|
||||||
|
"longitude": 113.3497229500003
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CR-3509-0150-2024",
|
||||||
|
"distrcit_id": "350901",
|
||||||
|
"district_name": "Jombang",
|
||||||
|
"number_of_crime": 4,
|
||||||
|
"level": "low",
|
||||||
|
"score": 75,
|
||||||
|
"month": 3,
|
||||||
|
"year": 2024,
|
||||||
|
"geographics": [
|
||||||
|
{
|
||||||
|
"address": "Ngampelrejo, 68168, Jombang, Jember, East Java, Indonesia",
|
||||||
|
"land_area": 53.89,
|
||||||
|
"year": 2024
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"demographics": [
|
||||||
|
{
|
||||||
|
"number_of_unemployed": 13113,
|
||||||
|
"population": 56229,
|
||||||
|
"population_density": 1011.858916681663,
|
||||||
|
"year": 2024
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"incidents": [
|
||||||
|
{
|
||||||
|
"id": "CI-3509-2245-2024",
|
||||||
|
"timestamp": "2024-03-06T19:08:00.000Z",
|
||||||
|
"description": "Insiden perlindungan konsumen terjadi di perbatasan Jombang",
|
||||||
|
"status": "resolved",
|
||||||
|
"category": "Perlindungan Konsumen",
|
||||||
|
"type": "Pidana Tertentu",
|
||||||
|
"address": "Jalan Raya Sumberbaru No. 1, Jombang, Jember",
|
||||||
|
"latitude": -8.207667404400098,
|
||||||
|
"longitude": 113.3497229500003
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CI-3509-2246-2024",
|
||||||
|
"timestamp": "2024-03-21T04:28:00.000Z",
|
||||||
|
"description": "Laporan terhadap ketertiban umum terjadi pada Thu Mar 21 2024 11:28:00 GMT+0700 (Western Indonesia Time) di jalan utama Jombang",
|
||||||
|
"status": "resolved",
|
||||||
|
"category": "Terhadap Ketertiban Umum",
|
||||||
|
"type": "Pidana Umum",
|
||||||
|
"address": "Jalan Raya Sumberbaru No. 1, Jombang, Jember",
|
||||||
|
"latitude": -8.207667404400098,
|
||||||
|
"longitude": 113.3497229500003
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CI-3509-2247-2024",
|
||||||
|
"timestamp": "2024-03-14T23:13:00.000Z",
|
||||||
|
"description": "Insiden selundup senpi terjadi di jalan utama Jombang",
|
||||||
|
"status": "resolved",
|
||||||
|
"category": "Selundup Senpi",
|
||||||
|
"type": "Pidana Tertentu",
|
||||||
|
"address": "Jalan Raya Sumberbaru No. 1, Jombang, Jember",
|
||||||
|
"latitude": -8.207667404400098,
|
||||||
|
"longitude": 113.3497229500003
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CI-3509-2248-2024",
|
||||||
|
"timestamp": "2024-03-03T16:54:00.000Z",
|
||||||
|
"description": "Insiden ekstradisi terjadi di wilayah Jombang",
|
||||||
|
"status": "resolved",
|
||||||
|
"category": "Ekstradisi",
|
||||||
|
"type": "Pidana Umum",
|
||||||
|
"address": "Jalan Raya Sumberbaru No. 1, Jombang, Jember",
|
||||||
|
"latitude": -8.207667404400098,
|
||||||
|
"longitude": 113.3497229500003
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CR-3509-0151-2024",
|
||||||
|
"distrcit_id": "350901",
|
||||||
|
"district_name": "Jombang",
|
||||||
|
"number_of_crime": 2,
|
||||||
|
"level": "low",
|
||||||
|
"score": 88,
|
||||||
|
"month": 4,
|
||||||
|
"year": 2024,
|
||||||
|
"geographics": [
|
||||||
|
{
|
||||||
|
"address": "Ngampelrejo, 68168, Jombang, Jember, East Java, Indonesia",
|
||||||
|
"land_area": 53.89,
|
||||||
|
"year": 2024
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"demographics": [
|
||||||
|
{
|
||||||
|
"number_of_unemployed": 13113,
|
||||||
|
"population": 56229,
|
||||||
|
"population_density": 1011.858916681663,
|
||||||
|
"year": 2024
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"incidents": [
|
||||||
|
{
|
||||||
|
"id": "CI-3509-2249-2024",
|
||||||
|
"timestamp": "2024-04-03T12:14:00.000Z",
|
||||||
|
"description": "Insiden agraria terjadi di pasar Jombang",
|
||||||
|
"status": "resolved",
|
||||||
|
"category": "Agraria",
|
||||||
|
"type": "Pidana Umum",
|
||||||
|
"address": "Jalan Raya Sumberbaru No. 1, Jombang, Jember",
|
||||||
|
"latitude": -8.207667404400098,
|
||||||
|
"longitude": 113.3497229500003
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CI-3509-2250-2024",
|
||||||
|
"timestamp": "2024-04-22T10:17:00.000Z",
|
||||||
|
"description": "Curanmor dilaporkan di daerah Jombang",
|
||||||
|
"status": "resolved",
|
||||||
|
"category": "Curanmor",
|
||||||
|
"type": "Pidana Umum",
|
||||||
|
"address": "Jalan Raya Sumberbaru No. 1, Jombang, Jember",
|
||||||
|
"latitude": -8.207667404400098,
|
||||||
|
"longitude": 113.3497229500003
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CR-3509-0152-2024",
|
||||||
|
"distrcit_id": "350901",
|
||||||
|
"district_name": "Jombang",
|
||||||
|
"number_of_crime": 2,
|
||||||
|
"level": "low",
|
||||||
|
"score": 88,
|
||||||
|
"month": 5,
|
||||||
|
"year": 2024,
|
||||||
|
"geographics": [
|
||||||
|
{
|
||||||
|
"address": "Ngampelrejo, 68168, Jombang, Jember, East Java, Indonesia",
|
||||||
|
"land_area": 53.89,
|
||||||
|
"year": 2024
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"demographics": [
|
||||||
|
{
|
||||||
|
"number_of_unemployed": 13113,
|
||||||
|
"population": 56229,
|
||||||
|
"population_density": 1011.858916681663,
|
||||||
|
"year": 2024
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"incidents": [
|
||||||
|
{
|
||||||
|
"id": "CI-3509-2251-2024",
|
||||||
|
"timestamp": "2024-05-30T03:01:00.000Z",
|
||||||
|
"description": "Kasus trans ekonomi crime Jalan Raya Sumberbaru No. 1, Jombang, Jember",
|
||||||
|
"status": "resolved",
|
||||||
|
"category": "Trans Ekonomi Crime",
|
||||||
|
"type": "Pidana Tertentu",
|
||||||
|
"address": "Jalan Raya Sumberbaru No. 1, Jombang, Jember",
|
||||||
|
"latitude": -8.207667404400098,
|
||||||
|
"longitude": 113.3497229500003
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CI-3509-2252-2024",
|
||||||
|
"timestamp": "2024-05-24T01:40:00.000Z",
|
||||||
|
"description": "Insiden terhadap ketertiban umum terjadi di daerah Jombang",
|
||||||
|
"status": "resolved",
|
||||||
|
"category": "Terhadap Ketertiban Umum",
|
||||||
|
"type": "Pidana Umum",
|
||||||
|
"address": "Jalan Raya Sumberbaru No. 1, Jombang, Jember",
|
||||||
|
"latitude": -8.207667404400098,
|
||||||
|
"longitude": 113.3497229500003
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CR-3509-0153-2024",
|
||||||
|
"distrcit_id": "350901",
|
||||||
|
"district_name": "Jombang",
|
||||||
|
"number_of_crime": 1,
|
||||||
|
"level": "low",
|
||||||
|
"score": 94,
|
||||||
|
"month": 6,
|
||||||
|
"year": 2024,
|
||||||
|
"geographics": [
|
||||||
|
{
|
||||||
|
"address": "Ngampelrejo, 68168, Jombang, Jember, East Java, Indonesia",
|
||||||
|
"land_area": 53.89,
|
||||||
|
"year": 2024
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"demographics": [
|
||||||
|
{
|
||||||
|
"number_of_unemployed": 13113,
|
||||||
|
"population": 56229,
|
||||||
|
"population_density": 1011.858916681663,
|
||||||
|
"year": 2024
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"incidents": [
|
||||||
|
{
|
||||||
|
"id": "CI-3509-2253-2024",
|
||||||
|
"timestamp": "2024-06-04T12:32:00.000Z",
|
||||||
|
"description": "Insiden pengrusakan terjadi di perbatasan Jombang",
|
||||||
|
"status": "resolved",
|
||||||
|
"category": "Pengrusakan",
|
||||||
|
"type": "Pidana Umum",
|
||||||
|
"address": "Jalan Raya Sumberbaru No. 1, Jombang, Jember",
|
||||||
|
"latitude": -8.207667404400098,
|
||||||
|
"longitude": 113.3497229500003
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CR-3509-0154-2024",
|
||||||
|
"distrcit_id": "350901",
|
||||||
|
"district_name": "Jombang",
|
||||||
|
"number_of_crime": 2,
|
||||||
|
"level": "low",
|
||||||
|
"score": 88,
|
||||||
|
"month": 7,
|
||||||
|
"year": 2024,
|
||||||
|
"geographics": [
|
||||||
|
{
|
||||||
|
"address": "Ngampelrejo, 68168, Jombang, Jember, East Java, Indonesia",
|
||||||
|
"land_area": 53.89,
|
||||||
|
"year": 2024
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"demographics": [
|
||||||
|
{
|
||||||
|
"number_of_unemployed": 13113,
|
||||||
|
"population": 56229,
|
||||||
|
"population_density": 1011.858916681663,
|
||||||
|
"year": 2024
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"incidents": [
|
||||||
|
{
|
||||||
|
"id": "CI-3509-2254-2024",
|
||||||
|
"timestamp": "2024-07-01T18:32:00.000Z",
|
||||||
|
"description": "Penadahan dilaporkan di jalan utama Jombang",
|
||||||
|
"status": "resolved",
|
||||||
|
"category": "Penadahan",
|
||||||
|
"type": "Pidana Umum",
|
||||||
|
"address": "Jalan Raya Sumberbaru No. 1, Jombang, Jember",
|
||||||
|
"latitude": -8.207667404400098,
|
||||||
|
"longitude": 113.3497229500003
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CI-3509-2255-2024",
|
||||||
|
"timestamp": "2024-07-09T17:49:00.000Z",
|
||||||
|
"description": "Satwa dilaporkan di daerah Jombang",
|
||||||
|
"status": "resolved",
|
||||||
|
"category": "Satwa",
|
||||||
|
"type": "Pidana Tertentu",
|
||||||
|
"address": "Jalan Raya Sumberbaru No. 1, Jombang, Jember",
|
||||||
|
"latitude": -8.207667404400098,
|
||||||
|
"longitude": 113.3497229500003
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CR-3509-0155-2024",
|
||||||
|
"distrcit_id": "350901",
|
||||||
|
"district_name": "Jombang",
|
||||||
|
"number_of_crime": 3,
|
||||||
|
"level": "low",
|
||||||
|
"score": 82,
|
||||||
|
"month": 8,
|
||||||
|
"year": 2024,
|
||||||
|
"geographics": [
|
||||||
|
{
|
||||||
|
"address": "Ngampelrejo, 68168, Jombang, Jember, East Java, Indonesia",
|
||||||
|
"land_area": 53.89,
|
||||||
|
"year": 2024
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"demographics": [
|
||||||
|
{
|
||||||
|
"number_of_unemployed": 13113,
|
||||||
|
"population": 56229,
|
||||||
|
"population_density": 1011.858916681663,
|
||||||
|
"year": 2024
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"incidents": [
|
||||||
|
{
|
||||||
|
"id": "CI-3509-2256-2024",
|
||||||
|
"timestamp": "2024-08-25T09:25:00.000Z",
|
||||||
|
"description": "Kasus penyelenggaraan pemilu Jalan Raya Sumberbaru No. 1, Jombang, Jember",
|
||||||
|
"status": "resolved",
|
||||||
|
"category": "Penyelenggaraan Pemilu",
|
||||||
|
"type": "Pidana Umum",
|
||||||
|
"address": "Jalan Raya Sumberbaru No. 1, Jombang, Jember",
|
||||||
|
"latitude": -8.207667404400098,
|
||||||
|
"longitude": 113.3497229500003
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CI-3509-2257-2024",
|
||||||
|
"timestamp": "2024-08-30T03:36:00.000Z",
|
||||||
|
"description": "Laporan pekerjakan anak terjadi pada Fri Aug 30 2024 10:36:00 GMT+0700 (Western Indonesia Time) di pasar Jombang",
|
||||||
|
"status": "resolved",
|
||||||
|
"category": "Pekerjakan Anak",
|
||||||
|
"type": "Pidana Umum",
|
||||||
|
"address": "Jalan Raya Sumberbaru No. 1, Jombang, Jember",
|
||||||
|
"latitude": -8.207667404400098,
|
||||||
|
"longitude": 113.3497229500003
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CI-3509-2258-2024",
|
||||||
|
"timestamp": "2024-08-21T13:52:00.000Z",
|
||||||
|
"description": "Kasus menerima suap Jalan Raya Sumberbaru No. 1, Jombang, Jember",
|
||||||
|
"status": "resolved",
|
||||||
|
"category": "Menerima Suap",
|
||||||
|
"type": "Pidana Umum",
|
||||||
|
"address": "Jalan Raya Sumberbaru No. 1, Jombang, Jember",
|
||||||
|
"latitude": -8.207667404400098,
|
||||||
|
"longitude": 113.3497229500003
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CR-3509-0156-2024",
|
||||||
|
"distrcit_id": "350901",
|
||||||
|
"district_name": "Jombang",
|
||||||
|
"number_of_crime": 2,
|
||||||
|
"level": "low",
|
||||||
|
"score": 88,
|
||||||
|
"month": 9,
|
||||||
|
"year": 2024,
|
||||||
|
"geographics": [
|
||||||
|
{
|
||||||
|
"address": "Ngampelrejo, 68168, Jombang, Jember, East Java, Indonesia",
|
||||||
|
"land_area": 53.89,
|
||||||
|
"year": 2024
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"demographics": [
|
||||||
|
{
|
||||||
|
"number_of_unemployed": 13113,
|
||||||
|
"population": 56229,
|
||||||
|
"population_density": 1011.858916681663,
|
||||||
|
"year": 2024
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"incidents": [
|
||||||
|
{
|
||||||
|
"id": "CI-3509-2259-2024",
|
||||||
|
"timestamp": "2024-09-12T22:50:00.000Z",
|
||||||
|
"description": "Kejadian korupsi di pasar Jombang",
|
||||||
|
"status": "resolved",
|
||||||
|
"category": "Korupsi",
|
||||||
|
"type": "Korupsi",
|
||||||
|
"address": "Jalan Raya Sumberbaru No. 1, Jombang, Jember",
|
||||||
|
"latitude": -8.207667404400098,
|
||||||
|
"longitude": 113.3497229500003
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CI-3509-2260-2024",
|
||||||
|
"timestamp": "2024-09-01T17:56:00.000Z",
|
||||||
|
"description": "Laporan pemalsuan surat terjadi pada Mon Sep 02 2024 00:56:00 GMT+0700 (Western Indonesia Time) di daerah Jombang",
|
||||||
|
"status": "resolved",
|
||||||
|
"category": "Pemalsuan Surat",
|
||||||
|
"type": "Pidana Umum",
|
||||||
|
"address": "Jalan Raya Sumberbaru No. 1, Jombang, Jember",
|
||||||
|
"latitude": -8.207667404400098,
|
||||||
|
"longitude": 113.3497229500003
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CR-3509-0157-2024",
|
||||||
|
"distrcit_id": "350901",
|
||||||
|
"district_name": "Jombang",
|
||||||
|
"number_of_crime": 3,
|
||||||
|
"level": "low",
|
||||||
|
"score": 82,
|
||||||
|
"month": 10,
|
||||||
|
"year": 2024,
|
||||||
|
"geographics": [
|
||||||
|
{
|
||||||
|
"address": "Ngampelrejo, 68168, Jombang, Jember, East Java, Indonesia",
|
||||||
|
"land_area": 53.89,
|
||||||
|
"year": 2024
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"demographics": [
|
||||||
|
{
|
||||||
|
"number_of_unemployed": 13113,
|
||||||
|
"population": 56229,
|
||||||
|
"population_density": 1011.858916681663,
|
||||||
|
"year": 2024
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"incidents": [
|
||||||
|
{
|
||||||
|
"id": "CI-3509-2261-2024",
|
||||||
|
"timestamp": "2024-10-26T02:32:00.000Z",
|
||||||
|
"description": "Laporan menerima suap terjadi pada Sat Oct 26 2024 09:32:00 GMT+0700 (Western Indonesia Time) di pasar Jombang",
|
||||||
|
"status": "resolved",
|
||||||
|
"category": "Menerima Suap",
|
||||||
|
"type": "Pidana Umum",
|
||||||
|
"address": "Jalan Raya Sumberbaru No. 1, Jombang, Jember",
|
||||||
|
"latitude": -8.207667404400098,
|
||||||
|
"longitude": 113.3497229500003
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CI-3509-2262-2024",
|
||||||
|
"timestamp": "2024-10-25T14:48:00.000Z",
|
||||||
|
"description": "Trafficking In Person dilaporkan di wilayah Jombang",
|
||||||
|
"status": "resolved",
|
||||||
|
"category": "Trafficking In Person",
|
||||||
|
"type": "Pidana Tertentu",
|
||||||
|
"address": "Jalan Raya Sumberbaru No. 1, Jombang, Jember",
|
||||||
|
"latitude": -8.207667404400098,
|
||||||
|
"longitude": 113.3497229500003
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CI-3509-2263-2024",
|
||||||
|
"timestamp": "2024-10-31T12:47:00.000Z",
|
||||||
|
"description": "Kasus money loudering Jalan Raya Sumberbaru No. 1, Jombang, Jember",
|
||||||
|
"status": "resolved",
|
||||||
|
"category": "Money Loudering",
|
||||||
|
"type": "Pidana Tertentu",
|
||||||
|
"address": "Jalan Raya Sumberbaru No. 1, Jombang, Jember",
|
||||||
|
"latitude": -8.207667404400098,
|
||||||
|
"longitude": 113.3497229500003
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -150,6 +150,7 @@ export class CrimeIncidentsSeeder {
|
||||||
select: {
|
select: {
|
||||||
latitude: true,
|
latitude: true,
|
||||||
longitude: true,
|
longitude: true,
|
||||||
|
land_area: true,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -160,20 +161,68 @@ export class CrimeIncidentsSeeder {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Generate random coordinates within district boundary (with small variation)
|
// Generate multiple coordinates for this district to add more variety
|
||||||
const radius = 0.02; // Approximately 2km
|
// We'll create a pool of 5-10 potential locations and select from them randomly for each incident
|
||||||
const angle = Math.random() * Math.PI * 2; // Random angle in radians
|
const locationPool = [];
|
||||||
const distance = Math.sqrt(Math.random()) * radius; // Random distance within circle
|
const numLocations = Math.floor(Math.random() * 6) + 5; // 5-10 locations
|
||||||
|
|
||||||
// Calculate offset using simple approximation (not exact but good enough for this purpose)
|
// Scale radius based on district land area if available
|
||||||
const latOffset = distance * Math.cos(angle);
|
// This creates more realistic distribution based on district size
|
||||||
const lngOffset = distance * Math.sin(angle);
|
let baseRadius = 0.02; // Default ~2km
|
||||||
|
if (geo.land_area) {
|
||||||
|
// Adjust radius based on land area - larger districts get larger radius
|
||||||
|
// Square root of area provides a reasonable scale factor
|
||||||
|
const areaFactor = Math.sqrt(geo.land_area) / 100;
|
||||||
|
baseRadius = Math.max(0.01, Math.min(0.05, areaFactor * 0.03));
|
||||||
|
}
|
||||||
|
|
||||||
// Apply offset to base coordinates
|
for (let i = 0; i < numLocations; i++) {
|
||||||
const latitude = geo.latitude + latOffset;
|
// Create more varied locations by using different radiuses
|
||||||
const longitude = geo.longitude + lngOffset;
|
const radiusVariation = Math.random() * 0.5 + 0.5; // 50% to 150% of base radius
|
||||||
|
const radius = baseRadius * radiusVariation;
|
||||||
|
|
||||||
// List of common street names in Jember
|
// Different angle for each location
|
||||||
|
const angle = Math.random() * Math.PI * 2;
|
||||||
|
|
||||||
|
// Use different distance distribution patterns
|
||||||
|
// Some close to center, some at middle distance, some near the edge
|
||||||
|
let distance;
|
||||||
|
const patternType = Math.floor(Math.random() * 3);
|
||||||
|
switch (patternType) {
|
||||||
|
case 0: // Close to center
|
||||||
|
distance = Math.random() * 0.4 * radius;
|
||||||
|
break;
|
||||||
|
case 1: // Middle range
|
||||||
|
distance = (0.4 + Math.random() * 0.3) * radius;
|
||||||
|
break;
|
||||||
|
case 2: // Edge of district
|
||||||
|
distance = (0.7 + Math.random() * 0.3) * radius;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!distance || !angle) {
|
||||||
|
console.error(
|
||||||
|
`Invalid distance or angle for location generation, skipping.`
|
||||||
|
);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Calculate offset with improved approximation
|
||||||
|
const latOffset = distance * Math.cos(angle);
|
||||||
|
const lngOffset = distance * Math.sin(angle);
|
||||||
|
|
||||||
|
// Apply offset to base coordinates
|
||||||
|
const latitude = geo.latitude + latOffset;
|
||||||
|
const longitude = geo.longitude + lngOffset;
|
||||||
|
|
||||||
|
locationPool.push({
|
||||||
|
latitude,
|
||||||
|
longitude,
|
||||||
|
radius: distance * 1000, // Convert to meters for reference
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// List of common street names in Jember with more variety
|
||||||
const jemberStreets = [
|
const jemberStreets = [
|
||||||
'Jalan Pahlawan',
|
'Jalan Pahlawan',
|
||||||
'Jalan Merdeka',
|
'Jalan Merdeka',
|
||||||
|
@ -184,11 +233,46 @@ export class CrimeIncidentsSeeder {
|
||||||
'Jalan Pantai',
|
'Jalan Pantai',
|
||||||
'Jalan Raya Sumberbaru',
|
'Jalan Raya Sumberbaru',
|
||||||
'Jalan Abdurrahman Saleh',
|
'Jalan Abdurrahman Saleh',
|
||||||
|
'Jalan Mastrip',
|
||||||
|
'Jalan PB Sudirman',
|
||||||
|
'Jalan Kalimantan',
|
||||||
|
'Jalan Sumatra',
|
||||||
|
'Jalan Jawa',
|
||||||
|
'Jalan Gajah Mada',
|
||||||
|
'Jalan Letjen Suprapto',
|
||||||
|
'Jalan Hayam Wuruk',
|
||||||
|
'Jalan Trunojoyo',
|
||||||
|
'Jalan Imam Bonjol',
|
||||||
|
'Jalan Diponegoro',
|
||||||
|
'Jalan Ahmad Yani',
|
||||||
|
'Jalan Kartini',
|
||||||
|
'Jalan Gatot Subroto',
|
||||||
|
];
|
||||||
|
|
||||||
|
// More varied place types
|
||||||
|
const placeTypes = [
|
||||||
|
'Perumahan',
|
||||||
|
'Apartemen',
|
||||||
|
'Komplek',
|
||||||
|
'Pasar',
|
||||||
|
'Toko',
|
||||||
|
'Terminal',
|
||||||
|
'Stasiun',
|
||||||
|
'Kampus',
|
||||||
|
'Sekolah',
|
||||||
|
'Perkantoran',
|
||||||
|
'Pertokoan',
|
||||||
|
'Pusat Perbelanjaan',
|
||||||
|
'Taman',
|
||||||
|
'Alun-alun',
|
||||||
|
'Simpang',
|
||||||
|
'Pertigaan',
|
||||||
|
'Perempatan',
|
||||||
];
|
];
|
||||||
|
|
||||||
const user = await this.prisma.users.findFirst({
|
const user = await this.prisma.users.findFirst({
|
||||||
where: {
|
where: {
|
||||||
email: 'admin@sigap.id',
|
email: 'admin@gmail.com',
|
||||||
},
|
},
|
||||||
select: {
|
select: {
|
||||||
id: true,
|
id: true,
|
||||||
|
@ -211,53 +295,6 @@ export class CrimeIncidentsSeeder {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Generate a random address in Jember
|
|
||||||
const streetName =
|
|
||||||
jemberStreets[Math.floor(Math.random() * jemberStreets.length)];
|
|
||||||
const buildingNumber = Math.floor(Math.random() * 200) + 1;
|
|
||||||
const randomAddress = `${streetName} No. ${buildingNumber}, ${district.name}, Jember`;
|
|
||||||
|
|
||||||
const locationData: Partial<ICreateLocations> = {
|
|
||||||
district_id: district.id,
|
|
||||||
event_id: event.id,
|
|
||||||
address: randomAddress,
|
|
||||||
type: 'crime',
|
|
||||||
latitude: latitude,
|
|
||||||
longitude: longitude,
|
|
||||||
location: `POINT(${longitude} ${latitude})`,
|
|
||||||
};
|
|
||||||
|
|
||||||
let { data: newLocation, error } = await this.supabase
|
|
||||||
.from('locations')
|
|
||||||
.insert([locationData])
|
|
||||||
.select();
|
|
||||||
|
|
||||||
if (error) {
|
|
||||||
console.error(
|
|
||||||
`Error inserting into locations for district ${district.name} (${crime.year}):`,
|
|
||||||
error
|
|
||||||
);
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
|
|
||||||
const location = await this.prisma.locations.findFirst({
|
|
||||||
where: {
|
|
||||||
event_id: event.id,
|
|
||||||
district_id: district.id,
|
|
||||||
},
|
|
||||||
select: {
|
|
||||||
id: true,
|
|
||||||
address: true,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!location) {
|
|
||||||
console.error(
|
|
||||||
`Location not found for district ${district.name} (${crime.year}), skipping.`
|
|
||||||
);
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get crime_cleared data from the loaded CSV
|
// Get crime_cleared data from the loaded CSV
|
||||||
const key = `${crime.district_id}-${crime.month}-${crime.year}`;
|
const key = `${crime.district_id}-${crime.month}-${crime.year}`;
|
||||||
const crimeMonthlyInfo = this.crimeMonthlyData.get(key);
|
const crimeMonthlyInfo = this.crimeMonthlyData.get(key);
|
||||||
|
@ -301,6 +338,76 @@ export class CrimeIncidentsSeeder {
|
||||||
|
|
||||||
const timestamp = new Date(year, month, day, hour, minute);
|
const timestamp = new Date(year, month, day, hour, minute);
|
||||||
|
|
||||||
|
// Select a random location from our pool
|
||||||
|
const randomLocationIndex = Math.floor(
|
||||||
|
Math.random() * locationPool.length
|
||||||
|
);
|
||||||
|
const selectedLocation = locationPool[randomLocationIndex];
|
||||||
|
|
||||||
|
// Generate varied address details
|
||||||
|
const streetName =
|
||||||
|
jemberStreets[Math.floor(Math.random() * jemberStreets.length)];
|
||||||
|
const buildingNumber = Math.floor(Math.random() * 200) + 1;
|
||||||
|
const placeType =
|
||||||
|
placeTypes[Math.floor(Math.random() * placeTypes.length)];
|
||||||
|
|
||||||
|
// Create more varied addresses
|
||||||
|
let randomAddress;
|
||||||
|
const addressType = Math.floor(Math.random() * 3);
|
||||||
|
switch (addressType) {
|
||||||
|
case 0:
|
||||||
|
randomAddress = `${streetName} No. ${buildingNumber}, ${district.name}, Jember`;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
randomAddress = `${placeType} ${district.name}, ${streetName}, Jember`;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
randomAddress = `${streetName} Blok ${String.fromCharCode(65 + Math.floor(Math.random() * 26))}-${Math.floor(Math.random() * 20) + 1}, ${district.name}, Jember`;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
const locationData: Partial<ICreateLocations> = {
|
||||||
|
district_id: district.id,
|
||||||
|
event_id: event.id,
|
||||||
|
address: randomAddress,
|
||||||
|
type: 'crime',
|
||||||
|
latitude: selectedLocation.latitude,
|
||||||
|
longitude: selectedLocation.longitude,
|
||||||
|
location: `POINT(${selectedLocation.longitude} ${selectedLocation.latitude})`,
|
||||||
|
};
|
||||||
|
|
||||||
|
let { data: newLocation, error } = await this.supabase
|
||||||
|
.from('locations')
|
||||||
|
.insert([locationData])
|
||||||
|
.select();
|
||||||
|
|
||||||
|
if (error) {
|
||||||
|
console.error(
|
||||||
|
`Error inserting into locations for district ${district.name} (${crime.year}):`,
|
||||||
|
error
|
||||||
|
);
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
const location = await this.prisma.locations.findFirst({
|
||||||
|
where: {
|
||||||
|
event_id: event.id,
|
||||||
|
district_id: district.id,
|
||||||
|
address: randomAddress,
|
||||||
|
},
|
||||||
|
select: {
|
||||||
|
id: true,
|
||||||
|
address: true,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!location) {
|
||||||
|
console.error(
|
||||||
|
`Location not found for district ${district.name} (${crime.year}), skipping.`
|
||||||
|
);
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
// Generate a unique ID for the incident
|
// Generate a unique ID for the incident
|
||||||
const incidentId = generateId({
|
const incidentId = generateId({
|
||||||
prefix: 'CI',
|
prefix: 'CI',
|
||||||
|
@ -319,7 +426,8 @@ export class CrimeIncidentsSeeder {
|
||||||
// If i < crimesCleared, this incident is resolved, otherwise unresolved
|
// If i < crimesCleared, this incident is resolved, otherwise unresolved
|
||||||
const status = i < crimesCleared ? 'resolved' : 'unresolved';
|
const status = i < crimesCleared ? 'resolved' : 'unresolved';
|
||||||
|
|
||||||
const randomLocation = [
|
// More detailed location descriptions
|
||||||
|
const locs = [
|
||||||
`di daerah ${district.name}`,
|
`di daerah ${district.name}`,
|
||||||
`di sekitar ${district.name}`,
|
`di sekitar ${district.name}`,
|
||||||
`di wilayah ${district.name}`,
|
`di wilayah ${district.name}`,
|
||||||
|
@ -327,14 +435,29 @@ export class CrimeIncidentsSeeder {
|
||||||
`di perumahan ${district.name}`,
|
`di perumahan ${district.name}`,
|
||||||
`di pasar ${district.name}`,
|
`di pasar ${district.name}`,
|
||||||
`di perbatasan ${district.name}`,
|
`di perbatasan ${district.name}`,
|
||||||
|
`di kawasan ${placeType.toLowerCase()} ${district.name}`,
|
||||||
|
`di persimpangan jalan ${streetName}`,
|
||||||
|
`di dekat ${placeType.toLowerCase()} ${district.name}`,
|
||||||
|
`di belakang ${placeType.toLowerCase()} ${district.name}`,
|
||||||
|
`di area ${streetName}`,
|
||||||
|
`di sekitar ${streetName} ${district.name}`,
|
||||||
|
`tidak jauh dari pusat ${district.name}`,
|
||||||
|
`di pinggiran ${district.name}`,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
const randomLocation = locs[Math.floor(Math.random() * locs.length)];
|
||||||
|
|
||||||
const descriptions = [
|
const descriptions = [
|
||||||
`Kasus ${randomCategory.name.toLowerCase()} ${location.address}`,
|
`Kasus ${randomCategory.name.toLowerCase()} ${location.address}`,
|
||||||
`Laporan ${randomCategory.name.toLowerCase()} terjadi pada ${timestamp} ${randomLocation}`,
|
`Laporan ${randomCategory.name.toLowerCase()} terjadi pada ${timestamp} ${randomLocation}`,
|
||||||
`${randomCategory.name} dilaporkan ${randomLocation}`,
|
`${randomCategory.name} dilaporkan ${randomLocation}`,
|
||||||
`Insiden ${randomCategory.name.toLowerCase()} terjadi ${randomLocation}`,
|
`Insiden ${randomCategory.name.toLowerCase()} terjadi ${randomLocation}`,
|
||||||
`Kejadian ${randomCategory.name.toLowerCase()} ${randomLocation}`,
|
`Kejadian ${randomCategory.name.toLowerCase()} ${randomLocation}`,
|
||||||
|
`${randomCategory.name} terdeteksi ${randomLocation} pada ${timestamp.toLocaleTimeString()}`,
|
||||||
|
`Pelaporan ${randomCategory.name.toLowerCase()} di ${location.address}`,
|
||||||
|
`Kasus ${randomCategory.name.toLowerCase()} terjadi di ${streetName}`,
|
||||||
|
`${randomCategory.name} terjadi di dekat ${placeType.toLowerCase()} ${district.name}`,
|
||||||
|
`Insiden ${randomCategory.name.toLowerCase()} dilaporkan warga setempat ${randomLocation}`,
|
||||||
];
|
];
|
||||||
|
|
||||||
const randomDescription =
|
const randomDescription =
|
||||||
|
|
|
@ -72,12 +72,18 @@ export class CrimesSeeder {
|
||||||
// Create test users
|
// Create test users
|
||||||
const user = await this.prisma.users.create({
|
const user = await this.prisma.users.create({
|
||||||
data: {
|
data: {
|
||||||
email: `admin@sigap.id`,
|
email: `admin@gmail.com`,
|
||||||
roles_id: roleId.id,
|
roles_id: roleId.id,
|
||||||
encrypted_password: 'sigap123',
|
|
||||||
confirmed_at: new Date(),
|
confirmed_at: new Date(),
|
||||||
email_confirmed_at: new Date(),
|
email_confirmed_at: new Date(),
|
||||||
is_anonymous: false,
|
is_anonymous: false,
|
||||||
|
profile: {
|
||||||
|
create: {
|
||||||
|
first_name: 'Admin',
|
||||||
|
last_name: 'Sigap',
|
||||||
|
username: 'admin',
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,7 @@ export class RoleSeeder {
|
||||||
await this.prisma.locations.deleteMany({});
|
await this.prisma.locations.deleteMany({});
|
||||||
await this.prisma.events.deleteMany({});
|
await this.prisma.events.deleteMany({});
|
||||||
await this.prisma.permissions.deleteMany({});
|
await this.prisma.permissions.deleteMany({});
|
||||||
|
await this.prisma.profiles.deleteMany({});
|
||||||
await this.prisma.users.deleteMany({});
|
await this.prisma.users.deleteMany({});
|
||||||
await this.prisma.roles.deleteMany({});
|
await this.prisma.roles.deleteMany({});
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue