아디스아바바바의 잠재적 공립학교 위치를 분석하고 확인하기 위한 인터넷 기반 GIS 어플리케이션 개발

소개하다.


아디스아바바의 인구 상황은 과거 몇 십 년 동안 변화가 생겼다.인구가 끊임없이 증가하여 일찍이 거주하기에 적합하지 않았던 많은 삼림이 지금은 교외의 주민 구역이 되었다.그러나 공립학교의 건설은 도시의 급격한 변화를 따라가지 못했다.
도시 주민 구역의 증가로 인해 공립학교 건설에 적합한 새로운 지점을 확정해야 한다.도시의 동태 변화로 인해 적당한 분석을 하기 위한 도구가 필요하다.따라서 공립학교 건설에서 더 좋은 결정을 내릴 수 있다.

프로젝트 목적


이 프로젝트의 목표는 인터넷 기반의 도구를 개발하여 아디스아바바에서 적당한 공립학교 장소를 확정하는 동시에 다음과 같은 요소를 고려하는 것이다.
  • 주거지에서 건설 예정지까지의 교통 가용성
  • 건설 위치와 주민 구역의 거리
  • 공립학교를 건설한 거주지역 인구 통계
  • 1. 교통 가용성


    장소의 적합성은 주택지역에서 건설 현장까지의 교통 가용성을 고려해야 한다.응용 프로그램은 교통의 가용성을 분석하고 실행 가능한 교통 통로가 없는 위치를 부적절하게 여겨야 한다.

    2. 주거지 근처


    우리의 사례에서 근접성은 특정한 위치와 주택 지역의 거리를 가리킨다.신청할 때는 주택가에 더 가까운 위치를 고려해야 한다.

    3. 거주지역 인구 통계


    새로운 공립학교 입지를 건의할 때는 거주지역 인구도 고려해야 한다.인구 규모와 거주지역 규모는 새로운 위치를 확정하는 주요 요소로 삼아야 한다.

    프로젝트 범위


    이 프로젝트의 중점은 공립학교 건설의 장소 적합성을 분석하고 확정하는 것이다.그것도 아디스아바바에만 한정된다.그러나 이런 제한은 강제 집행되지 않았다.이 앱은 경계 사이의 주택가를 포함할 만큼 유연하다.이 앱은 앞으로 나올 학교와 주택가에 대한 추가 데이터를 포함해 확장할 수 있다.

    데이터 수집, 어셈블리 및 포맷


    학교와 주택가에 대한 초기 데이터는 openstreetmap에서 수집되었다.Overpass API의 도움말 아래 openstreetmap에서 데이터를 추출하여 PostGIS 확장자가 있는 PostgreSQL 데이터베이스에 저장합니다.
    일부 불필요한 데이터도 데이터베이스에서 삭제된다.이름이 없는 데이터와 다른 부족한 정보도 삭제되었다.

    응용 프로그램의 설계와 개발


    응용 프로그램의 공간 정보는 PostGIS 확장자가 있는 PostgreSQL 데이터베이스에 저장됩니다.PostGIS 확장을 통해 PostgreSQL 데이터베이스에 공간 데이터를 저장할 수 있습니다.사용자가 상호작용으로 공간 정보를 조회하고 분석할 수 있도록 GeoDjango 서버를 사용했다.GeoDjangopython 기반의 웹 서버 응용 프로그램으로 GIS 기능을 갖추고 있다.이것은 데이터베이스에 대한 공간 분석을 허용하고 웹 기반의 사용자 인터페이스를 배치할 수 있다.
    다음 그림은 GeoDjango 웹 응용 프로그램의 기본 아키텍처를 보여줍니다.

    응용 프로그램이 제공하는 도구는 많은 사용자들이 사용할 수 있지만, 데이터 수정은 사실을 왜곡하지 않도록 특권 사용자가 처리해야 한다.이 응용 프로그램은 여러 사용자가 분석 도구를 사용하여 학교에 대한 일반 정보를 얻을 수 있도록 하기 위한 것이다
    그리고 주택지역, 그리고 학교 건설에 적합한 위치를 찾습니다.

    위의 그림은 시스템의 작업 방안을 보여 준다.작업 시나리오는 다음과 같습니다.
  • 사용자가 요청을 보내면 해당 요청이 인터넷을 통해 서버로 전송됩니다
  • .
  • 서버에서 요청을 처리하고 데이터베이스 서버
  • 에서 데이터를 가져옵니다.
  • 데이터베이스에 있는 데이터는 검색되어 응용 서버에 전송됩니다.
  • 그리고 응용 서버가 처리한 데이터를 사용자에게 발송
  • 관리자와 일반 사용자는 일반적으로 같은 과정을 겪는데 관건적인 차이점은 관리자가 데이터베이스 서버에 저장된 정보를 수정할 수 있다는 것이다.
    UML 디자인은 데이터와 시스템에 실현될 다른 대상 간의 상호작용을 설명한다.

    애플리케이션 기능 및 특징


    이 응용 프로그램은 학교를 분석하는 세 가지 도구를 제공했다.이러한 도구는 기본적인 GIS 기능을 이용하여 분석에 유용한 조작을 제공한다.

    거리 분석


    이 도구는 사용자로 하여금 임의의 위치에서 더 가까운 학교를 찾을 수 있게 한다.이 도구는 주로 거리 함수를 사용한다.거리 함수는 백엔드 데이터베이스에서 지원하는 거리 계산의 추상적이다.그것은 우리로 하여금 두 지리 구역 사이의 거리를 찾을 수 있게 한다.

    학교 형상화


    이 도구는 데이터베이스에 등록된 모든 학교에 대해 공간 분석을 한다.이 도구는 전단지 매핑 라이브러리를 사용한다.전단지는 앞에서 상호작용 지도를 만드는 데 사용되는 자바스크립트 라이브러리입니다.
    데이터베이스에 있는 공간 데이터를 사용하면 우리는 지도에 새로운 데이터를 동적으로 추가하여 웹 페이지에 표시할 수 있다.

    적당한 장소 분석


    이 도구는 특정 주택가에 새로운 공립학교가 필요한지 분석하는 데 도움이 된다.그것은 어디에 새 학교를 건설할 것인지에 대해 심각한 지시를 내렸다.
    주택가에 새 학교가 필요한지 확인하기 위해 신청서에는 대조할 수 있는 기준이 있다.이것들은 근접 표준, 사이즈 표준과 전체 표준이다

  • 인접 기준: 주택가에서 5킬로미터 떨어진 학교가 있는지 검사
    구역만약 사방 5킬로미터 안에 학교가 없다면, 그것은 실패이다.

  • 규모 기준: 학생 수가 거주지역 내의 학교와 비례하는지 검사
    구역거주지역에 대한 인구 통계 데이터는 데이터베이스에 저장되지 않고 광의적 데이터를 바탕으로 하는 알고리즘을 이용하여 근사 계산을 한다.이 알고리즘의 Python은 다음과 같이 구현됩니다.
  • 
    # area of residential area is square kms
    residential_area_sq_km = obj.area.sq_km
    # population density in addis ababa is 5165/km2
    population = 5165 * residential_area_sq_km
    # 43 % of the population is a student
    students = population * (43 / 100)
    ‘’’
    one school holds more than 10,000 students
    no_schools varaible gives us the number of schools that need to #
    be located in a 5km radius for the # criteria to pass
    ‘’’
    no_schools = math.ceil(students / 10000)
    

  • 총체적 기준: 크기와 접근 기준이 모두 통과되었는지 검사한다.이것은 거주 지역을 위해 새로운 학교를 건설해야 하는지의 여부를 결정했다.
  • 만약 거주지역이 전체 기준에 부합되지 않는다면, 그 지역에 새로운 공립학교가 필요하다는 것을 나타낸다.이 공구는 주택가의 질심에 5킬로미터 길이의 완충구를 만들어 새 학교의 건설 지점을 깊이 있게 파악했다.

    사용자 인터페이스


    계기판

    거리 분석표

    거리 분석 결과

    학교 형상화

    적당한 장소 분석

    적당한 장소 효과 - 새 학교가 필요하다

    적당한 장소 결과. - 새 학교 필요 없어요.

    소스 코드


    GitHub의 소스 코드 보기

    에우르베가 / gis 학교 분석 도구


    GeoDjango PostGIS로 제작된 GIS 스쿨 주소 분석 도구


    Geo Django 프로젝트, 아디스아바바바의 잠재적 공립학교 위치 분석 및 확인


    이 프로젝트의 목표는 인터넷 기반의 도구를 개발하여 적합한 공립학교를 확정하는 것이다
    아디스아바바시의 지점은 다음과 같은 요인을 고려한다.
  • 주거지에서 건설 예정지까지의 교통 가용성
  • 건설 위치와 주민 구역의 거리
  • 공립학교를 건설한 거주지역 인구 통계
  • 학교와 주택가에 대한 초기 데이터는 오픈 스트리트맵에서 나온 것입니다.도움 아래
    입체교차로 API에서 Openstreetmap에서 데이터를 추출하여 PostgreSQL 데이터베이스에 저장
    PostGIS 확장 기능 포함
    일부 불필요한 데이터도 데이터베이스에서 삭제된다.이름 및 기타 정보가 없는 데이터
    잃어버린 정보도 삭제되었다.

    로컬에서 실행


    이 프로젝트를 로컬에서 실행하려면 docker-compose를 사용하는 것이 가장 간단합니다.
    $…
    View on GitHub

    좋은 웹페이지 즐겨찾기