Никого нельзя выселять, и точка. Python и React могут помочь остановить это.

Введение

Выселение - это процесс насильственного выселения арендатора из его жилища на законных основаниях по решению суда, хотя зачастую домовладельцы« сделай сам незаконно». Обычно выселение представляет собой непрерывный процесс, когда муниципальный суд арендодателей-арендаторов рассматривает дела и заканчивается тем, что к вам в дверь стучится шериф, но мы не в обычное время. Большинству людей повезло, что их домовладельцы соблюдают закон, ожидая, пока суды снова откроются для подачи исков о выселениях, которые были закрыты в течение нескольких месяцев из-за продолжающегося кризиса COVID-19. Не повезло тем, кому посчастливилось иметь законопослушного домовладельца; теперь они живут с осознанием того, что столкнутся с бездомностью в неопределенный период времени.

Многие суды, которые занимаются вопросами домовладельцев и арендаторов, вообще не смогли справиться с делами о выселении, не говоря уже о нынешнем экономическом спаде. В этом нет ничего удивительного. Суды созданы не для помощи арендаторам; они являются бастионами защиты капитала, которые помогают землевладельцам получать сверхприбыли. Арендаторы часто плохо подготовлены, не имеют поддержки со стороны государственных органов и не могут позволить себе адекватное представительство в системе, созданной для спекулянтов. С этой несправедливостью должны бороться местные организации, в том числе союзы арендаторов и группы / службы, поддерживающие закон, которым не хватает инструментов и данных, необходимых для противодействия. Очевидно, что организация арендаторов - это отдельная наука, и большинство этих групп делают это очень хорошо. Наличие дополнительных сведений и инструментов для анализа этих данных позволит организаторам арендаторов с большей точностью и проницательностью ориентироваться в районах и арендодателях.

Мотивация

Как арендатор-организатор с Союзом арендаторов Филадельфии и Союзом студентов-арендаторов Дрексел, я не понаслышке знаком с его проблемами. Первым шагом всегда является выяснение того, с чем вы сталкиваетесь, что обычно включает использование инструментов сбора данных о городах, таких как Philadelphia Atlas.

Инструмент Атлас ни в коем случае не бесполезен; он дает значительный объем информации, но только для одного свойства. Информация об этой собственности обычно устарела или отсутствует фактический почтовый адрес владельца. Этот недостаток данных мешает исследователю / организатору делать значимые выводы, не углубляясь в, возможно, пустую кроличью нору поиска в Google названий с добавленными городами.

Я могу написать целую статью о том, как землевладельцы прячутся за данными, которые генерирует система. Тем не менее, пока я объясню только одну подходящую тактику. Арендодатели, особенно проблемные из них, будут прятаться за, казалось бы, бесконечным количеством подставных компаний, которые почти не понимают, кому они принадлежат. Эти подставные компании, ООО и партнерства создают еще одну проблему, делая это тоже, как узнать, чем владеет «123 Street Road APT 3 LLC»? Хотя большинство из этих четко названных компаний владеют только той собственностью, которую они описывают, бывают случаи, когда данные показывают, сколько и где они владеют. Инструмент Philadelphia Atlas не сразу предоставит вам эту информацию. Система фильтрует только на основе свойства.

Можно утверждать, что фильтрация только по отдельным адресам является индивидуалистическим подходом к представлению данных об объекте недвижимости. Такой подход описывает ситуацию, когда только один арендатор, имеющий проблемы в одной квартире, лежит исключительно на плечах этого арендатора в миллионном городе. Создавая ощущение, подобное обращению в суд арендодателей и арендаторов без соответствующих знаний, поддержки и / или представительства, мы можем предположить, что это часть той же системы. Есть понимание, что суды не для арендаторов. Они являются частью джентрифицированной машины развития, распространяющейся по нашим городам, и городские инструменты не свободны от ее влияния.

Я отправился посмотреть, могу ли я что-нибудь сделать, чтобы это изменить. Я хотел использовать тот же набор данных, который использует город в своем инструменте Атлас, opa_properties_public.csv, и представить его в более демократичной и коллективной манере. Это данные жителей Филадельфии, а не просто следы, оставленные землевладельцами. Поскольку кризис выселения может соперничать с ткацкими станциями Великой депрессии, нам необходимо быстро создать инструменты, которые не позволят землевладельцам скрываться в беспорядочных и неточных данных, и раскрыть все, что у них есть, чтобы дать арендаторам и их защитникам шанс на борьбу.

Источник данных и описание

Несколько месяцев назад я собирался начать последний кооперативный модуль в моем обучении в Университете Дрекселя. Тем не менее, когда COVID-19 отключил все, мой совместный режим был отменен. Не имея возможности найти замену кооперативу и не имея права пройти полный курс занятий, я решил, что мне нужно что-то сделать, чтобы компенсировать опыт разработки, который я получил бы от моего последнего кооператива. Благодаря моей организации с Союзом арендаторов Филадельфии я знал, что у города есть много данных, которые можно использовать для арендаторов в нашем союзе и арендаторов, которых мы защищаем.

Open Data Philly содержит каталог наборов данных, доступных в регионе Филадельфия, если быть точным, 379 наборов данных. Я быстро просмотрел их каталог, чтобы найти данные оценки собственности города, которые использует инструмент Атлас. Этот набор данных был создан в 2015 году и содержит сотни тысяч объектов недвижимости, но как они распределяются между владельцами в Филадельфии? Из 581 456 объектов в наборе только 429 983 уникальных объекта-собственника.

Распределение домовладельцев, владеющих тем или иным количеством объектов недвижимости, достаточно интересно. В Гистограмме 1 я построил гистограмму этого распределения. Гистограмма откладывается по оси Y, чтобы лучше визуализировать данные. Тем не менее, ось x здесь может показаться более интересной. Промежутки между полосами расположены на правом хвосте, показывая, как быстро увеличивается разрыв в уровне благосостояния.

Сначала я был удивлен, насколько сильно это было слева, указывая на то, что большинству объектов-владельцев в этом наборе данных принадлежит только одно свойство, но это имеет смысл. Из опыта индивидуального изучения того, кто владеет недвижимостью в городе, я могу утверждать, что это распределение сильно отслеживается из-за количества компаний с сомнительными названиями, LLC и партнерств, которые существуют исключительно для того, чтобы владеть этой недвижимостью. Также справедливо предположить, что большинство людей не владеют большими объемами собственности, CNBC утверждает, что большинству принадлежит от 1 до 10 объектов собственности, что описывает эта гистограмма.

Начиная с Python

Чтобы начать интерпретацию этого набора данных, мне нужно было начать с сортировки и поиска данных. Я решил использовать Python 3, язык, который, как я знаю, может обрабатывать более 500 000 записей в наборе данных, и приступил к работе. Первое, что я хотел узнать:

· Сколько уникальных объектов-владельцев в этом наборе?

· Каким количеством объектов собственности они владеют?

· Как выглядит этот дистрибутив?

Разбив это на более мелкие шаги, я начал работу над созданием объекта, который содержал бы каждую сущность-владелец только один раз. Если они появлялись более одного раза, мне нужно было обновить счетчик для этого объекта-владельца. Эти шаги переведены в следующий код Python 3.

Понимая, что существует нетривиальное количество владельцев сущностей и желая использовать эти данные для веб-приложения, я понял, что мне нужно разбить данные на части. Я пошел для этого, написав функцию, которая устанавливает нижний предел для того, что я считал значительными арендодателями.

Я также написал функции для компиляции объектов JSON только домовладельцев и свойств из исходного файла CSV.

На этом этапе я начал думать о том, как мне нужно будет структурировать эти данные, чтобы использовать их в интерфейсе React.JS. Я остановился на создании объекта, который будет систематизировать данные по арендодателям и подструктурам для информации о собственности. На этот код сильно влияет то, как я представляю данные во внешнем интерфейсе. Тем не менее, этот код должен отражать общую суть его структуры.

Если вы хотите более подробно изучить мою обработку данных или разветвить ее, вот репозиторий GitHub.

Создание Node / Express API

После обработки данных и создания файлов JSON, разделяющих набор данных, я приступил к работе. Я начал создавать сервер node.js, который использовал Express для создания конечных точек API. (если вам нужна дополнительная информация, нажмите здесь). Признавая, что перечисление более 400 000 объектов-владельцев приведет к сбою или чрезвычайно замедлению работы браузера, я создал конечные точки для разных файлов JSON.

Чтобы ограничить рендеринг всего количества объектов-владельцев, я создал конечную точку, которая обслуживает только крупных арендодателей.

Затем я написал конечную точку, которая прослушивает конкретного арендодателя, находит его в более крупном наборе данных и возвращает объект, содержащий данные только о запрашиваемом арендодателе.

Ради длины и представления я сократил количество кода, необходимого для запуска узла / экспресс-сервера. Если вы хотите увидеть код сервера целиком, вот репозиторий GitHub.

Создание веб-интерфейса React.JS

Создание интерфейса React.JS стало естественным продолжением этого проекта. Я учился и становился все лучше в написании приложений React в последние несколько лет после того, как меня запустили мои первые два кооператива Drexel. Я понимаю, что это не руководство по программированию, поэтому я буду описывать и объяснять экраны, появившиеся в результате этого проекта. Если вам интересно, как выглядит мой код, вы можете посмотреть его здесь.

Чтобы визуализировать свойства объектов-владельцев, я поискал библиотеку карт для React и остановился на react-map-gl. Эта библиотека позволила мне использовать карты MapBox - настраиваемый интерфейс карты, созданный Uber. Используя маркеры из Font Awesome, я начал наносить данные о собственности на карту.

Участие в планировании отдельных участков было не лучшим решением для более крупных компаний-собственников, особенно для Жилищного управления Филадельфии, которое владеет более чем 4000 объектами недвижимости. Я подумал, что мне придется использовать алгоритм кластеризации, чтобы решить проблему медленного рендеринга маркеров. К счастью, MapBox уже нашел время, чтобы разработать это для react-map-gl. Кто-то другой разработал библиотеку для использования этого с React Hooks. Эти две библиотеки, соответственно, суперкластер и use-supercluster. После отличного урока о том, как использовать все это вместе, я создал экран, показанный ниже.

Кластеризация позволила мне поместить больше информации в маркеры на карте. Каждый маркер содержит информацию об собственности, такую ​​как почтовый адрес, категория, совладелец, дата записи, дата продажи, цена продажи и год постройки . Предоставление этой информации на карте позволяет пользователям понять, что происходит в районе, и как лучше всего решать проблемы арендаторов в отношении конкретного объекта-собственника.

Выбор арендодателя в правой части экрана менее впечатляющий. В настоящий момент я показываю только те сущности, которым принадлежит более пятидесяти свойств. В основном это связано с тем, сколько времени требуется для отображения длинных списков в браузере, и я активно ищу решение.

Эволюция проекта

Я только начал поверхностно понимать, что арендатор или защитник арендатора может найти в различных представлениях данных оценки собственности в Филадельфии. Я вёл постоянный список того, что, по моему мнению, может быть полезно или интересно увидеть в дальнейшем развитии.

1. Маркеры с цветным покрытием, которые показывают, когда были построены объекты, и ключ для описания каждого временного отрезка.

2. Дополнительные статистические данные о владельцах, например, средний возраст собственности и средний год продажи.

3. Перекрестные ссылки на данные PPP. (Программа защиты заработной платы)

4. Перекрестные ссылки на данные о выселении в Филадельфии.

5. Упакуйте этот проект таким образом, чтобы другие города могли начать визуализировать свои данные так, чтобы это работало для них.

Вывод

В мире технологий люди начинают или создают проекты, которые сначала кажутся полезными, но в конечном итоге не так полезны или излишни. Я надеюсь, что филли-арендодатель-сподвижник не попадает ни в одну из этих категорий. Вскоре огромное количество людей, в том числе семьи, будут законно выселены из своих домов, и в большинстве случаев им некуда будет деваться. Убежища либо переполнены, либо разорены COVID-19, и это недопустимо. Каждый заслуживает безопасного места, чтобы позвонить домой, если у него в настоящее время его нет, им нужно предоставить его, а если он есть, они должны оставаться там. Более чем когда-либо арендаторам необходимо объединяться, чтобы создавать союзы арендаторов или вступать в них, чтобы укрепить власть арендаторов и обеспечить защиту от выселения сообщества.

Если вы находитесь в Филадельфии, я настоятельно рекомендую вступить в Союз арендаторов Филадельфии. PTU борется и защищает арендаторов в Филадельфии, включая защиту от выселения. Если вы в чем-то нуждаетесь, не стесняйтесь обращаться к ним!

За пределами Филадельфии существует сеть союзов арендаторов, метко названная Сеть автономных союзов арендаторов. Они смогут указать вам правильное направление и иметь список городов, в которых они работают с союзами арендаторов.

Для всех, кто больше интересуется аспектом программирования этого проекта, есть идеи, которые вписываются в рамки этого проекта, или если вы просто хотите поговорить об этом, мой адрес электронной почты - [email protected].

В противном случае загляните на мой Github и подпишитесь на меня в Twitter: @ n_cote3.